招生热线-郑州总部:0371-55693356 沈阳分部:024-31079621 西安分部:029-68569207

宇信教育赵利格老师带你深度了解DevOps

【宇信教育】1个月前阅读(49)

最近几年大家经常听到DevOps这个词,关于DevOps,网上也是众说纷纭:有人说DevOps是自动化工具,有人说DevOps是方法论,还有人说DevOps是全栈?


那么DevOps到底是什么呢?现在我们就来了解一下。


DevOps出现原因:开发和运维的矛盾


开发和运维总是存在一些矛盾的,主要体现在以下几个方面: 


世界观不同:运维人员要求稳定可靠,认为变更充满风险;开发人员则被鼓励频繁发布新代码,他们认为运维部门对流程的坚持,阻碍了开发的速度。


运行环境不同:常常听运维人员抱怨程序无法运行,开发人员则会回复:“它在我的机器上没有问题!”实际上,运维团队的确遇到了麻烦:开发和运维之间的脚本、配置、过程和环境是存在差别的。


沟通存在壁垒:开发和运维团队通常处于公司组织的不同部门,通常有不同管理者,存在沟通壁垒。 


DevOps诞生驱动:软件开发的演变


先进的生产和管理理念是一个行业从小作坊走向规模化的必经之路,软件工业虽然诞生较晚,但是发展非常迅速,这也得益于软件开发理念的进步。软件开发的模式变化主要有三个阶段:瀑布式开发—迭代开发—敏捷开发。


瀑布式开发,是经典的软件工程方法为了定义出一套完备的过程规范,使得软件开发的运作就像是机器设备一样正常的运转而总结出来的项目管理方法论。但瀑布式开发对市场变化和用户需求的响应慢,更改成本高,可能出现产品一推出市场就宣告失败的情况。


在瀑布开发的基础上,又出现了迭代开发。它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。但这种模式存在一个问题:可能明明知道开发中有一些问题和缺陷,却偏偏不去完善它,而是把主要功能先搭建起来再说。


这样,敏捷开发应运而生,此时开发以用户的需求为核心,总结瀑布式开发和迭代开发的经验,采用迭代、循序渐进的方法进行软件开发。通过敏捷软件开发,把需求人员,开发人员,测试人员整合起来,形成“特性团队”;把需求拆分成独立的,对用户有价值的故事,按优先级排序以后再开发、测试,甚至可以达到每两周就能交付几个独立需求的程度,实现小步快跑,时常交付。所以,在如今瞬息万变的互联网时代,大家已经渐渐体会到敏捷的优势,满足市场持续变化的需求。



虽然能频繁地交付,但是却不能频繁地上线,原因在于,敏捷开发要求拥抱变化,但是运维追求稳定,因此就催生出了DevOps 。


DevOps应运而生 打破开发、运维鸿沟


DevOps是Development和Operations的组合,简单来说就是促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合,使不同部门能够及时沟通,同时也可以结合敏捷开发,拥抱变化。随着ICT行业的发展,出现了容器、微服务等技术,DevOps都能够与其结合,并且充分展现快速迭代,快速部署和自动化部署等优势,我们可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。



DevOps优势:快速交付和部署


快速交付:DevOps最大的优势就是可以高效交付,这也是DevOps的初衷。采用敏捷开发模式,又可以和微服务相结合,加快迭代速度,同时提高了员工的工作质量。


团队模式改变:DevOps中采用全功能型的小团队,提倡“Two-Pizza”规模团队,让每个员工都有参与感。


快速稳定部署:快速部署能够及时的地发现代码是否有问题并及时反馈,保证下次迭代中避免类似问题;另外团队还能够更快地得到用户的反馈,从而更快地响应需求。


这么优秀的DevOps,开发者你还不快来学习?华为认证云服务高级工程师HCIP-Cloud Service Developer将帮助你掌握华为软件开发云基础服务及DevOps基本知识,具备使用华为云软件开发服务DevCloud进行软件项目开发和管理的能力,实现云上应用快速开发。




赵利格


宇信教育华为认证讲师,通过HCIP-Cloud Service Solutions Architect Systems Instructor认证,主要负责华为云服务认证系列课程讲解,善于引导学生发现问题、解决问题,有丰富的授课经验。




TOP