《研发洞察》第4期 前世今生,DevOps未来发展的九大趋势

第4期

2020-03-10研发洞察

研发洞察 | 4

前世今生,DevOps未来发展的九大趋势

——云平台BG开发管理部

                                               

导语:软件开发一路走来先后经历了不同发展阶段,从以往的瀑布式方法到敏捷交付,再到 DevOps,软件开发从未停止前进的步伐。目前,DevOps 已经实现了代码与流水线层面的自动化。随着 AI 技术在 2020 年逐步成为常态,开发人员将借助 AI 工具获取到更多的大数据管理控制权;当数据库管理与 DevOps 结合之后,可供我们分析的大数据素材就越多,软件功能也会越丰富,因此,在未来,我们可以看到更多 DevOps 与各类数据库管理方案的集成。

本文中,我们将探讨 2020 年DevOps 值得关注的九大未来发展趋势。

这里没有任何马后炮套话,只有粗暴的干货。写大家看得懂、用得着、赚得到的文章是唯一宗旨!让我们一起重新定义研发

………………………………………………………………………………………………

根据一项集体研究表明,DevOps 市场在2017年已达29亿美元,预计到2022年将达到66亿美元。DevOps 已经成为一个关键的焦点,并且已经塑造了软件世界,许多专家预测 DevOps 将成为主流,并将在2020年达到顶峰(来源:IDC 的估计)。

企业不仅对 DevOps 表现出兴趣,而且逐渐采用与DevOps相关的实践和技术。根据 Hackernoon 引用 Statista 的文章,从2017年到2018年,DevOps 的采用率增长了7%。

IBM这样说过:DevOps是企业必备的持续交付能力,通过软件驱动的创新,保证组织抓住市场机会,同时减少反馈到客户的时间。

   

 

         

1.        DevOps 自身优势有哪些

         

    根据维基百科的解释,DevOps 是一种重视“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。其主要优势体现一下三个方面:

²  从软件开发到部署,DevOps 能够显著减少整个软件交付流程当中所需要的人手数量,从而降低时间需求与潜在错误。如今,在 DevOps 周期当中使用自动化测试工具已经成为很多开发者的默认选项。

²  由于开发人员与运营团队团结在统一的 DevOps 文化之下,因此以往常见的沟通不畅与工作冲突能够得到有效缓解。

²  随着 DevOps 的实施,我们可以在开发周期早期快速解决 bug 修复问题。

除此之外,DevOps 的优势还在于允许开发者在较短时间内部署新代码、快速更新并完成升级等。


              

         

2.        2020 年 DevOps 发展趋势

         

    2019 年,我们在大大小小的企业中看到了许多成功的 DevOps 项目。如果你是其中一个,恭喜你!但仍有很多DevOps项目处于尚未启动或者初级阶段,2020 年,我们对 DevOps 的未来有什么期待呢?

1.     敏捷和 DevOps 将增强技术和业务职能部门之间的协作

敏捷和 DevOps 是源于技术领域的草根运动,然而,在许多情况下,敏捷和 DevOps 并没有能突破技术。另一方面,敏捷已经被用于其他职能部门,包括财务、人力资源、采购和营销。一些高层领导越来越多地邀请他们的整个组织“变得敏捷”。但这似乎并没有帮助技术社区与其他职能部门的同事协作,由于数字化给组织带来的竞争压力,到 2020 年,将开始看到更多跨职能的协作——以敏捷作为对话的起点。

为了加速这一过程,务必鼓励你的团队与来自不同职能部门的人员探讨他们使用敏捷方法的经验。下面是一些有用的问题:你是如何实施敏捷的?你在干什么?你有什么变化?你有什么问题吗?我们如何共同努力来帮助解决这些问题?这些问题将帮助来自不同职能部门的人们相互了解对方,从而增加协作。

DevOps不应该只是IT内部的几个部门玩的游戏,必须跳出IT的角度,端到端(业务端到客户端)分析,才能弄清公司需要依靠IT的哪些工作来支撑业务目标,支撑企业战略 ,从而实现更完整、真正的DevOps。需要将IT变成一种能力,融入公司的日常运作中,融入业务活动中。在快鱼吃慢鱼的时代,需要快速试错,不断整合来自市场的反馈。

所以最终,DevOps是一个端到端的问题,是产品管理部、开发部、测试部、IT运维部、信息安全部协同工作,共同支持!

2.     自动化将成为主要关注点

已经实施 DevOps 的公司已经看到了高效率和更快的部署。当谈到 DevOps 时,我们将更多地讨论 DevOps 自动化。零触摸自动化将是未来的趋势。理解 DevOps 周期并在这些阶段之间应用自动化是关键,这将是2020年的主要目标。

