什么是平台工程?
平台工程是组织可以用来尽可能高效地利用其云平台的流程,以便工程师能够快速可靠地为生产提供价值。
换句话说,我们可以说平台工程团队通过规划、设计和管理云平台来为组织服务。然后,组织中的软件工程师和其他 IT 专业人员可以利用此类平台,使他们能够以安全、高效和可靠的方式在生产中部署和操作软件。
在许多组织中,软件工程师都在努力完成多个手动过程才能将代码投入生产。
这包括手动创建和配置存储库、管理基础架构组件,甚至创建和管理从单元测试到生产的 CI/CD 管道。不用说,这样的过程通常容易出错,从而减慢生产速度。
平台工程降低了这些成本,消除了阻碍开发人员前进的障碍。
为什么平台工程很重要?
为了理解为什么平台工程很重要,让我们退后一步来了解技术组织在软件部署和运营方面面临的挑战类型。
简而言之,历史更悠久、更成熟的组织开始意识到云计算的巨大潜在优势。但为了利用这些优势,他们需要云、基础设施即代码、容器和容器编排等方面的必要专业知识。
因此,许多组织开始创建平台工程团队。这些团队的主要职责是确保软件快速交付到生产环境。通过他们设计和维护的平台,平台工程师确保软件开发过程尽可能高效、稳定和一致。
但是,在实践中,这些团队做了什么?
平台工程团队做什么?
平台工程团队的另一个好名字是“开发人员推动者”或“支持团队”。简而言之,他们创建并维护一套工具和工作流程,使工程师能够以高效、可靠的方式将代码交付到生产环境。
我们还可以说,平台工程团队充当工程师和 IT 基础设施之间的抽象层。这样,开发人员基本上可以忽略基础设施的内部运作,而专注于编写和发布有价值的功能。
从更实际的角度来说,平台工程师使用自动化将他们的知识和专业知识供组织使用。这通常采用 API 或门户网站的形式。
平台工程:差异和相似之处
现在我们将探讨平台工程和其他流程之间的差异和相似之处。
平台工程与 SRE
平台工程和SRE(站点可靠性工程)有什么区别?这两个概念是相关的,并且肯定存在一些重叠。但归根结底,它们指的是不同的东西。
站点可靠性工程——这个概念起源于谷歌——几乎就像软件工程和运营的融合。它导致应用软件工程原理来构建和维护系统基础设施。SRE 专业人员确保系统平稳、高效、高性能地运行。
正如您刚才所看到的,平台工程就是通过创建和维护可在整个组织中一致利用的自动化平台,使开发人员能够更快地交付代码。我们可以概括地说,SRE 是一个“较低级别”或基础流程,而平台工程是一个较高级别的流程,为开发团队提供一种服务。
平台工程与 DevOps
平台工程与 DevOps 的情况类似。虽然它们是相关的概念,并且存在一定程度的重叠,但它们仍然是不同的概念。
首先,DevOps 比平台工程更古老。DevOps 运动带来了文化变革,消除了开发和运营之间曾经存在的孤岛。
然而,DevOps 仍然倾向于需要 DevOps 团队和工程团队之间的“互动”。正如您所看到的,平台工程是指提供一个自助服务平台,工程师无需明确协调即可使用该平台。
平台工程:实现云端快速开发
现代软件开发很复杂。世纪之交开始的文化转变——得益于敏捷——加上重大的技术突破,开创了软件工程的新时代。CI/CD、管道自动化、DevOps、容器化和分布式服务(仅举几个概念)的兴起意味着 2021 年作为一名技术专业人士必须关注更多的事情。
另一方面,所有这些复杂性给我们带来了很多美好的东西。对于初学者来说,拥有以测试自动化为基础的全自动管道意味着您可以更快地为客户提供价值,同时保持高质量。此外,角色之间的界限已经模糊,这是一个很好的迹象。开发人员和测试人员、开发人员和运维人员之间不再有利益冲突。我们现在都在同一条船上。
当谈到现代软件开发概念时,平台工程可以被认为是新事物。正如您所看到的,平台工程师可以充当开发人员和基础设施之间的屏障。通过利用基础设施即代码以及其他技术和工具,平台工程师可以减少软件开发的辛苦工作,使工程师能够比以往更快地将代码投入生产。
总结:
由于平台工程是一个相对较新的术语,因此在其定义方面仍然存在一些余地。业界仍在弄清楚平台工程的真正含义。有一点是肯定的:自动化在软件开发过程中所扮演的角色只会变得更加重要和突出。如果不利用您可以使用的所有工具来建立尽可能高效和快速的软件交付管道,就根本无法在这个行业保持竞争力。
转载请注明出处:https://www.cloudnative-tech.com/trends/5952.html