当前位置:主页 > 服务器配置 >正文

解读《运维知识体系》,直面自动化运维的“灵魂八问”

2021-09-13 35 服务器配置

简介: 阿里云MVP赵舜东带来的运维知识体系解读

赵班长带领大家详细学习运维知识体系,介绍了缓存知识体系,抛出检测公司自动化运维承受度的“灵魂八问”,最后跟大家分享了运维的趋势和挑战。

内含福利 | 阿里云集合各技术领域开发者讨论学习

(因为内容较多,进行了文章删减,阅读全文以及直播回放可以通过点击底部的“了解更多”直接完整浏览)

文章摘自:阿里云开发者社区

以下是精彩直播内容整理:

运维知识体系赵班长从2015年开始写,一直到现在,整个体系是按照HTTP的请求流程,从浏览器发出请求到最后收到响应,所经历的所有技术栈。

运维知识体系可以做什么?

第一,如果你想成为运维架构师,那么你需要掌握运维体系中所有内容;

第二,可以帮助运维朋友划清运维的边界,因为整个运维体系非常大,未来到底朝哪个方向发展?可以根据运维知识体系给自己画一个圈。

运维知识体系

从整体上看,运维知识体系是按照客户端层、外部层、网络层、接入层、应用服务层、存储层、基础服务层、容器层、操作系统层、基础设施层等结构编写,也是作者十年运维工作的总结。

客户端层

对于客户端层中的浏览器层,作为运维要掌握非常多的知识,比如浏览器的缓存协商,其中包括三种不同的缓存协商办法;浏览器还涉及到很多前端相关工作,比如cookie作用域,如何通过使用不同顶级域名来减少静态资源cookie的提交,以及前端性能的优化,比如如何实现Css和js请求合并,把多个请求合并成一个请求,还包括组件分离,如何针对静态资源来做不同的组件分离;浏览器还涉及到运维相关的一些工具,比如出现故障,给用户发送一个页面,通过页面可以做一些正常的路由检测、PING检测和DNS检测,也需要我们掌握HTTP协议相关东西。

浏览器层再往下就是DNS层。DNS需要掌握DNS缓存,比如浏览器DNS缓存,火狐或谷歌浏览器默认是60秒DNS缓存,还涉及到DNS服务器的DNS缓存,以及DNS缓存服务器;DNS还需掌握DNS知识,包括DNS基础知识,比如如何进行递归和迭代的查询,如何自建DNS,以及如何使用公共DNS,如图即是阿里公共DNS,公共DNS都需要什么样的技术等等。

DNS层之后就是客户端/APP层,浏览器是客户端,还有其它C/S结构的客户端及手机APP也作为客户端,在客户端层涉及到客户端的请求与访问,比如HTTP-DNS,即通过HTTP协议进行域名解析,可以解决local DNS不准确或者调度不准确和缓存等问题,客户端/APP还涉及到怎么去传输协议,以及怎么去做加密传输、打点日志和监控SDK;还有业务领域的一些知识,比如客户端/APP如何做消息推送、直播推流等场景。

外部层

一个请求通过客户端层之后就会到外部层,如外部CDN,之前我所在公司使用了公有云服务,有自己的托管机房,外部CDN就需要掌握CDN技术,包括全局负载均衡、反向代理缓存,包括CDN如何做分布式存储、如何做流量调度、配置管理,作为用户来说,我们还需要掌握CDN各类 API的调用,比如我们经常会集成各家CDN,如带宽监控、预缓存和缓存刷新等。

在外部安全防护层面,我们使用第三方安全解决方案,如阿里云的高防IP(防DDOS、防CC攻击、WAF等)。

网络层

在客户端层、外部层之后,请求就会流入网络层,因为我们有多机房建设,包括公有云、私有云。网络层包括由上到下包括互联层、核心层、汇聚层和接入层:

互联层涉及到多机房互联(VPN、专线),现在还有SDY,即软件定义广域网,在互联层层面还涉及到整个架构部署,如异地灾备->异地多活->按SET部署等;核心层有防火墙、路由器、Ipsec VPN、链路负载均衡和高可用(CCNP级别);汇聚层主要是接入层的汇聚,由于之前我们是托管机房,每一个机柜上面都有接入层交换机,所有的接入层交换机都会连接到两个不同的汇聚层交换机上,汇聚层需要掌握CCNP级别的技术,比如三层交换、动态路由(OSPF协议)、静态路由协议、EC(端口汇聚)、MSTP+VRRP等;接入层大概需要掌握CCNA级别知识,包括二层交换(VTP、SPF、Trunk、端口安全)等。

接入层