DevOps 的最终目标是改进交付过程的规划和自动化之间的协作。它不仅仅是关于持续集成(CI),而是关于 CD(持续交付)。公司投入了额外的精力和时间来理解自动化整个软件开发过程。到2020年,注意力将从持续集成(CI)流水线移到 DevOps 装配线。

装配线的优势: 强大的嵌套可见性、本地集成、通过“一切皆为代码”理念快速上传并扩展规模、具有互操作性的完美 CD(连续交付)、基于团队的商业智能和分析。

3.      人工智能(AI)的崛起,推动了数据科学的发展

越来越多的人工智能驱动的应用程序将推动数据科学团队在他们的工作流程中寻找 DevOps 哲学。DevOps 方法有望成为处理自动化流水线、维护和测试生产链中多个部署模型的主要选择。

根据 ISACA 最近的一份报告,人工智能和机器学习(ML)最近被评为未来十年最重要的企业技术。两者都将在下一代 IT 运营和 DevOps 团队中扮演关键角色。AIOps 将使 DevOps 团队能够更快地分析更多的数据,从而改进关键流程、任务和决策。到 2020 年,预计会有更多的 DevOps 团队采用这些工具,这些工具可以自动获取大量的数据,使用 ML 进行分析,并能够利用知识进行自动化或决策制定。

AIOps 市场发展势头日渐增强,22% 的 IT 企业 将 ML 和数据科学作为其工作的一部分。供应商的范围很广,有各种各样的领导者。今年,AIOps 市场将继续从科学项目转向试点和实验阶段。为了帮助 DevOps 的推广使用,2020 年还有很多工作要做。它需要的不仅仅是工具和技术。DevOps 计划必须成为变革计划,这需要来自所有业务负责人的时间、资源和优先级承诺。希望其中的一些趋势能够实现,而 DevOps 被视为一种新的工作方式。

随着数据科学和开发团队在开发、部署和管理 AI 和机器学习驱动的应用程序方面更加高效,这将进一步推动数据科学和开发团队的发展。

4.     一切皆为代码”的概念

不能否认,编码已经成为 IT 行业的支柱。理解各种 DevOps 工具和自动化脚本在软件开发中起着至关重要的作用,这将在2020年占据主导地位。这个行业的未来取决于开发人员、测试人员和运维人员的技术能力。

由于 DevOps 的目的是为了简化交付周期,所以需要引入可以用来提高软件生产周期效率的代码。“一切皆为代码”的思想是 DevOps 的内置实践,它可以出现在 SDLC 中,在 DevOps 趋势2020中掀起一股浪潮。如果软件测试人员不学习编码和编写他们的测试脚本,他们可能会受到影响。

自动化无疑是 DevOps 领域的重中之重。截至目前,CI/CD 流水线仍然需要大量人为干预。展望新的一年,这种人为干预有望得到进一步削减。脚本编写、机器学习应用以及全面自动化都将成为常态,同时这也意味着运营团队也需要加入脚本编写大军。此外,测试人员也需要掌握编码技能,否则将无法融入新的软件开发体系

5.     使用无服务器架构

在无服务器的架构下,DevOps 可以达到顶峰。这不是免费的服务器;然而,有一个负责完整架构的云服务。这种非凡的体系结构允许软件开发人员将精力集中在“应用程序部分”上。BaaS 和 FaaS 是无服务器架构的两个关键方面。通过采用无服务器的体系结构,您可以节省时间、降低成本并确保弹性的工作流程。

随着云服务采用率的上升,IaaS 需求也将水涨船高。开发人员不再需要配置单独的服务器、数据中心以及虚拟机——所有内容都将以脚本的形式编写完成。

以此为基础,软件开发相关成本将逐步降低,并不断强化此类编码基础设施的灵活性。无论各位管理员身处何地,都能随时使用基础设施资源。另外,随着基于逻辑的运营方法越来越受到关注,FaaS 也将保持增长。事件驱动型服务器容量使用方式将成为常态——换句话说,由于全部内容都将遵循严格的“If-This-Then-That”逻辑,云服务器管理负担也将随之消散。云服务器自身将能够准确判断何时需要提供更多计算容量,何时可以降低容量供应以控制运营成本

6.     更多的嵌入式安全性

