您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

2019年关于DevOps的五大趋势

发表于:2019-01-08 作者:陈峻编译 来源:51cto

2019年关于DevOps的五大趋势

作为软件开发的一种方法,DevOps已经在过去的九年时间里取得了广泛认同。这种将开发和IT运营的职能相结合的方式,不但促进了两者更好地沟通,而且加强了他们彼此的紧密合作。业界已经出现了一系列新的工具和技术,来支持软件研发企业向该领域的转变。在此,让我们来大胆地展望一下2019年DevOps的五大发展趋势。

从DevOps到NoOps

近年来,NoOps(No Operations,无运营)的发展趋势日渐明显。通常情况下,当我们需要使用诸如测试环境之类的IT资源时,我们往往需要依赖一个独立的运营团队,由他们来代表我们处理此类请求。但是有时候,我们不得不长时间地等待此类服务请求被响应到。

随着NoOps的兴起,运营团队能够给我们带来无缝的体验。因为有了智能化,各种自助服务将能够通过授权业务的方式,来透明地创建一只运营的团队,进而实现各种管控。可见,由此所带来的结果是:您可以直接地使用各种IT资源,而无需等待。这也使得企业内部的不同角色人员,可以借此提高他们的生产力。

让我们在此打一个简单的比方:如果您每次在使用互联网资源之前,都需要联系ISP的话,其繁琐程度是不言而喻的。那么对于为业务用户部署测试环境的IT需求而言,我们同样需要能够提供无缝的服务体验。

这几年,NoOps经常被人们提及和热议。业界普遍将平台即服务(Platform-as-a-Service,PaaS)视为NoOps的一种实现途径,其中包含了无服务器编程、容器化、微服务、智能化与一致性操作、以及自动修复等方面的实践与应用。我个人认为:2019年,各大软件企业会进一步挖掘NoOps的商业潜力,并着手建立一些全栈式的实践方案。与此同时,我也发现许多金融服务类公司已经开始向这个方向进行转移了。

AI和DevOps的整合

DevOps已日趋面向数据型驱动。通过基于云端的软件即服务(Software-as-a-Service,SaaS)模式,我们可以进一步加快应用程序的交付。软件企业也可以借此收集到更多有关用户是如何与应用进行交互,以及应用程序在交付的全过程所产生的相关数据。利用这些数据,企业可以深入获悉其软件在整个交付过程中的数量、稳定性、部署频率、交付时间的变更、服务恢复时间、以及变更故障率等可以被单独测量到的指标。

而且,这些都是人工智能(AI)和机器学习(Machine Learning)较为成熟的领域。通过将机器学习应用到软件交付的整个生命周期,企业将能够迅速地分析、并捕获到产品服务中正在出现的瓶颈、拥塞、或运能问题。他们甚至能够通过一些迹象,来实现精准的预判,并对交付进行优化。

在2019年,我希望能看到更多的AI和数据科学专家,能够与DevOps团队紧密合作,在提高效率的同时,更加深入地洞察软件交付和测试方面的细节与进程。这样的协同一致性对于企业是否能够更快、更准确地交付出客户真正需要的新产品、提供确实满意的新功能,都是至关重要的。

集成安全:DevSecOps

DevSecOps也将在2019年被进一步“赋能”。众所周知,在DevOps中有一个所谓测试“左移”(Shift-Left)的概念。套用到安全方面,我们可以理解为:在代码的首次编写阶段就一次性写出安全的代码,而不要等到交付进程的结束时,才把安全作为一种事后补救的措施。如果我们在持续交付管道尽可能早的阶段中,将各种安全方面的考虑嵌入到产品和运营中,将有利于加快测试和修正的耗时周期。

2019年,我希望有更多的组织能够驱动他们的安全团队,通过利用各种安全类工具和平台的优势,自动化地将定制的安全策略真正嵌入、或集成到DevSecOps环境之中。DevSecOps环境可以自动检测出各种安全漏洞,并在面向客户的环境中通过使用质量门(quality gates,即在研发过程品质控制的工具),来迅速评估代码本身的安全性。可见,DevSecOps将会更多地从内容驱动和全面实现客户价值的角度出发,而不是仅仅考虑到安全的成本和事后补救。

容器化微服务的增长

微服务是组织对其客户高效地交付各种功能与服务的一种方法。它能够将大型的系统分解成为多个相互独立、且松耦合的小组件。而这些组件又可以被提交、并运行在那些轻量级、且彼此隔离的容器之中。这些元素的组合,成就了快速实现变更的方法。

随着各类企业对于敏捷开发和灵活性要求的增多,他们已将眼光投向了容器化的微服务架构,而Google的Kubernetes开源平台正是此类架构中的代表。我预测这一趋势在2019年会伴随着功能即服务(Functions-as-a-service,FaaS)有增无减。

在过去的传统时代,开发人员必须根据其给定的基础架构,来开发和运行他们的服务。如今,主流云服务提供商正在让那些限制开发者的基础架构逐渐消亡。开发人员完全可以编写出一些云原生(cloud-native)的“无服务器(serverless)”功能,而无需理会它们将会在哪里运行、其对应的基础架构会是怎样。虽然基于云端的各种功能目前仍具有一定的局限性,但是在2019年,随着它们的逐渐成熟,其兼容性势必能够攻克更多、更复杂的云端问题。

持续交付的加持

2019年,随着各个企业的领导团队逐渐认识到:持续交付的关键技术实践,与整体业务绩效和组织参与度的相关性。那些针对大型企业软件开发的持续交付方法,将会持续得到迭代与升级。根据《Puppet与Splunk 2018年度DevOps状况报告》(请详见)展示,在现代化企业中,IT部门完全可以通过DevOps的落地,成为业务绩效前向发展的驱动者,而不再被看作是“烧钱”的成本中心。而且,这种认识观念上的转变,在2019年还将继续。

综上所述,2019年对于DevOps来说注定是一个不断“升级打怪”的一年。在软件开发的业界,我们将见证更多有关NoOps、Low Code、PaaS、AI、安全、以及容器化微服务的蓬勃发展。它们注定将为企业、用户和平台带来翻天覆地的变化。

原文标题:Five DevOps Trends for 2019,作者:Harbinder Kang