运维知识体系
【运维知识体系】-v3.1 |
||||||
运维架构层级/运维角度 |
内容描述/主要技术关键词 |
监控体系 |
自动化/DevOps |
云计算 |
||
客户端层 |
浏览器 |
Cookie作用域、浏览器缓存协商(Last-Modified、Expires、Etag)、组件分离、前端优化、运维检测工具 |
|
故障检测工具 |
DNS服务 |
|
DNS |
浏览器DNS缓存、DNS缓存、自建DNS服务器、商业DNS产品、智能DNS、公共DNS(BGP anycast)、bind+DLZ/DPDK |
|||||
客户端/APP |
HTTP-DNS、打点日志、加密传输、移动推送、各类SDK(监控SDK、推流SDK等) |
|||||
外部层 |
外部CDN |
GSLB、反向代理缓存、分布式存储、流量调度、配置管理、用户端(各类API如:带宽监控、预缓存、缓存刷新) |
基于开放API开发 |
|||
外部安全防护 |
第三方安全解决方案(防DDOS、防CC攻击、WAF等) |
|||||
网络层 |
互联层 |
多机房互联(VPN、专线)、异地灾备-->异地多活-->按SET部署 |
设备监控 |
SDN (GRE、Vxlan) |
高速通道 |
|
核心层 |
防火墙、路由器、Ipsec VPN、链路负载均衡和高可用 (CCNP级别) |
VPC(专有网络) |
||||
汇聚层 |
三层交换 动态路由(OSPF)、静态路由、EC(端口汇聚)、MSTP+VRRP等 (CCNP级别) |
|||||
接入层 |
二层交换 (VTP、SPF、Trunk、端口安全)等 (CCNA级别) |
|||||
接入层 |
负载均衡 |
四层负载均衡 |
开源:LVS(IP负载均衡)+Keepalived、Haproxy 商业:F5、Netscaler |
服务监控(API) |
平台开发 |
高防IP |
七层负载均衡 |
反向代理:Haproxy、Nginx、Apache(根据HTTP协议支持的属性进行L7分发)、A/B Test Gateway、WAF |
|||||
反向代理缓存 |
ATS、Squid、Varnish、Nginx(缓存分级、预缓存、缓存刷新) |
|||||
应用服务层 |
Web服务层 |
HTTP协议、Web服务器(Apache、Nginx/OpenResty、Tomcat、Resin、Jboss)安全设置、性能优化 |
业务监控(API) 流量分析(Piwik) 服务监控(API) 安全监控(WAF) |
配置管理:SaltStack |
镜像市场 |
|
应用服务层 |
运行环境(PHP Python Java C C++)、性能优化、缓存(OPCache、LocalCache)、Session存储、代码部署 |
各种SAAS服务 |
||||
业务层 |
业务实现 |
API网关、302调度、业务模块化(电商例:用户、商品、购物车、结算中心、价格等服务)、微服务 |
||||
服务层 |
SOA框架(Dubbo)、微服务框架(istio、Spring Cloud)、协议(RPC、RESTful)、框架安全、应用性能监控 |
分布式应用服务 |
||||
分布式层 |
消息队列 |
ActiveMQ(成熟)、RabbitMQ(成熟、案例多)、RocketMQ(业务应用)、Kafka(日志传输)、ZeroMQ(快) |
消息队列服务 |
|||
存储层 |
文件存储 |
单机存储 |
块存储 - 机械硬盘、SSD、文件系统(ext4、xfs)、LVM、tmpfs |
系统监控 |
配置管理 |
云硬盘 对象存储 |
单机存储扩展 |
文件分发(多级分发)、文件同步(rsync、inotify)、DRBD、DAS(块存储) |
|||||
共享存储 |
文件存储 - NAS[NFS(Unix/Linux)]、FTP、SAN、iSCSI |
|||||
分布式存储 |
对象存储 - GlusterFS、MooseFS、Ceph、FastDFS(非对象存储) |
|||||
DAL |
数据访问层 |
应用层分片、淘宝TDDL、开源:360(Atlas)、阿里(Cobar)、MyCat、MySQL-Proxy、根据业务开发 |
数据库服务 |
|||
数据存储 |
分布式缓存 |
Memcached、Redis(客户端分片、Redis Cluster、Twemproxy、Codis) |
数据库监控 |
数据库运维平台 |
云数据库-RDS |
|
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 |
|||||
大数据 |
Hadoop生态圈(HDFS、Hive、Hbase、Zookeeper、Pig、Spark、Impala、Kudu)、Mahout智能推荐 |
服务监控 |
Ambari、CM |
大数据服务 |
||
基础服务层 |
业务决策 |
灰度发布、服务降级、异地灾备、数据分析平台、智能扩容决策树(需要各层支持)、智能监控 |
监控工具: Zabbix Nagios |
自动化工具 |
日志服务 |
|
运维相关 |
项目管理(Redmine、Jira、知识库、Bugzilla、CodeReview)、工单系统、运维操作平台、监控平台 |
|||||
应用相关 |
持续集成、日志收集平台(ELKStack)、自动化部署平台、Job管理(调度)平台、安全扫描平台 |
|||||
系统相关 |
LDAP、内部DNS、DHCP、Mail、SMS、Gitlab、Yum仓库、操作审计(xenapp)、堡垒机 |
|||||
容器层 |
容器编排 |
Mesos(Marathon、Chronos)、Kubernetes、Docker Swarm、Rancher、CoreOS(fleet)、OpenStack(Magnum) |
Docker Stats |
Docker Swarm |
容器服务 |
|
容器和系统 |
容器:LXC、LXD、Docker、rkt、系统:CoreOS、Atomic、RancherOS |
|||||
网络和存储 |
网络:Calico、Flanel、Weave Net 存储:Ceph 镜像管理:Docker Registry、Harbor |
|||||
操作系统层 |
CPU |
CPU运行级别、使用率、上下文切换、运行队列、进程调度、系统调用、CPU管理(进程管理、taskset、intel VT-X) |
mpstat、strace |
虚拟化 |
公有云
弹性计算产品 |
|
内存 |
虚拟内存、SWAP换入换出、内存寻址、内存管理(Buffer Cache、HugePages、ksmd、EPT) |
vmstat、free |
||||
I/O(磁盘) |
缺页中断、IOPS(顺序IO、随机IO)、IO管理(IO调度算法、virtio)、VFS |
iostat、iotop |
||||
I/O(网络) |
TCP/IP(三次握手、四次挥手、状态转换、TCP队列)、IO模型、Bonding、Bridge、网络管理(iftop、tcpdump) |
iftop |
||||
内核/Shell |
内核定制、内存参数优化、脚本编程(AWK、Sed、Shell、Python、PHP、Perl、Ruby、Lua) |
系统监控 |
||||
基础设施层 |
IAAS(基础设施即服务) |
公有云、私有云(OpenStack/cloudstack+KVM/XEN、oVirt)、混合云 |
服务监控 |
配置管理 |
||
硬件管理 |
硬件选型、配件更换、资产录入、系统安装(Cobbler)、标签化、Raid构建、远程控制(KVM、iDrac、ILO、IMM) |
巡检、IPMI |
IPMI、CMDB |
|||
IDC托管 |
需求分析、IDC选型、网络测试、谈价格、签合同、设备采购(原厂vs渠道)、机柜和机位规划 |
|||||
|
数据中心 |
数据中心选址、制冷、供电、网络、运维 |
风火水电 |
基础设施监控 |
无 |
|
运维产品化 |
基于DevOps产品思路 |
项目管理(类似Jira)、Bug管理、代码托管(类似Gitlab)、持续交付(类似Jenkins的构建、测试、部署) |
监控平台、看板 |
软件定义数据中心 |
DevOps产品 |
|
自动化运维产品思路 |
CMDB、ITSM管理系统(事件管理、问题管理、故障管理、工单系统)、作业平台、堡垒机、APM、私有云平台 |
监控平台 |
CI/CD系统 |
运维管理产品 |
||
运维服务化 |
OAAS |
OAAS:Operations as a Service,运维咨询、运维托管、技术培训、应急处理、产品即服务、DevOps专家服务 |
||||
测试和开发相关 |
运维协助:性能测试(TCPCopy、日志转换)、单机监控(nmon)、环境规划(开发、测试、预生产、生产)、CI(持续集成)、自动化部署 |
|||||
运维管理体系 |
运维管理必会:ITSM、ITIL V3、IT Service CMM、Six Sigma、DevOps Master、项目管理(PMBok)、架构层面(知识体系、运维方案、容量规划、灾备规划、服务降级) |
|||||
运维发展趋势(个人理解) |
打杂(小公司啥都干)->分层(应用运维、系统运维、基础运维、运维开发等)->场景化(分业务)->自动化(最终大家的目标都是自动化) |
|||||
运维自动化发展趋势(个人理解) |
标准化(文档化、流程化)->工具化(流程固化为工具)->Web化(平台化)->服务化(API化)->智能化(自动化)->产品化(服务化,云服务、运维创业) |
|||||
备注: |
1.本表格只体现和运维相关的内容;2.表格没有严格意义上的层级关系;3.持续更新中,由于每个层次内容多,只例举比较出名(重要/开源)的关键词;4.运维人员要给自己划好知识边界!(横向|纵向) |