在今天我们能比以往更快地构建和部署软件,云计算是其中的一个重要原因。CSP为开发人员提供了一个强大的服务目录,该服务目录抽象了基础设施,让开发人员可以将更多精力放在业务需求和功能上。当云计算在2006年被提出后首次开始流行时,大多数人都使用基础设施即服务(IaaS)的思维。随着开发人员变得越来越有经验,他们开始利用更高级别的抽象。平台即服务(PaaS)将基础设施和应用堆栈(操作系统、数据库、中间件等)抽象化。软件即服务(SaaS)供应商提供了完整的软件解决方案,企业只需要进行配置变更即可满足它们的要求,并管理用户访问。
这三种云服务模型(IaaS、PaaS和SaaS)中的每一种都可以成为业务的巨大加速器,从而无须等待IT部门采购和安装所有底层的基础设施、应用栈以及构建和维护整个解决方案。
此外,无服务器计算、容器和完全托管的服务(例如数据库即服务、区块链即服务和流媒体即服务)等技术为开发人员提供了更快地构建系统的能力,我将在第2章中更详细地讨论每个概念。我还将深入介绍不可变基础设施和微服务这两个加快云上产品上市速度的重要概念。
但DevOps转型比CI/CD流水线或Terraform模板的范围要大得多。你在本章中了解到,组织变革、文化变革、不同的思维和行为方式、现代化的工作方式,以及利用新工具和技术是DevOps的核心和灵魂。
为了在整个组织范围内推广DevOps,需要新的运营模型。有点讽刺的是:IT部门已经引入了许多新技术,尽管这些支撑性技术发生了重大变化,但IT部门本质上仍在使用同样的旧有流程和结构。即便IT部门在方法论上获得了相当大的好处,尤其是敏捷性,但也仅仅改变了孤岛中的部分流程,而不是从全局上看待整个IT组织。在孤岛中采用这些概念而不解决它们对整个SDLC中的人员、流程和技术的影响是失败的秘诀(第5章将讨论运营模型的一些模式和反模式)。
要获得全局观,不仅需要密切关注技术,还应该密切关注运用技术的流程以及执行这些流程的人员。在接下来的3章中,我将依次介绍这些内容。