云原生时代的运维新归宿 - 运维知识体系

Posted 云原生兴趣小组

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生时代的运维新归宿 - 运维知识体系相关的知识,希望对你有一定的参考价值。


从救火背锅到生产力担当,云原生时代的运维新归宿: Code as Infrastructure,  Code as Everthing !



从 2013 年 docker 开源,到 2014 年发布正式版本(1.0),容器技术因为其轻量方式实现了系统级别的隔离特性受到追捧,并且发展迅速。再后来 Google 开源了 Kubernetes 并且和 Linux 基金会合作成立了 CNCF,随着开源社区的不断发展,以 Kubernetes 为核心建立的云原生生态逐步完善。云原生时代的基础设施是以容器技术为基础,以 Kubernetes 为平台的架构。那么云原生架构下运维知识体系是怎样的呢?


云原生平台已经定义了基础设施的标准,未来会有更多运维方面的事实标准落地,DevOps 标准,交付标准,自动化运维标准等等,只有尺度适合的标准才能更好的促进行业内的繁荣。


代码定义一切,GitOps 已经非常流行,相信后面可定义的范围会更广。


人工智能快速发展,AIOps 已经在各大厂商落地,得益于云原生平台,AIOps 将能和更多的特性结合,将来也会更加精确通用。


Serverless 将彻底屏蔽基础设施,运维概念对应用研发透明。


再远一些,立足于云原生平台,随着运维自动化的程度大幅度加强,NoOps 不再是奢望,运维人力会得到很大程度释放。


运维架构层级/运维角度

内容描述/主要技术关键词

监控体系

自动化/DevOps

云计算


客户端层

浏览器

Cookie作用域、浏览器缓存协商(Last-Modified、Expires、Etag)、组件分离、前端优化、运维检测工具

舆论监控

外部网络监控

 APM

故障检测工具

DNS服务

 CDN服务

移动服务

云盾


DNS

浏览器DNS缓存、DNS缓存、自建DNS服务器、商业DNS产品、智能DNS、公共DNS(BGP anycast)、bind+DLZ/DPDK


客户端/APP

HTTP-DNS、打点日志、加密传输、移动推送、各类SDK(监控SDK、推流SDK等)


外部层

第三方CDN

GSLB、反向代理缓存、分布式存储、流量调度、配置管理、用户端(各类API如:带宽监控、预缓存、缓存刷新)

基于开放API开发


云计算

公有云服务、混合云、运维外包服务、APM(应用性能管理)、第三方安全解决方案(防DDOS、WAF)


网络层

互联层

设备监控

(Zabbix SNMP)

网络质量监控

(Smokeping)

SDN

 OpenvSwitch

(GRE、Vxlan)

高速通道


核心层

防火墙、路由器、Ipsec VPN、链路负载均衡和高可用 (CCNP级别)

VPC(专有网络)


汇聚层

三层交换 动态路由(OSPF)、静态路由、EC(端口汇聚)、MSTP+VRRP等 (CCNP级别)


接入层

二层交换 (VTP、SPF、Trunk、端口安全)等 (CCNA级别)


接入层

负载均衡

高可用

四层负载均衡

开源:LVS(IP负载均衡)+Keepalived、Haproxy 商业:F5、Netscaler

服务监控(API)

平台开发

(LBaas)

高防IP

云负载均衡SLB

 CDN服务


七层负载均衡

反向代理: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

过载保护-服务降级

灰度发布-openresty

项目管理-Readmine

代码仓库-gitlab

持续集成-Jenkins

持续审查-SonarQube

镜像市场


应用服务层

运行环境(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

 Mongodb、Redis

 Memcached

 OceanBase


NoSQL

Redis、LevelDB(SSDB)、CouchDB、Mongodb、Couchbase 、Cassandra、TiDB(支持MySQL协议)


时间序列

RRDTool、Graphite

 Whisper、OpenTSDB、InfluxDB、KairosDB、ElasticSearch


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

 Cacti

 Open-Falcon

 Sensu

自动化工具

(Puppet

 Chef

 SaltStack

 Ansible)

日志服务

操作审计

资源编排

运维监控服务

持续交付系统


运维相关

项目管理(Redmine、Jira、知识库、Bugzilla、CodeReview)、工单系统、运维操作平台、监控平台


应用相关

持续集成、日志收集平台(ELKStack)、自动化部署平台、Job管理(调度)平台、安全扫描平台


系统相关

LDAP、内部DNS、DHCP、Mail、SMS、Gitlab、Yum仓库、操作审计(xenapp)、堡垒机


容器层

容器编排

Mesos(Marathon、Chronos)、Kubernetes(SKYDNS)、Docker Swarm、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


操作系统层

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)、架构层面(知识体系、运维方案、容量规划、灾备规划、服务降级)


运维发展趋势

应用运维、系统运维、基础运维、运维开发


云原生架构下运维舞台



备注:

云原生架构下运维人员不要给自己划知识边界!





以上是关于云原生时代的运维新归宿 - 运维知识体系的主要内容,如果未能解决你的问题,请参考以下文章

宕机事件为何频发?云原生时代,需要什么样的运维保障体系?

云原生/容器SRE工程师|小米|云原生招聘

精选案例 |《金融电子化》:光大银行云原生背景下的运维监控体系建设

运维知识体系概括

一文读懂分布式架构知识体系(内含超全核心知识大图)

如何构建完善的运维服务体系