体系|大型互联网系统全生命周期的运维管理——你真的了解SRE?

关于SRE和运维体系的文章很多,但大多数学院风浓厚,本文试着从一个出身运维一线SRE管理者的角度进行总结阐述,给你一份可实操接地气的运维体系,所有感悟来自

在面向大数据结构型、复杂互联网系统的治理时,尤其离不开SRE,当体量上来后,系统的用户量、模块、调用链、指标、主机、域名、4/7层、日志等等都会到一个巨大的级别,甚至还要继续增长,如何保证运维架构的合理、资源和服务管理的有序,如何经营好这些资源,用最低的成本保障好系统的质量、做好Ops,这是一个巨大的挑战,理论上开发只要管好代码,其他之外的事情都应该要SRE承担起来的

很多人对SRE的理解是系统/运维不全面的,停留在对原始运维的认识上,认为运维只是打杂的,是开发的跟班,外加背锅侠,但随着全球大型互联网系统的出现,系统的用户量、资源、技术栈都在成指数级别的增加,带来的是系统运行环境和系统本身复杂程度的骤增,量变产生系统运维工程师质变,以用户稳定性为目标数据恢复软件免费版业务对资源的规划管理周转效率持续集成上线效率质量管linux命令理效率等提出了全新的要求,这也就倒逼了运维在业务、人员素质、技术上的革新,产生了SRE工程师。

可以试着想想,同样是管理服务器,管理1台和管理1万台分布在全球的混合云能是一个样子么?分析1秒/M和1秒/T的实时数据,同样是分析,能是一个样子么?所以说,体量和复杂度上不来,是体现不出技术价值的,因为根本遇到不到瓶颈,同样,SRE就是过来用技术、运营手段linux操作系统基础知识,从稳定性视角给大型互联网在线系统做熵减的。

SRE在国内现在也叫应用运维,是面向用户稳定性的,也就是说对用户linux系统的服务质量负责,这也给了SRE更高的要求,要有全局视角,要对系统的全生命周期进行管理,把质量和成本linux工作做到前面,需要一系列的流程.制度.规范和一系列的工具提高管理、质量、自动化效率,之前总结过一篇《​linux系统​一个优秀的大型调优互联网SRE需要具备哪些能力?​​》,今天来理一下SRE的工作体系,希运维工程师考什么证书望你对SRE有一个全面的认识。

大型互联网系统全生命周期的运维管理

我把大型互联网系统的全数据废土生命周期拆解成了5个阶段,分别是代码编写、资源规划、系统上线、运行保障、系统下线,每个阶段SRE要做的事情做了灰色框框的标注,其中有些SRE和开发的边数据透视表界是存在灰色地带的,怎么分工视具体情况来定,但至少SRE都要参与,最下面支撑层是运维的制度、流程、规范,然后是DevOps运维为什么没人干运维自动化工具,自动化建设可以看博文《​​如运维是什么意思何从零思考设计你的DevOps运维服务体运维是做什么的系?​​》,下面我们来拆开揉碎了说一下。

- 代码编写阶段

代码编写阶段,SRE的主要工作是搭建和维护代码linux是什么操作系统管理系统,为CI/CD做好准备,目前最常用的就是GitLab了。

- 资源规运维人员的出路在哪里划阶运维是做什么的

1、方案评估

  • 根据需运维工作总结求规划系统的基础运维工程师需要掌握什么技能资源,包括机型(或容器规格)、机房、资源数量、存储、4/7层接入数据结构方案、域名证书以及是否用CDN等。

2、资源申请

  • 将评估后的资源各自走审批流程。

3、资源管理

  • 对业务使用的海量主机、容器、域名、证书、LB、CDN、存储、网络、专线等资源进行管理,体量上来后一定要建设CMDB用系统管,各类信息做到数据恢复可快速检索,一般大厂存储、CDN、网络、专线都有专门团linux系统系统运维工作内容负责,SRE只要管好自己业务的使用即可,强调一点,资源一定要制定一套linux操作系统基础知识科学的命名规linux命令则。

4、权限管理

  • 大型系统人多、环境复杂,SRE需要对权限做详细的linux常用命令规划,制定SRE、开发序系统/运维列对应每种资源新手和老工程师的权限规数据结构则,理想情况开发只要管好代码即可任何prod环境操作都只能由SRE处理,开发是不允许有root权限的,开发和测数据试环境视情况处理,所有操作做运维工作总结好审计方案。

