运维知识体系
基础设施层
公有云,私有云(OpenStack/cloudstack + KVM/XEN,oVirt), 混合云
服务监控
配置管理
硬件选型、配件更换、资产录入、系统安装(Cobbler)、标签化、Raid构建、远程控制(KVM,iDrac,ILO,IMM)
巡检,IPMI
IPMI, CMDB
需求分析,IDC选型,网络测试,谈价格,签合同,设备采购(原厂vs渠道)、机柜和机位规划
巡检,IPMI
IPMI, CMDB
数据中心选址、制冷、供电、网络、运维
风或水电
基础设施监控
操作系统层
CPU运行级别,使用率,上下文切换,运行队列,进程调度,系统调用、CPU管理(进程管理,taskset,intel vt-x)
mpstat,strace
虚拟内存,swap换入换出,内存寻址,内存管理(Buffer Cache, HugePages, ksmd, EPT)
vmstat,free
缺页中断,IOPS(顺序IO,随机IO),IO管理(IO调度算法,virtio),VFS
iostat,iotop
TCP/IP(三次握手,四次挥手,状态转换,TCP队列),IO模型, Bonding, Bridge, 网络管理(iftop, tcpdump)
iftop
内核定制、内存参数优化、脚本编程(awk, sed, shell, python, php, perl, ruby, lua)
系统监控
容器层
Mesos(Marathon, Chronos)、Kubernetes、Docker Swarm、Rancher、CoreOS(fleet)、OpenStack(Magnum)
Docker Stats, cAdvisor, DataDog, Zabbix
Docker Swarm, Mesos, Kubernetes
容器(LXC, LXD, Docker, rkt) 系统(CoreOS, Atomic, RancherOS)
网络:(Calico , Flanel, Weave Net) 存储(Ceph) 镜像管理(Docker Registry, Harbor)
基础服务层
灰度发布、服务降级、异地灾备、数据分析平台、智能扩容决策树(需要各层支持)、智能监控
zabbix, nagios,cacti, open-falcon, Sensu
Puppet, Chef, SaltStack, Ansible
日志服务,操作审计,资源编排,运维监控服务,持续交付系统
项目管理(Redmine、Jira、知识库、Bugzilla、CodeReview)、工单系统、运维操作平台、监控平台
持续集成、日志收集平台(ELKStack)、自动化部署平台、Job管理(调度)平台、安全扫描平台
LDAP、内部DNS、DHCP、Mail、SMS、Gitlab、Yum仓库、操作审计(xenapp)、堡垒机
存储层
单机存储-----块存储 - 机械硬盘、SSD、文件系统(ext4、xfs)、LVM、tmpfs
单机存储扩展-----文件分发(多级分发)、文件同步(rsync、inotify)、DRBD、DAS(块存储)
共享存储-----文件存储 - NAS[NFS(Unix/Linux)]、FTP、SAN、iSCSI
分布式存储-----对象存储 - GlusterFS、MooseFS、Ceph、FastDFS(非对象存储)
监控体系:系统监控,软件自带监控
自动化/DevOps:配置管理
云计算:云硬盘,对象存储
数据访问层:应用层分片,淘宝TDDL,开源360(Atlas),阿里(Cobar), MyCat, MySQL-Proxy, 根据业务开发
监控体系同上
自动化/DevOps同上
云计算:数据库服务
分布式缓存----Memcached、Redis(客户端分片、Redis Cluster、Twemproxy、Codis)
NoSQL----Redis、LevelDB(SSDB)、CouchDB、Mongodb、Couchbase 、Cassandra、TiDB(支持MySQL协议)
时间序列----RRDTool、Graphite Whisper、OpenTSDB、InfluxDB、KairosDB、ElasticSearch、Hbase
RDBMS----MySQL(PXC集群、MHA)、Oracle(DG、OGG、RAC)、PostgreSQL、SqlServer、SQLite、DB2
监控体系:数据库监控
自动化/DevOps:数据库运维平台
云计算:云数据库-RDS, Mongodb, Redis, Memcached, OceanBase
大数据----Hadoop生态圈(HDFS、Hive、Hbase、Zookeeper、Pig、Spark、Impala、Kudu)、Mahout智能推荐
监控体系:服务监控
自动化/DevOps:Ambari, CM
云计算:大数据服务
应用服务层
HTTP协议、Web服务器(Apache、Nginx/OpenResty、Tomcat、Resin、Jboss)安全设置、性能优化
监控体系:业务监控(API),流量分析(Piwik),服务监控(API),安全监控(WAF)
自动化/DevOps:
配置管理-SaltStack
过载保护-服务降级
灰度发布-openresty
项目管理-Readmine
代码仓库-gitlab
持续集成-Jenkins
持续审查-SonarQube
云计算:镜像市场
运行环境(PHP Python Java C C++)、性能优化、缓存(OPCache、LocalCache)、Session存储、代码部署
云计算:各种SAAS服务
业务实现-API网关、302调度、业务模块化(电商例:用户、商品、购物车、结算中心、价格等服务)、微服务
对应云计算的各种SAAS服务
服务层-SOA框架(Dubbo)、微服务框架(istio、Spring Cloud)、协议(RPC、RESTful)、框架安全、应用性能监控
对应云计算的分布式应用服务
消息队列- ActiveMQ(成熟)、RabbitMQ(成熟、案例多)、RocketMQ(业务应用)、Kafka(日志传输)、ZeroMQ(快)
云计算:消息队列服务
接入层
四层负载均衡
开源:LVS(IP负载均衡)+Keepalived、Haproxy 商业:F5、Netscaler
七层负载均衡
反向代理:Haproxy、Nginx、Apache(根据HTTP协议支持的属性进行L7分发)、A/B Test Gateway、WAF
监控体系:服务监控(API)
自动化/DevOps:平台开发(LBaas)
云计算: 高防IP,云负载均衡SLB,CDN服务
ATS、Squid、Varnish、Nginx(缓存分级、预缓存、缓存刷新)
网络层
多机房互联(VPN,专线),异地灾备-->异地多活-->按SET部署
监控体系:设备监控(zabbix snmp) 网络质量监控(Smokeping)
自动化/DevOps:SDN , OpenvSwitch(GRE、Vxlan)
云计算:高速通道
防火墙、路由器、Ipsec VPN、链路负载均衡和高可用 (CCNP级别)
云计算:VPC(专有网络)
三层交换 动态路由(OSPF)、静态路由、EC(端口汇聚)、MSTP+VRRP等 (CCNP级别)
云计算:VPC(专有网络)
二层交换 (VTP、SPF、Trunk、端口安全)等 (CCNA级别)
云计算:VPC(专有网络)
外部层
GSLB、反向代理缓存、分布式存储、流量调度、配置管理、用户端(各类API如:带宽监控、预缓存、缓存刷新)
监控体系:舆论监控,外部网络监控,APM
自动化/DevOps:基于开放API开发
云计算:DNS服务,CDN服务,移动服务,云盾
第三方安全解决方案(防DDOS、防CC攻击、WAF等)
客户端层
Cookie作用域、浏览器缓存协商(Last-Modified、Expires、Etag)、组件分离、前端优化、运维检测工具
浏览器DNS缓存、DNS缓存、自建DNS服务器、商业DNS产品、智能DNS、公共DNS(BGP anycast)、bind+DLZ/DPDK
HTTP-DNS、打点日志、加密传输、移动推送、各类SDK(监控SDK、推流SDK等)
监控体系:舆论监控,外部网络监控,APM
自动化/DevOps:基于开放API开发
云计算:DNS服务,CDN服务,移动服务,云盾
运维产品化
项目管理(类似Jira)
Bug管理
代码托管(类似Github)
持续交付(类似Jenkins的构建、测试、部署)
监控平台,看板
软件定义数据中心
DevOps产品
CMDB
ITSM管理系统(事件管理,问题管理,故障管理,工单系统)
作业平台
堡垒机
APM
私有云平台
监控平台
CI/CD系统
运维管理产品
运维管理体系
ITSM
ITIL V3
IT Service CMM
Six Sigma
DevOps Master
项目管理(PMBok)
运维协助
性能测试(TCPCopy,日志转换)
单机监控(nmon)
环境规划(开发,测试,预生产,生产)
CI(持续集成)自动化部署
Operations as a Service
运维咨询
运维托管
技术培训
应急处理
产品即服务
DevOps专家服务
自动化发展趋势
个人发展趋势
参考: 运维知识体系
注意下,终极目标不是自动化,终极目标是智能化运维,哈哈哈
现在我已经不唯技术论了,哈哈。
站在个人的角度,搞这些的动力有两个。一个是提高薪资水平,另一个是想更省心一点,多点时间摸鱼。如果薪水已经到达天花板,基础架构弄的再好,在健壮也不会给你加薪,那就没有必要了。另一方面领导看你没啥事,会给你安排其他工作,或者直接开掉你。
站在公司的角度,是为了节省成本,你的薪水就是成本。你搞的这些,自动化也好,智能化也要。首先要投入成本和资源,而最终目标,不是开掉同事,就是开掉自己。如果整个流程非常健壮,那就全部开掉。换一批薪资低的,做基础维护就好了。
所以说,没有最好,只有合适。
确实,兔死狗烹 鸟尽弓藏,多学习是没错的
有个开发请加一下QQ 562211253