DevOps这个将Development(开发)和Operations(运维)组合的名词,相信对很多开发者来讲并不陌生,可直到今天很多企业并没有很好的实现DevOps,开发和运维之间的悖论也一直存在。
自2013年开始,以Docker为代表的容器技术在全世界范围内迅速发展,容器云也逐渐被广大开发者所熟知。其中以网易蜂巢为代表的容器云服务商开始提供完善的DevOps工具链支持自助运维,最大程度的帮助开发者提升研发效率。那么网易蜂巢是如何平衡开发、运维以及质量保障部门之间的沟通协作的呢?
DevOps离现实还有多远?
一般来说,谈到DevOps首先想到的就是开发效率的提高和成本的节约,至少Puppet实验室给出的数据是:高性能的DevOps组织部署代码经常要比传统组织快30倍。可现实来看,开发团队的要求是不断满足新的客户需求,并快速实现新的功能。而运维最关心的是“稳定压倒一切”,任何差错都有可能对生产环境中的用户造成直接影响。如果不能很好的解决开发和运维之间的问题,无疑将严重影响产品研发的效率。
在DevOps概念出现之前,运维的角色在持续发生改变。从最初负责机房、服务器选型等与业务无关的业务,到IDC、SA、DBA、OP等专业技能的分工,再到平台化和团队化的运维工作,同时运维所提供的基础设施几乎 100% 覆盖到开发的需求,DevOps已经显得十分重要。而随着云服务的出现,不少企业开始采用公有云提供的全套基础设施,运维的形态似乎变得简单起来,由此导致的结果是运维工作变成一个不系统、散乱的状态,让运维的三个重要结果:快速上线、稳定运行、高效资源利用,开始变得不可控。原因在于,相对原始的IaaS服务并没有完善的监控和日志服务,看似解决了运维的问题,也为开发工作带来了这样或那样的问题。在这个背景下,以CaaS著称的容器云应运而生。
当然,DevOps的普及还面临文化上的冲击。早在2013年的时候,InformationWeek就针对DevOps进行了相关调查,结果显示有75%的受访查者知道DevOps,但只有21%已经使用它。这与开发和运维之间的文化隔阂不无关系。也就是说,运维团队必须清除的认识到,如果不能快速把开发成果推倒生产环境,企业就很可能被其他竞争对手超越。而开发团队需要改变的思维是,在开发代码或者更改设置时,还需要考虑对整个系统稳定性和性能的影响。云计算的到来让问题变得不再那么糟糕,开发、运维以及质量保障之间的界限开始变得模糊,可在解放企业生产力的同时,以网易蜂巢为代表的容器云服务商们又该如何从云的角度帮助企业实现DevOps呢?
网易蜂巢集成自助运维工具,打造云时代的DevOps
先来介绍一下网易蜂巢。作为网易云战略的核心产品之一,网易蜂巢是网易杭州研究院基于 Docker技术和Kubernetes研发的容器云服务,具有高可用的数据库和在线存储服务。不同于其他容器云产品,除了自建五星级IDC机房、多线BGP接入、全SSD硬盘等基础资源上的优势,网易蜂巢拥有经验丰富的技术和运维团队,服务了95%的网易系互联网应用。
DocKer的出现解决了开发和测试环境一致性的问题,Kubernetes实现了容器实例的集群管理,
凭借提升可扩展性、提高资源利用率、增强弹性等方面的优势,容器云已然成为DevOps的代名词。而在国内互联网企业中,唯有网易杭州研究院是兼具产品、运营、公共技术平台三重职能,并且拥有产品全面云化的经验。在这一优势下,网易蜂巢根据多年的运维经验集成的两大运维工具,帮助企业用户打造出了容器云时代的DevOps。
首先是完善的性能监控。所谓的性能监控,意在帮助用户监控集群运行状态,发现异常问题,还可以进行数据下钻,快速定位到问题具体发生的位置。不仅拥有数据自动化收集、数据可视化展示等优势,还人性化的加入了自动保存现场数据。除此之外,网易蜂巢的性能监控还具有以下六大功能,包括集群的整体监测、健康状态监测、错误监测、慢响应监测、明细记录和快照、告警通知等。比如说,服务上线后可以通过设定一个告警通知,全天候监测服务的运转情况,而不再需要人工监控。一旦运行出现错误后,会及时通知用户以快速解决问题。此外,还将提供服务性能总览、错误视图、错误详情拓扑图等帮助开发者分析错误的详情和具体原因。而在未来,网易蜂巢还将进行更大程度的数据下钻,提供更加智能、可靠的性能监控服务。
其次,智能化的日志服务。网易蜂巢集成的日志服务用于分布式的收集平台用户的“集群”和“容器”日志信息,进行集中管理,并按需智能化解析用户日志,拆解日志的结构并发现日志特性。在云服务中,日志服务并不罕见,网易蜂巢的优势在于可以集中管理日志,并提供了WEB查询页面,这样用户无需繁琐登录或定位日志文件,可以随时查看所创建的多个集群和容器的日志。另外还提供了强大的自由搜索、过滤功能,以及实时输出、跟踪的功能。比如说日志服务的延迟小于3S,实现了用户日志的实时输出和跟踪。既帮助蜂巢用户简单、方便使用日志数据,发掘日志的价值,也在很大程度上优化了容器云的DevOps。
总的来说,DevOps将为企业和开发者带来三大优势:产品快速推向市场,比如缩短开发周期时间和更高的部署频率;提高质量,比如提高可用性,提高变更成功率,减少故障等等;提高组织的有效性,比如将时间花在价值增加活动中,减少浪费,同时交付更多的价值至客户手中。不管怎样,DevOps已是大势所趋,而网易蜂巢等容器云已是最佳选择。