5、资源操作

  • 因为linux重启命令面向的是大型互联网系统,要保障对海量资源进行高效批量的操作,就需要借助一些技术工具了,比如主机操作类似ansilbe、saltstack数据漫游是什么意思,为了安全管理也要结合安全跳板机的使用,容器、LB、证书签发等也都有对应的技术方案,这些是需要SRE来Ops的。

-运维工程师有前途吗 系统上线阶段

1、环境规划

  • linux操作系统基础知识个成体系的系统一般会有4套环境:开发linux环境(dev)、数据漫游测试环境(stag)、预发布系统运维工资一般多少环境(prew)、生产环境(prod),环境之间相互独运维人员的出路在哪里立,视情况做网络隔离,我在新浪碰到了几次开发同学把测试环境的数据发布到了生产环境,造数据库成很差的用户体验,所以规划的时候数据漫游是什么意思,低安全等级的网络到高安全等级加墙还是有必要的,SRE提前把环境规划好、上线流程制定好,会减少很多变更类故障

2、环境搭建

  • 主机环境配置,看似有了公有云、容器后,只要把镜像做好,这块工作要简单很运维多,但其实也不然,首先相对云主机而言,物理数据透视表机的性能高成本低运维是什么意思,量能跑起来的前提下用物理机最划算,所以公有云一般作为弹性资源系统运维工资一般多少;二是经过论证,不是所有的服务都适合上容器,所以现实情况还是会有大量的物理机运维,各种装包、配置、内核和系统调优、维修、过保机器替换等,反而是在原来的基础之上增加了打容器镜像的工作,这就是实际情况,环境搭建、系统调优、软件包运维方与学者沟通的途径是升级的工作量还是很大,而且这块工作经常会出数据结构现各种奇葩的事情,特别是搭建GPU机器学习的环境,不是这个库不对那个依赖版本不对的,一搞就是半天,不过从趋势上看这块工作我觉得会linux系统越来越标准化。
  • 接入层配置,包含从域名、证书、解析、负载均衡4/7层、后端这一套配置流程,其中4/7层选择、调度策略、连接系统运维工程师数是否够用等等都是需要根据具体业务情运维工程师考什么证书况制定技术方案。

3、CI/CD

  • 协同开发制定CI/C运维工程师D的技术方案,为Dev提供部署系统(大厂有专门团队研发),制定上线审批流程,按理生产环境linux命令的上系统运维工资一般多少线应由SRE操作,但因为开发和SRE的数量差距大,成长期的系统迭代又快,由谁上线就视情况处理了,我们这处理方式是牵涉到代码变更的上线由开发操作,其余的迁移扩缩容等由SRE处理。

- 运行保障阶段

SRE是质量担当,面向的就是用户稳定性,所以系统运行保障是SRlinux必学的60个命令E工作最重的阶段,也是占用精力、工作量最大的部分,在大型互联网系统的背景下,每一运维为什么没人干块要做深、做透都是一个很大的主题,针对此阶段可以看一下博文《​系统运维工作内容​大型系统的运维数据分析要从哪些方面抓起——全面质量管理​​》,质量越好,意味着故障越少,下面就从故障全生命周期的角度对这块的工作做个梳理。


                                            体系|大型互联网系统全生命周期的运维管理——你真的了解SRE?

1、故障前——目标:运维是做什么的减少问题流入“故障中”系统运维工程师

①变更管控

  • 故障不是无缘无故的就生发了,很多发生在于变化,变运维工作总结化当中很大的一个又是迭代上线,从每linux命令年故障的历史数据看,有很大一部分数据恢复故障都是由于上线变更造成的,所以SRE要严格管控变更,制定各种情况下的流程制度规范,做好质量的运营工作,小米小爱的运营做法可以看博文《​​SRE技术运营之“合linux重启命令规部署打分培训”在小米小爱的尝试​linux删除文件命令​》。

②容量管理

  • 服务的扩缩容会一直持续到产品下线,容量的管理关乎到质量和成本,很多时候对于容量是模糊和缺失的,具体表现就是发生了容量故障、看到了cpu和内存报警了才想到扩linux命令容,公司要优化成本抓机器使用达标率才知道缩容,基本是被动的,而且没有量数据恢复化数据,SRE需要主动的将容量管理起来,容器场景下可能要高效很多,但依旧是需要持续管理、动态规划的。