随着安全漏洞的成倍增长和对公司声誉的不良影响,网络安全已成为企业的当务之急。到2020年,DevOps 将很快包括安全。最近我们看到了 DevSecOps 的一个流行趋势。DevSecOps 致力于在应用程序开发生命周期中首先注入安全性,从而减少漏洞并提高商业信誉。向 DevSecOps 的转变还将带来软件开发方面的巨大协作。它将确保开发过程保持完美、高效和有效。

恶意攻击者的持续肆虐,安全性将在新一年中继续成为人们的关注重点。开发人员目前正在全面而彻底地贯彻合规性保障,同时着力改善 DevOps 中的安全性水平。对于发现安全漏洞之后如何发布更新代码,开发者们一直保持着警惕的心态。DevSecOps 的出现有望解决这一问题,并在 2020 年逐步在更多业务环境中发挥重要作用。

7.      KUBERNETES 有了显著的发展

事实证明,Kubernetes 已成为增长最快的容器技术。在全球范围内,技术专家和 CIO 们更青睐 Kubernetes,因为它的产品和服务预计将在2020年实现增长。今年,我们看到 Kubernetes 的使用开始腾飞,各种规模的公司都拥抱了运行云本地应用的容器。到2020年,我们将开始看到容器编排软件取代一些旧的 DevOps 功能。

几年之前,Kubernetes 曾推出一项革命性的改进——多集群联合,这一重大成果将在未来几年内持续普及。从目前来看,现有软件开发方法还无法发挥 DevOps 的全部潜能,但随着 AI 与云服务的兴起,DevOps 文化终将成为新的客观标准。虽然 2020 年才刚刚拉开帷幕,但相信我们将踏实稳健地向着这个方向迈进。

在这里建议大家深入学习 Kubernetes、Docker 以及其他 DevOps 工具,相信这方面技能将成为新一年中驱动职业生涯发展的强劲动力。

8.     更多的团队会将思维模式从“完成工作”转变为“实现价值”

价值流映射可以帮助你的团队改变对完工定义(DoD)的思维模式,从“我完成了我的工作”转变为“实现了价值”。这是改变行为最有效的方法之一,可以让你的团队思考他们所从事工作的端到端生命周期。

这就是为什么在 2020 年采用价值流管理至关重要。它将使你能够自动化价值流映射的输出,从而可以进行进度监控。这使得团队可以根据周期时间将所有复杂的 DevOps 工具链与系统派生的数据连接起来。在 2020 年,采用价值流管理的团队将能够根据数据驱动的决策和优先级进行下一个提升实验。

 

9.     DevOps 将变得更加可度量,而度量标准将变得更加明确

“有量化,才谈得上管理。”在彼得德鲁克在其著作《管理实践》中引用了这句话 60 多年后,它仍然有效。然而,我们都希望避免为了度量而度量。

在 DevOps 未来几年里,我们今天所知道的持续改进指标还会是重要的关键指标。我们预计,到 2020 年,会有更多的组织就度量维度和采用这些指标达成一致。那些寻求支持的人可以参考 DORA(DevOps Research and Assessment)的研究中列出的绩效指标,该研究引用了软件交付和运营性能(SDO)的指标,它们可以作为高绩效 DevOps 团队取得成功的主要指标。报告中的主要基准为 2020 年团队必须改进的领域提供了指导。选择这些关键指标并使用数据填充它们,将为 DevOps 的价值和旅程提供见解。

               

         

3.       总   结

         

    DevOps 之所以令人着迷,核心就在于其强大的适应性。由于大部分 DevOps 工具属于开源项目,因此企业可以根据自身需求对工具做出微调。Kubernetes、Docker 以及 Jenkins 都属于开源成果,而且这种开源趋势也将在 2020 年继续保持下去。

让我们避开嘈杂的流行语世界,静下心来仔细理解这些DevOps真正发展趋势。如果企业不想办法减少浪费在等待上的时间和降低产品的上市时间,那么再昂贵的 DevOps 工程师也无法改进他们的价值交付过程。DevOps 团队可以期待在任何架构中开发和部署应用程序的方式,并且将继续发展。通过关注 Kubernetes,微服务和其他新技术的最新发展,他们将为将业务带入新的十年做好充分的准备。


“城市复苏,拾起微光,照亮未来”,向每一位城市中的逆行者致敬!

 

本文参考资料文献:《架构头条》、《 AgileRunner》、《DevOps社区Meetup》、《DevOpsClub》、《高效运维》、《DevOps》等

   往期内容回顾

       《研发洞察》第1 越是混乱的时候,潜藏机会越多

       《研发洞察》第2期 远程研发,权宜之计还是未来趋势

《研发洞察》第3期 疫不容迟,值得关注和掌握的十大技术趋势