中国企业必须通过 DevOps 加速数字化转型,以应用生命周期管理数字化为起点。
那么问题来了:传统企业该如何与在数天之内就能够完成新服务项目开发的互联网企业竞争呢?数字化企业在必须为客户提供相应的数字化体验之外,同样需要做到实现自身的高效数字化运营。Forrester 认为,中国企业的科技管理层和企业架构师们必须将 DevOps 和持续交付(Continuous Delivery) 设为其企业数字化发展战略的两大基石。 Forrester 将 DevOps 定义为: 企业的开发与运维部门与业务发起人、质量管理(QA) 部门共同合作,为企业的的生产经营注入持续创新动力的协作模式。
实现DevOps的首要步骤:应用生命周期管理(ALM)的数字化和自动化
为了能够具备 DevOps能力,企业的ALM必须将实现以下几个核心特征作为自身发展目标:
- 能够实现数字化、自动化持续交付的全方位ALM功能;
- 对于部署在云端、移动端和本地的应用的全场景支持;
- DTAP环境全覆盖。
主流的基于DevOps的ALM软件主要分为商用和开源两类。除了PaaS解决方案和Docker之外,中国互联网公司通常会选择通过整合商业软件和开源软件(包括Chef, Puppet, Jenkins, PaaS 和 Docker),实现自定义的解决方案。然而,传统中国企业并不具备像互联网企业那样充足的专业和技术能力实现自定义方案;不仅如此,传统企业还缺少一个可以通过快速试错来削弱风险的成熟机制。
在这种情况下,考虑到商业软件能够提供更加广泛、成熟的功能和支持,传统企业中的企业架构专业人士应当选择以下商业软件:
-
选择Atlassian实现轻量级的敏捷ALM方案
-
选择CA Technologies实现面向服务的应用测试、部署和优化
-
选择HP实现测试驱动的持续交付
-
选择IBM实现现有技术资产加以保护
-
选择Microsoft实现易用性高且能支持混合云环境的DevOps方案
-
选择ThoughtWorks借助其解决方案之外的本土服务经验
中国互联网公司发展DevOps的成功经验
-
阿里巴巴专注发展移动应用测试自动化从而实现DevOps。阿里巴巴旗下淘宝团队已经采用了Robotium来实现测试实施过程的简化;使用Spoon向各类安卓移动手机的自动发送测试案例,并自动执行测试和结果采集;通过Jenkins的插件自动生成代码覆盖率报告。
-
百度采用数据驱动方案实现监控自动化。百度利用开源工具构建的数据监控平台检测服务器状态并主动收相关系统中的应用程序信息。该平台能够处理分析信息、触发后续的预警并基于预置策略启动相应的操作过程。
-
小米以NoOps为发展目标来支持其爆炸性增长的业务量。小米运营和维护的自动化实现NoOps。小米的运营自动化平台包括一个门户网站、作为调度器的Odin、每台应用程序服务器之上的部署平台以及配置管理组件构成。小米的部署平台构建在几个开源软件包之上,其中包括God,Frigga和Thor;配置管理平台的服务树组件通过标签来识别所有需要管理的对象,包括产品、集群以及服务实例。
企业科技决策者需要对DevOps的当前进展具有现实的认知没有任何一种现有的商业解决方案,无论中国或海外,业已实现最理想情况下的DevOps能力。同时,对包括Docker和最新一代APM 在内的新兴技术保持开放态度也能够帮助企业架构人士更好的为下一轮的科技浪潮做好准备。