请求接入网络后,就流到了接入层,接入层有负载均衡设备,负载均衡又分为四层负载均衡和七层负载均衡,四层负载均衡需要掌握LVS(IP负载均衡)+Keepalived、Haproxy,包括一些商业负载均衡:F5、Netscaler;七层负载均衡需要掌握反向代理:Haproxy、Nginx、Apache(根据HTTP协议支持的属性进行L7分发),还可以实现A/B Test Gateway、WAF等功能。

请求继续向下会涉及到反向代理缓存,包括ATS、Squid、Varnish、Nginx(缓存分级、预缓存、缓存刷新),现在反向代理缓存用的比较少了,因为CDN就是一种反向代理缓存。

应用服务层

请求再往下到达应用服务层,应用服务层最上面是web服务层,作为运维,我们要掌握不同的Web服务器(Apache、Nginx/OpenResty、Tomcat、Resin、Jboss)安全设置、性能优化,我们还要精通HTTP协议;

接着是应用服务层,包括不同软件的运行环境(PHP Python Java C C++)、性能优化、缓存(OPCache、LocalCache)、Session存储、代码部署等;

我在这里还划分了业务层,一个不懂业务的运维一定不是一个好运维,做应用运维必须要了解公司业务,不了解公司的运营模式,怎么能够更好的服务于公司业务呢?业务层又分为业务实现层和服务层。业务实现层我们要知道API网关、302调度、业务模块化(电商例:用户、商品、购物车、结算中心、价格等服务)、微服务等,一个电商可能有几十到上百个微服务模块;服务层需要看每家企业不同的微服务框架(istio、Spring Cloud),比如阿里开源的SOA框架(Dubbo),不同微服务框架使用不同的协议,目前主流使用RPC、RESTful等协议,我们还要关注框架安全、应用性能监控。

再往下到分布式层,主要讲分布式消息队列,做电商时严重依赖于消息队列,比如一些高并发或流量削峰场景都会用到,消息队列包括ActiveMQ(成熟)、RabbitMQ(成熟、案例多)、RocketMQ(业务应用)、Kafka(日志传输)、ZeroMQ(快)等。

存储层

存储层分为文件存储层、DAL层和数据存储层。

存储有三种类型,包括块存储、对象存储和文件存储。在这里我们按照独特的方式对文件存储层进行了划分,比如单机存储,机械硬盘、文件系统和LVM都属于块存储。当单机存储无法满足需求时,就需要单机存储扩展,涉及到文件分发、文件同步、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)是我们需要掌握的;NoSQL如Redis、LevelDB(SSDB)、CouchDB、Mongodb、Couchbase 、Cassandra、TiDB(支持MySQL协议);作为运维还要理解时间序列数据库,做监控就特别适合使用时间序列数据库,因为我们采集的所有监控指标就是key、value、时间戳和标签,如RRDTool(还可以做绘图)、Graphite Whisper、OpenTSDB、InfluxDB、KairosDB、ElasticSearch、Hbase;关系型数据库如MySQL(PXC集群、MHA)、Oracle(DG、OGG、RAC)、PostgreSQL、SqlServer、SQLite、DB2;此外,还要涉及大数据的知识,比如Hadoop生态圈(HDFS、Hive、Hbase、Zookeeper、Pig、Spark、Impala、Kudu)、Mahout智能推荐。

到这里,整体架构基本就介绍完毕了,接着我们来看一看跟运维相关的其它层级。

基础服务层

基础服务层又分为以下四点:

业务决策:比如如何做灰度发布、服务降级、异地灾备、数据分析平台、智能扩容决策树(需要各层支持)、智能监控;运维相关:项目管理工具(Redmine、Jira、知识库、Bugzilla、CodeReview)、工单系统、运维操作平台、监控平台;应用相关:如何做持续集成、日志收集平台(ELKStack)、自动化部署平台、Job管理(调度)平台、安全扫描平台;系统相关:如内部的LDAP、内部DNS、DHCP、Mail、SMS、Gitlab、Yum仓库、操作审计(xenapp)、堡垒机。



版权保护: 本文由 定结网站建设资源网 原创,转载请保留链接: http://www.21windows.com/3vDmcSvRgg/16.html

网站主人定结网站建设资源网
简介: 阿里云MVP赵舜东带来的运维知识体系解读。赵班长带领大家详细学习运维知识体系,介绍了缓存知识体系,抛出检测公司自动化运维承受度的“灵魂八问”,最后跟大家分享了运维的趋势和挑战。内含福利 | 阿里云集合各技术领域开发者讨论学习(因为内容较多,进行了文章删减,阅读全文以及直播回放可以通过点击底部的“了解更多”直接完整浏览)文章摘自:阿里云开发者社区以下是精彩直播内容整理:运维知识体系赵班长从2015年开始写,一直到现在,整个体系是按照HTTP的请求流程,从浏览器发出请求
  • 40791文章总数
  • 11756访问次数
  • 建站天数
  • 推荐文章

    热门文章

    标签

    友情链接