超人禀赋,浅谈Google的自动化运维和DevOps探秘
2017-04-26 阅读 1513

       作为传统运维的践行者与ITIL理论的布道者,笔者这10年以来一直坚定的推动ITIL理论和实战运维模板在中国的落地。可以很自信的说,之前总结的来自国有五大行、中国电信和中国政府信息中心的实用模板适用于中国80%的传统企业。然而,另20%的互联网企业或创新型企业又是如何做运维的呢?身在传统围城的我们未免存在“方鸿渐”对“唐小姐”的爱之深而恨之切。

    

       在当今之互联网公司,可以称得上翘楚的有谷歌(Google)、亚马逊(Amazon)、苹果(Apple)和Facebook等,其中最为耀眼的明星非Google莫属,因其正在维护一个世界规模最大的颇为强健的分布式系统而备受IT届瞩目,其分布式基础架构已经达到几百万台服务器的稳定分布式架构


      Google在自动化运维方面有何有过人的禀赋,我们且从如下“探针”来试图“横看成岭侧成峰”。

    

      1、Google建立独树一帜的运维体系,称为SRE(Site Reliability Engineering)。Google运维团队的高级副总裁Ben是SRE模式的发明人,由此可见SRE具有天生的贵族血统;

      2、SRE团队目前有上千人,维护很多我们耳熟能详的互联网产品,其中包括Gmail、Web搜索服务和全球存储服务等。SRE非常关注系统的可靠性,SRE中的R就是Reliability的英文缩写

      3、SRE团队的总体职责是可用性改造(可用性管理)、延迟优化(精益思想)、性能优化和容量规划(容量管理)、效率优化(持续改进)、变更管理、监控(事态管理)和紧急事务处理(事件管理)

      4、Google内部也存在关于IT治理的完善规范和准则,涵盖跨部门的沟通准则和行事规范等诸多内容。Google的较好实践打破了互联网无制度的谎言

      5、SRE部门在Google真正落实了DevOps,并成为DevOps实施的经典范例。关于DevOps的介绍,可以移步另一篇文章:“那些年,我们对DevOps的认知升级,也是信息科技产业的升级过程!”;

      6、SRE工程师深度参与到Google很多分布式系统(如Gmail)的开发阶段的工作。SRE工程师在系统的设计评审中会认真推演各种灾难场景,考虑各种非功能性需求实现的可能。非功能需求可以是安全、灾备、可用性和系统易用性等诸多方面;

      7、SRE工程师在日常的运维例会中会讨论如何消除和防范事故的可能性,通过优化各种警报策略并增强自动化功能来有效辅助高效的运维管理。其自身也需开发很多能够支持到自动化运维的工具和脚本。通过工具和脚本自动处理和解决运维过程中突发的任何故障和问题;

      8、SRE工程师同样会精心维护团队的各种文档和项目源代码,互联网公司的配置管理系统、知识管理系统和组织过程资产也一样不会少;

      9、Google将SRE团队的运维工作严格限制在50%警戒线上,他们的另50%的工作量会投入到研发项目上。如果发现某个阶段运维压力过大,会将开发团队成员加入到轮值on-call体系中共同承担轮值运维压力;

     10、Google的很多运维准则是值得我们借鉴的。比如在8~12小时的On-call轮值期间最多只处理两个紧急事件。保持紧急事件过程处理的质量和事后的有效总结。


本文出自东方瑞通刘通老师,转载请注明!

更多行业干货、技术文章,请关注公众号:东方瑞通终身学习~