早在 2015 年,我就注意到软件正在吞噬 IT 。 这是基于从 RightScale、HBR、PWC 等各种行业来源收集的数据。 从开发到部署到交付,软件无处不在。
但即便如此,软件对网络的渗透(在生产方面)仍然很少。 哦,有标志,甚至还有我们需要的许多工具和 API。 但如果管道的广度是一顿大餐,那么开发就是主菜,而部署和交付只不过是甜点而已。
那是过去,这是现在。 我们看到的情况是,部署和交付现在是应用管道菜单中的三大主要部分之一。
数据? 摘自过去两年的 F5 研究。 数字化转型被认为是所有自动化和变革的驱动力,但不要忽视公共云的颠覆性影响。
无论谁因软件的普及而获得赞誉(或指责),几乎无可争辩的是,软件仍在蚕食 IT。
应用管道的开发部分一直由软件驱动。 我们使用软件来构建各种库和可执行文件。 早在 Git 出现或 CI/CD 成为家喻户晓的术语之前,我们就使用软件来保存代码版本。
整个开发过程并未完全实现自动化。 自动化测试和配置管理以及事件驱动的构建系统并不像今天这样普遍。
得益于云和 DevOps,应用管道的开发部分已基本成为“构建软件的软件”的努力。
云计算和 DevOps 再次获得认可,推动部署领域对更多自动化的需求。 这个“生产墙的另一边”部分主要由操作人员主导,他们负责自动化应用程序基础设施部署以及自动化构建和测试过程。 这从来都不是真正的问题。 问题在于“管道的其余部分”。 管道部分由网络基础设施组成,为扩展、保护和加速应用程序所需的应用服务提供平台。
正是应用管道的这一部分,现在正经历着由越来越多精明的网络工程师(我们称之为 NetOps)进行的自动化爆炸式增长,这是对 DevOps 运动的认可,该运动已经(并将继续)影响用于自动化“网络”的工具、技术和方法。
我们看到过去三年中自动化在网络运营中的应用和重要性取得了巨大的进步。 应用管道的部署部分正在成为“部署软件的软件”的努力。
应用管道的交付部分将是所有部分中最具颠覆性的。 部分原因是,二十年来,我们在网络中的主要依靠的就是一个闪亮的铁盒子。 总体来说,它们具有可扩展性、容量大、并且比软件更快。 但随着多云组织的必然性以及公共云成为最关键的企业应用的一种选择,游戏规则已经发生了变化。
硬件不会迁移到云端。 硬件并不是真正适合支持采用不可变基础设施即代码交付方法的每个应用程序架构的正确平台。 软件迁移到云端。 软件支持每个应用程序、不变性和基础设施即代码。
问题实际上不是硬件还是软件(对于每个应用程序、云架构,答案显然是软件),而是容器还是虚拟软件? 随着容器快速进入数据中心和云端,我们看到对通过容器交付的应用服务的需求翻了一番。 公平地说,这一翻倍是从 2017 年的 4% 增加到 2018 年的 9%,但无论采用率是否为个位数,这仍然是一个巨大的飞跃。
对虚拟软件的需求也显著增加,而对硬件的偏好则逐年下降。 现在,如果你认为它会降到零,那么你就真的不明白为什么我们首先要从软件转向硬件(是的,我们以前走过这条路),以及为什么某些交付部分(核心、共享网络)在企业中可能永远都是硬件为主。
然而,交付部分的主要部分将是软件。 已经是了。 已经有一段时间了。 这是缓解向公共云迁移的摩擦以及解决传统部署计划与需求驱动的应用程序交付计划之间日益加剧的摩擦的唯一方法。 容器和虚拟软件将占据应用交付领域的至少三分之二——无论是在本地还是在公共云中。
交付部分正在变成一项“软件交付软件,进而交付和保护软件”的努力。
这是因为软件仍在蚕食 IT,并且在可预见的未来还将继续如此。
*如果您的家庭主要由开发人员组成(我家就是),那么 CI/CD 就是一个家喻户晓的术语。 因人而异。