linux是什么操作系统灾备建设

  • 灾备意味着做多保险,合理的灾备可以保障在故障出现时,快速进行业务切换,保障用户的可用性,所以SRE一定要协同开发对业务做好灾备建设。一运维方与学者沟通的途径是般而言灾备分为热备和冷备,冷备是指准备好资源平时空放,只有故障时才用一下,造成很大的资源浪费,所以一般能做热备的就不做冷备。从内容上讲,SRE要做的数据漫游是什么意思灾备分为接入层灾备、机房灾备、主机灾备、数据灾备,另外灾备和成本是一对矛盾平衡。

④业务巡检

  • 巡检是SR数据废土E一定要重点投入的工作,它的意数据分析义在于发现潜在的问题,将尚未形成故障的问题提前暴露,提前解决。巡检分为对机器业务指标的巡检,机器指标类似CPU、内存、IO、网络等,业务指标类似E运维工程师考什么证书RROR、QPS、时延等等,在做决策时机器和业务指标要结合使用,因为SRE和开发的视角不同,可以各自都做运维工作总结,即使有部分重合,那也没关系,另外巡检一定要根据业务流做到全链路调优的意思是什么、全模块。
  • 机器指标相对容易标准化,我们在AiFault自研了一个插件,效果非常好,业务指标就数据透视表有很多要依靠工程师的经验了,但技术上依旧可以结合基于时间序列的异常检测等新算法来提效。


                                            体系|大型互联网系统全生命周期的运维管理——你真的了解SRE?

⑤活动重保

  • 重大活动的重点保障是SRE没有任何疑义要承担起来的工作,要拉通各个部门,制定详细的重保方案,每次重保要当成一个独立的项目来做,有开始有结束做到闭环,像小米这边产品发布会、linux必学的60个命令米粉节、61数据库8、双十一都是每年要重点保障的活动。

⑥故障演练

  • SRE要牵头主导业务上的故障演练,周期性的针对运维是什么意思各种场景做一下预演,一来检验下系统的真实容灾情况,二来要锻炼一下SRE的预案执行能力,如果有问题就倒逼各方改造,切忌不要数据恢复找存在感,把演练变成真的故障,要提前制定好技术方案,找用户量少的时间段操作。

⑦日志管理

  • 大型系统下的日志是海量的,要在日志标准化的同时,特别注重技术数据恢复软件免费版方案,对日志进行科系统运维工程师学合理的采集、管理、使用,在分工上,像系统、Nginx类的日系统运维工程师志肯定是要SRE处理的,至于代码的埋点日志等看具体情况怎么分工合作,像小米有linux重启命令数据工厂的团队,SRE只要关注怎么使用就可以,不用自己维护、搭建、研发大数据相关的东西。

⑧技术调优

  • SRE是需要参与和主导各种技术调优工作的,要时刻为了自己所管业务的优秀用户体验而努力,我把调优分为系统和架构调优两块,系统linux是什么操作系统调优包括像各种内核参数、各种系统应用的参数优化等等,架构调优更偏业务,像为了保障小爱南方用户的体验,SRE主导了小爱南方用户架构调优,牵头对小爱后端架构进行梳理、分级、结构化,抽象出了语音接入层概念,并与开发同学达成共识,对架构进行了优化改造。

⑨服务管治

  • 我认为,服务是大型互联网场景下SRE的重要管理运维工程师单元,特别是大型系统在微服务的设计理念下,服务众多、开发人员庞大加之人员变动快,如何从运维的准入开始将庞大的服务档案信息管理好,是非常重要而且需要下大功夫的,档案信息包含了该服务的功能简介、负责人、域名、部署情况、机房分布、主机信息、核心监控指标、服务分级等等,对于需要交给SRE运维的服务,由开发人运维方与学者沟通的途径是员提出运维运维工程师需要掌握什么技能准入申请,定义好服务级别(不同的级别代表了不同的SRE参与程度和系统的重要程度),审批通过后按照约定好的SLA进行运维,而SRE需要从服务的维度,将服务相关的信息串联管理了起来,以便遇到问题可以快速的查看使linux命令用。
  • 我们内部在AiFault上做了一个功能插件,叫SMDB(Service Manage运维工程师ment Database),打通了公司的各种系统可以进运维工作总结行档案信息的自动更新,有了这份档案当出现各种情况首先找人查信息很迅速,第二这份档案作为服务的元信息,对外提供调用,作为其他上层应用的基linux重启命令础数据,可以简单看下我们运维工程师团队的数据(刚上线beta版),目前运维有2800+个job,1800+个服务,逻辑上一个服务可能对应多个job(job数据恢复是部署系统任务的概念),数据是非常庞大的,用传统的方式根本就管理不起来也管不好。


                                            体系|大型互联网系统全生命周期的运维管理——你真的了解SRE?

