简而言之,如果二狗和翠花各自所在团队想要更加地DevOps导向,他们需要更加着眼于"自动化"。
DevOps团队希望能将所有环节自动化,摆脱人工束缚。市面上已经出现相关的产品,比如Daocloud,时速云、灵雀云、caicloud等创业品牌,以及阿里云(容器服务)、网易推出的"蜂巢"等大公司背景产品。在这里,以网易蜂巢为例,看一下其DevOps实践如何从云的角度出发,帮助企业实现自动化:
持续集成与开发:实现从开发测试、上线运维的一体化自动流程。而测试是DevOps中不可或缺的一环,在大规模应用系统中,必须有效地、智能地快速自动运行系统测试。
智能预警:可以帮助用户监控集群运行状态,比如说,服务上线后可以通过设置一个告警通知,全天候监测服务的运转情况,不再需要人工监控。
智能故障定位:在智能预警发现问题之后,可以进行数据下钻,快速定位到问题具体发生的位置,及时通知用户以快速解决问题。此外,网易蜂巢提供服务性能总览、错误视图、错误详情拓扑图等帮助开发者分析错误的详情和具体原因。
由此可见,如果能采用DevOps,公司就能够做更多的创新,缩短开发周期,将产品更加快速地推向市场;同时创造差别化的公司业务和价值,提高组织效率,而不是不停地修补旧问题。通过DevOps,企业拥有了持续开发生产优秀产品的能力,开发者开心,消费者满意。
那么,既然DevOps优势多多,前途大好,具体要怎样才能实现DevOps?
首先,这涉及到观念问题。DevOps的最终目的是加强开发部门和运维部门之间的协作和沟通,如何把现在的文化朝DevOps思维模式扭转,并且在开发和运维之间找到共识?这需要强大的领导力来实现变革。
其次,团队需要选择最合适的工具。虽然DevOps是一个概念,但工具是实现DevOps的重要组成部分。近两年来如日中天的Docker就是实现DevOps最合适的工具之一。比如上文提到的网易蜂巢、Daocloud,时速云、灵雀云等,均是基于Docker技术的容器云服务产品。作为一个分布式应用构建、迁移和运行的开放平台,Docker允许开发或运维人员将应用和运行应用所依赖的文件打包到一个标准化的单元(容器)中运行,这保证软件可以在任何环境下同样地运行,急剧简化了运维工作。
最后,好工具得有能人掌控才能发挥其威力。即使找到了好用的工具,也需要有熟悉这个工具链,拥有相应技能的IT人员来提供技术支持,才能完成实现自动化的使命。
总体而言,DevOps作为一种理念,推动开发和运维之间的合作,有效回应了当前的商业需求。它的实现是新观念、新工具、新技能的三者叠加。虽然还存在各种问题,但DevOps是大势所趋,作为在互联网领域占坑打拼的企业、开发运维人员,对这样的变革不能视而不见。