开发运维一体化DevOps 让快速交付成现实
2014-09-27霍娜
霍娜
眼下,“DevOps(Development/开发与Operations/运维的组合)”在软件开发者圈,乃至整个IT界都是一个热门词汇。DevOps为什么这么火,它有何特殊价值?带着疑问,记者近日采访了CA Technologies应用交付解决方案策略师王志明。
应用经济呼唤快速交付
“毫无疑问,我们现在身处一个瞬息万变、信息爆炸的时代。60秒钟之内就会发生很多事情:超过两百万条的谷歌搜索、两亿封邮件的传送……”王志明认为我们正处于应用经济备受关注的时代,无论是从体育用品向健康管理转型的耐克,还是从网上零售向云服务商转型的亚马逊,亦或是在韩国地铁尝试虚拟摊位购物的乐购(TESCO),甚至是宣称自己是做金融生意的软件公司的JP摩根,都要靠提供各种创新应用获得持续发展。而业务灵活创新背后依靠的是快速、持续、高质量的软件应用交付。对企业而言,在云计算、大数据和移动互联这三大浪潮面前,如何确保应用质量和体验本身就是一种挑战。
如何更快地将应用交付给用户?如何提高应用本身的各项指标?如何在提高应用质量和体验的同时,降低交付成本?面对这些问题,王志明认为,最好的解决方案无疑是引入DevOps。因为DevOps集开发、测试、部署和运营为一体,能有效促进开发、技术运营和质量保障部门(QA)之间的沟通、协作与整合,是加速应用交付的典型技术。
简单来说,DevOps可以帮助企业更有效地整合现有资源,进行更快速的应用交付。但目前,DevOps在中国并不算流行,很多传统企业还没有认识到开发与运维协作所能产生的“化学反应”。王志明介绍,CA目前的客户多数也是采取“先试点,再扩展”的方案。“不仅仅是大型企业,中小型企业也有这方面的需求,只要企业的IT环境足够复杂,都会有这方面的需求”。据了解,目前国内很多股份制银行、金融机构已经接受了DevOps,并部署CA应用交付解决方案。
不可或缺的四个“C”
针对DevOps,CA Technologies公司提出了四个“C”的关键要素,即没有约束的开发环(Constraint-freeDevelopment)、持续应用交付(Continuous Application Delivery)、完整的监控平台(Complete Monitoring)和开发与运维之间的高效协作(Collaboration between Dev and Ops)。
针对无约束的开发环境,CA提供的技术方案是服务虚拟化,它可将开发测试中的一些不可用环境,通过技术手段虚拟出来。例如,如果一款应用需要调用银行、地税、运营商等系统的API,但这些企业或机构的生产系统环境往往是不可调用的,服务虚拟化就可以解决这一问题。服务虚拟化不仅能够帮助企业虚拟出测试人员想要的真实环境,还能提供一些不可预测的环境,通过足够广泛的测试,保证应用的质量和稳定度。
针对持续的应用交付,CA提出的解决方案是自动化发布(Release Automation),它改变了以往的人为发布形式,企业可以通过规范的方式,让程序自动执行发布过程。和传统的“人为发布”形式不同,自动化发布完全不会影响业务和运维,同时还能在不同的环境里实现一套规范化的发布流程。
完整的监控平台是DevOps中的重要一环,CA在此领域也是深耕多年,目前具备一套完整的解决方案。
传统的软件交付过程,开发、测试、运维多是分开进行,DevOps概念则强调协作和整合。目前CA所提供的应用交付方案,目标使用者是整个IT部门,而不是单纯的开发或运维部门。CA在解决方案中还加入了数据挖掘技术,可在测试或实际生产环境中,抓取应用中出现的问题和讯息,反馈给开发人员,使得开发人员能迅速定位问题出现的位置并快速解决。
四“C”要素组成了CA应用交付解决方案,同时也带来了一个新的概念——Zero Touch Deployment(零接触式应用交付)。王志明表示,Zero Touch Deployment整合了服务虚拟化、自动化发布等工具,其所达到的目的,就是快速持续交付应用。