技术开发 频道

DevOps最好诠释:“零接触”式应用交付

  【IT168 专稿】毫无疑问,我们正身处在一个信息化快速发展的时代。对于企业而言,在云计算、大数据以及移动互联这三大浪潮面前,不仅IT基础架构面临着变革,如何确保应用质量和体验更是一种挑战。有调研机构表示,如果一款网络应用三秒钟没有响应,会有25%的用户选择放弃;而消费类应用则更加明显,有90%的应用会在出现体验问题之后立刻被用户卸载掉。

  如何更快的将应用交付给用户?如何提高应用本身的各项指标?如何在提高应用质量和体验的同时,降低交付成本?面对这些问题和挑战,最好的解决方案无疑是引入DevOps。DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合。

  DevOps不可或缺的四个“C”

  简单来说,DevOps可以帮助企业更有效的整合现有资源,进行更快速的应用交付。针对DevOps,CA Technologies公司提出了四个关键要素,包括没有约束的开发环境、持续应用交付、完成的监控平台,以及开发与运维之间的高效协作,这四项要素也恰恰诠释了CA所提供的应用交付解决方案。

  无约束的开发环境(Constraint-freeDevelopment):针对无约束的开发环境,CA发布了一项全新的技术方案,服务虚拟化。服务虚拟化可以将开发测试中的一些不可用的环境,通过技术手段虚拟出来。例如,如果一款应用需要调用银行、地税、运营商等系统的API,但这些企业或机构的系统环境往往是不可用的,服务虚拟化就可以很好的解决这一问题。

  服务虚拟化技术的特性在于,不仅能够帮助企业虚拟出与测试人员想要的真实环境,更能提供一些不可预测的环境。通过足够广泛的测试覆盖率,来保证应用质量的稳定度。

  持续的应用交付(Continuous Application Delivery):针对持续的应用交付,CA提出的解决方案为Release Automation自动化发布。顾名思义,Release Automation改变了以往的人为发布形式,企业可以通过规范性的方式,让程序自动执行整个发布过程。

  传统的“人为发布”形式让运维人员深恶痛绝。为了不影响业务部门,运维人员不得不在深夜或是凌晨来进行发布和更新应用,如此“黑白颠倒”的生活方式不仅影响个人健康,同时也影响了企业原本的运维工作。Release Automation则可以很好的解决这一问题。

  Release Automation的特性在于,一套规范化的发布流程可以在不同的环境里发布。

  完整的管理监控平台(Complete Monitoring):Complete Monitoring是DevOps中的重要一环,CA在此领域也是深耕多年,目前具备一套完整的解决方案。

  开发与运维之间的高效协作(Collaboration between Dev and Ops):传统的软件交付过程,开发、测试、运维更多的是分开来做。而DevOps概念则强调协作和整合,所以,目前CA所提供的应用交付方案,目标使用者是整个IT部门,而不是单纯的开发或运维。

  另外,CA在解决方案中加入了数据挖掘技术,该项技术可以在测试或实际生产环境中,抓取应用中出现的问题和讯息,并反馈给开发人员。这使得开发人员可以迅速定位问题出现的位置并加以解决。

  “零接触”式应用交付

  四“C”要素组成了CA应用交付解决方案,同时也带来了一个新的概念——Zero Touch Deployment(零接触式应用交付)。CA Technologies应用交付解决方案策略师王志明对此表示,Zero Touch Deployment整合了服务虚拟化、自动化发布等工具,其所达到的目的,就是持续交付。

  “自动化发布的好处就在于,任何时候遇到问题,程序都可以自动回滚。此外,自动化发布提到了整体的应用发布效率、应用交付效率,而且提供了相应的管理机制。比如,运维可以统计今年这个应用发布了多少次,在什么时间点,或间隔多久发布了一次。”

  CA在中国的发展

  可以说,目前DevOps概念在中国并不算很流行,很多企业,特别是传统企业,还并没有认识到开发与运维协作所能产生的“化学反应”。据王志明介绍,CA目前的客户也是更多的采取“先试点,再扩展”的方案。

  “不仅仅是大型企业,中小型企业也有这方面的需求。比如,一个城商行或是一个股份制银行,只要企业的IT环境足够复杂,都会有这方面的需求。”据了解,目前国内很多股份制银行、金融机构等企业,已经在逐步接受DevOps,并部署CA应用交付解决方案。

  对于CA而言,DevOps产品线只是冰山一角,除了优化应用交付过程,其还有一套完整的监控产品(正如之前我们提到的Complete Monitoring)。“CA的强项就是结合我们对客户的环境和应用的了解,让客户在应用开发到最终交付,甚至交付完之后的整体运维阶段,全部串联起来。”

0
相关文章