解读2015之运维篇:变化、发展、涨姿势

jopen 3年前

编者按

2015年,整个IT技术领域发生了许多深刻而又复杂的变化,InfoQ策划了“解读2015”年终技术盘点系列文章,希望能够给读者清晰地梳理出技术领域在这一年的发展变化,回顾过去,继续前行。

本文为“解读2015之运维篇”。2015年虽不是运维发展最快的一年,却是运维变化最大的一年。前一年大家普遍认为云计算是运维的救命稻草,而2015年的多次“灾难”让人警醒。越来越多的企业开始对运维更加重视了,大力提倡自动化运维,围绕 “自动化运维”相关的探讨也越来越频繁,在一次又一次的思想碰撞中擦出火花,并实施落地。与此同时,无论是使用开源软件的数量还是采用开源软件的企业都在持续增长。许多公司对自己的一些软件进行了开源,其中包括Google、非死book、微软和IBM等。企业用户以前所未有的速度拥抱开源,很多优秀人才也投身其中,开源不再可有可无。除此之外,运维基础系统的更新迭代也不容小觑。还有哪些涨姿势?我们一起来盘点。

运维的多事之秋

[2015.5.27]支付宝因杭州机房网络光纤被挖,导致数小时部分用户业务不可用

[2015.5.28]携程网瘫痪事件,全网业务中断12小时

[2015.6.1]UPYUN连续遭遇两次大规模流量攻击,影响业务6小时

[2015.6.6]QingCloud因雷暴引起的广东1区IDC电力故障,业务中断2小时

[2015.6.6]LeanCloud 多项服务发生中断,持续4小时

[2015.6.15]知乎机房故障,影响系统使用近2小时

[2015.6.21]阿里云香港节点宕机,业务中断13小时

[2015.6.19]开源中国Git@OSC连续遭受DDoS攻击

[2015.09.01]阿里云升级云盾引入BUG,导致误删用户文件

[2015.09.22]七牛云存储服务故障,业务中断83分钟

……

通过这些不完全统计,可以看出云故障是比较多的,在出现故障后,虽然公司会有财务及形象上的损失,但是心态一定要好,不能手忙脚乱。沉着应对,高效处理,快速恢复才是运维人员的“正确姿势”。2015年,我们从这些故障中不断地总结,在技术提升的同时,更应该转变的是观念,正视容灾备份的重要性,将风险降到最低。伴随着基础设施的逐步完善,未来这些层面都不再是问题,再者也可以利用工具的优势来解决高用性架构。

运维工具组合的进化

随着云计算和开源的高速发展,大量应用需要横跨不同网络终端,并广泛接入第三方服务,IT系统架构越来越复杂。快速迭代的产品需求和良好的用户体验,需要运维管理者时刻保障核心业务稳定可用,企业运维中的痛点和难点也急需解决。以下运维工具在这一年更加火爆,为企业业务提供强有力支撑:

  • 命令执行与配置管理

    • Ansible
    • SaltStack
    • Puppet
    </li>
  • 持续交付与代码

    • Jenkins
    • 国内Coding.net, GitCafe,Git@OSC的兴起
    • GitLab的进步与稳定
    • </ul> </li>
    • ELK生态的成熟

      • 提供日志收集,分析,和实时搜索,与可视化监控
      • 最近发布2.0大版本
      • </ul> </li>
      • 应用监控
        • APM
        • </ul> </li>
        • 国内开源
          • open-falcon
          • </ul> </li> </ul>

            一套好的运维工具,能够将应用、网络、计算、存储、虚拟化等资源的性能及告警信息综合分析(可视化),通过简洁易懂的界面,直观呈现业务健康水平。当出现故障时,能够先从全部业务的宏观视角,确定关联和影响,再通过智能钻取和故障定位技术,缩小故障定位范围是在计算、应用还是网络,从而明确问题职责,帮助运维和研发准人员确定位业务故障位置。国内的运维人员所需要做的就是利用Django结合开源工具,开发出适合自己业务系统的平台,通过一定的流程控制,将业务紧密贴合,从而逐步达到自动化运维的目的。

            运维基础系统的进化

            企业最重要的是业务系统,所有的工作都是围绕正常开展业务而展开的。而Linux系统更是技术人员最基本的基石。今年4月份Linux4.0发布,这是一个新的里程碑,更新“live patching”(实时补丁)机制,意味着以后为内核打补丁不用重启系统了,增强了系统的高可用性。

            随着容器技术的兴起,许多新的专门运行容器的Linux发行版本也出现了。光版本就迭代了9个,火得不要不要的。这应该是其它开源软件所无法超越的,同时也整合了工具集合:Toolbox,为部署提供便利。不过这也使得原本为Docker做出巨大贡献的CoreOS与Docker分道扬镳,并独立发布了Rocket(rkt),认为Docker已经忘记初心,从而独立出来做一个更纯净的容器。Rocket没有像 Docker那些为企业用户提供的“友好功能”,比如云服务加速工具、集群系统等。反过来说,Rocket 想做的,是一个更纯粹的业界标准。

            运维脚本语言的进化

            提到脚本语言,今年最火的非Python莫属,同时也是Python社区稳定改善的一年。这一年Python2由2.7.9进化到2.7.11,然而2.7版本可以说是非常稳定成熟,用Python之父Guido的话说:“是想不到任何可以加入的新特性,因此不会发布2.8版本”。同时大量重要开源库通过six兼容包来同时支持Python2和3,这让开发者转型Python3变得不再那么遥不可及。Python3在9月份横空出世了3.5版本,正式宣告Python成为一个从语法上原生支持协程的语言,这一特性也吸引着越来越多的开发者迁移到3.5,越来越多的开源库迁移到Python,这个方向的改变是非常明显的。

            除了Python外,Django无疑也是一匹黑马,运维本来跟Web开发没有太多关联,但Django的长足进展,却帮了国内运维一个大忙。在大力提倡运维开发的时代,Django的出现让运维非常快速方便地开发部署自动化工具,极大地释放了运维的生产力。2015年,Django从1.7升级到1.9,支持大量新特性,开发部署越来越简便,而且生态越来越成熟, 2016年即将朝着Django2.0的方向迈进。

            总结

            这一年,在大规模、复杂架构的催生下,运维技术不断变化、发展、涨姿势。自动化运维被推到一个新的高度,给传统企业带来了福音;给基础运维带来了巨大的挑战与机遇;同时也给越来越多的企业带来了新的抉择;开源技术的飞跃、脚本语言的进化等也给运维行业带来了革命性的影响。展望2016年,相信容器技术将持续爆炸式增长,云运维更加简单高效,让我们拭目以待,尽情拥抱他们吧。

            感谢黄丹对本文的审校。

            </div>

            来自: http://www.infoq.com/cn/articles/2015-review-operation