编辑导语:DevOps这个话题在IT、开发等领域是相对热门的,它意味着开发运维一体化,是推动业务发展与自动化交付的有效方式。国内便有不少DevOps平台可供企业使用。那么这些DevOps平台目前的发展现状如何?本文作者进行了分析评测,一起来看。
摘要
本文旨在通过对比国内两款DevOps代表性产品——阿里云云效、腾讯云CODING,分析两者在产品定位、核心功能和产品战略等方面的差异及优势,探讨国内DevOps平台的发展现状和趋势,为DevOps在中国的发展提供参考。
DevOps(Development & Operations),即开发运维一体化,是近些年来IT领域比较热门的话题。
DevOps的主要灵感来源于敏捷开发和精益生产,是软件开发管理领域继敏捷开发之后的又一次升级。随着DevOps的快速崛起,其概念已经逐渐被神话,亚马逊甚至将DevOps上升到哲学层面来讨论。在DevOps的基础上又衍生出许多新的概念,如DevSecOps(开发、安全和运营一体化)和BizDevOps(业务、开发和运营一体化)等,使得大家对DevOps的感知云里雾里。
我比较赞成Gartner对DevOps的定义:使用敏捷方法,提供业务驱动的协作和自动化交付解决方案。
一、行业背景DevOps的兴起离不开云计算技术的发展和对企业高效生产的追求。工信部发布的 《2021年通信业统计公报》显示,云计算已经成为新兴业务中增长最快的领域,相关业务较上年增长 91.5%,硬件基础设施规模的提高为DevOps提供了肥沃的土壤。随着容器技术的成熟,DevOps小步快跑,节省资源的优势逐渐战胜了传统开发的“瀑布模型”。
1. 行业缘起
伴随着信息技术产生的社会价值和企业价值越发显著,IT从业人员的人力成本也在不断提高。
传统的“瀑布模型 ”在开发阶段中要等待上一阶段完成所有工作才能进入下一阶段,其不但拖延了开发效率,拉长了产品迭代周期,增加了开发人员的人工成本,而且一次性开发也面临着需求变更风险和市场满意验证的风险。这使企业意识到要通过内生途径提高IT部门的运行效率和工作质量,塑造企业的IT竞争优势的重要性。
敏捷开发应运而生,敏捷开发将大的开发任务划分为很多个小的任务,将大的时间段划分为小的时间段,完成一个开发小任务就测试这部分的功能,这样就可以应对快速变化的需求,同时也能通过看板等工具,时刻监督团队内部的开发进度,提高开发效率。
图1 敏捷开发与瀑布模型流程
从图1可以看出,虽然敏捷开发开发实现了开发效率的提升,但是仍然停留在开发和测试的阶段,开发主要关注的是新功能和新需求,导致缺乏运维阶段的稳定性考虑,运维过程复杂繁重,开发和运维的矛盾爆发,DevOps也终于闪亮登场。
图2 DevOps、敏捷开发与瀑布模型流程
对比前面所说的瀑布式开发和敏捷开发,从图2我们可以明显看出,DevOps贯穿了软件全生命周期,而不仅限于开发阶段。而随着精益生产和敏捷开发的逐步发展,小步快跑,快速验证的DevOps已经涵盖了计划、编码、构建、测试、发布、部署、运维和监控的全流程。