⑩Oncall管理

  • Oncall对于SRE应该都不陌生,linux操作系统基础知识SRE这个工作是下班不下岗的,需要对稳定性做到7*24小时的负责,想要睡个好觉,就得把服务稳定性做上去,否则半系统运维工程师夜或者休息日处理问题,不能怨别人,Oncall分为告警值班和日常工单两部系统运维工程师分,告警值班要遵循“接告运维方与学者沟通的途径是警、助排查、勤通告、做闭环”的原则,日常工单包含了开发和其他各linux是什么操作系统种部门的咨询、业务需求,不限linux必学的60个命令于漏.洞修复、主机迁移、服务升级、网络割接、等保评审等等,这点不多讲。

2、故障中——目标:快速发运维为什么没人干现故障,止损

①监控告警

  • 运维工程师考什么证书控告警是SRE的基础工作,既要提供技术方案又要做好监控告警的配置管调优的意思是什么理。告警作为故障的第一事件,一数据定要围绕3个点准、少、运维工作总结,准是告警的信息准,少是告警的数量少都是收敛后数据恢复的有效告警,快指的是告警的实效性高速度快;告警要根据事件的影响程度分级,告警短信和邮件里尽可能携带更多的判断信息,做的好的甚至可以做一下故障参考预判。大型互联网系统一定要注重「生死告警」的使用。可以看下我们在告警方面AiFault上做告警分析插件。


                                            体系|大型互联网系统全生命周期的运维管理——你真的了解SRE?

②故障定位

  • SRE需要寻找各种办法缩短故障定位SRE做的是宏观定位,能为预案提供决策即可)时间,只有故障快速定位到了,才能为下一步预案执行提供依据,减小故障影响时间。在大型互联网系统下故障定位是最难做的,因为系统运维工资一般多少统模块多、模数据结构块间的关系依赖复杂,故障瞬间大量告警蜂拥而至,要通过现场分析告警、监控系统运维工资一般多少图定位到哪个模块、哪个机房出问题耗费时间运维是做什么的太长了,在这一阶段我们总结的运维最佳实践是建设链路架构监控,链路是表达服务、关系、核心指标最好的技术方案了,例如小爱有400+服务,我们在AiFault上做的链路监控如下,可查看博文《​linux​AiFault之全链路监控在小米小爱的探索实践​​》。


                                            体系|大型互联网系统全生命周期的运维管理——你真的了解SRE?

③预案执行

  • 故障期间,所有前面的工作都是为了这最后一步做准备——预案执行,预案执行才是真正止损恢复数据废土业务的,SRE运维作为Ops是预案的主要执行方,所以1是要将各种场景下的预案尽可能准备好,2是要尽可能依靠工具提高预案的执行效率,预案方面可以查看博文《​​心法|一文吃透linux必学的60个命令SRE故障预运维工程师案6把刀​​》。

3、故障后——目标:消灭同类故障

①故障复盘

  • 故障数据分析管理是整个故障的善后工作,追责任的部分除外,那他的意义就是防止同类故障再次发生。故障复盘一般会以复盘会的方式约所有相关方进行全过程回顾,最后形成的文档运维工程师有前途吗叫“运维是做什么的故障报告”,故障复盘会也是最考验SRE软能力的一个场景,特别是SRE牵头主导组织的,一定要引导大家解决问题,不要变成一场甩锅大会,分析好故障原因,制定好后续的改进措施。

- 系统下线阶段

1、运维工程师有前途吗资源释放

系统下线阶数据恢复软件免费版段的主要工作就是资源释放,不仅仅调优要释放服务器,关联的域名、LB、ACL等等资源要全部释放,干干静静的来、干干静静的去

以上基本就是SRE在产品全生命周期里的工作内容了,期间每个点都可运维是什么意思以结合自动化运维的新技术去做创新数据漫游、提效,在整个产品周期里,SRE需要有质量、成本、运营意识,要有自动化、服务思维,真正把运维的产品作为自己owner的产品去做,写到这里,希望对你有所帮助。


linux重启命令多文章微信搜索 ShiLiangBit 关注【运维网咖社