什么是平台工程(platform engineering)?

什么是平台工程(platform engineering)?

本次翻译一些词的抽象对应

Platfrom Engineering平台工程
bus factor软件生命周期
SRE(site reliability engineering)站点可靠性工程
DevOps开发——运维工程

什么是平台工程?它致力于消除开发者与产品之间的障碍。

紧跟软件工程所有的新词汇并做到理解是非常有挑战性的。这么多新的术语、表达方式和首字母缩写!这么少的时间能在Reddit或者Hacker News上学习了解它们!本文我们将通过解析一个这样的术语来帮助您解脱:平台工程。

在过去的20年,软件工程领域一直存着非常明显的趋势,即组织越来越依赖自动化。在产品既要保证客户预期质量,又要快速推向市场的情况下,没有其它的选择。同时,角色之间的传统界限也变得越来越小。

我们可以将平台工程这个角色视为这一趋势的最新发展成果。由于这是一个新的称号,人们对它存在着许多的问题。它是什么?为什么需要它?它和站点可靠性工程(site reliability engineering)的角色不一样么?本文将回答上述但不限于上述的问题。我们将从一些基础开始:定义平台工程,解释它的重要性,并讨论它的职责。然后,我们会将它与其它方法进行比较。在结束前,我们将分享一些关于2021年软件状态以及自动化在其中扮演的角色的最终想法。

Let’s get started.

What Is Platform Engineering?

平台工程师组织可以用来尽可能提高其云平台使用效率的过程,以便工程师可以快速可靠地进行生产,提供价值。

换句话说,平台工程团队通过规划、设计和管理云平台为组织提供服务。这个平台可为组织中的软件工程师和其它IT专业人员提供事半功倍的效果,让他们以安全、高效和可靠的方式在生产中部署和操作软件。

在许多组织中,软件工程师在手动部署代码上耗尽了时间。包括手动创建和配置存储库、管理基础架构组件,甚至是创建和管理从单元测试到生产的CI/CD管道。不难看出,这样的生产流程往往容易出错,还会减慢生产的速度。

对于许多这样的软件,它们的文档或是日志通常也只有粗略或是完全没有记录,完全由团队中头部的关键员工负责。除了导致糟糕的软件生命周期,随着组织发展也会导致糟糕的沟通。为了降低这些成本,消除阻碍开发者的障碍,平台工程应运而生。

Why Is Platform Engineering Important?

为了理解平台工程为何如此重要,让我们退后一步,先看看技术组织在软件部署和运营方面面临的挑战类型。

简单的说,更老、更成熟的组织开始意识到云计算的巨大潜在优势。但为了撬动这些优势,它们需要习得云、基础设施即代码,容器和容器编排等方面的专业知识。因此,许多组织开始创建平台工程团队。这些团队的主要职责是确保软件快速交付到生产环境中。通过他们设计和维护的平台,平台工程师确保软件开发过程尽可能高效,稳定和一致。

但是,在实际生产中,这些团队做了什么?

What Does a Platform Engineering Team Do?

平台工程团队的另一个好听的名字,叫做“开发者推动者”(developer enablers)或“支持团队”(enablement teams)。简而言之,他们创建并维护了一组工具和工作流程,使工程师能够以高效可靠的方式将代码交付到生产环境中。

我们也可以说平台工程团队作为工程师和IT基础设施之间的抽象层工作。这样一来,开发人员可以大多忽略基础设施的内部运作,专注于编写和交付有价值的功能。

在更实际的情况下,平台工程师使用自动糊将他们得知识和专业知识提供给组织使用。这通常采用API或Web门户的形式。

平台工程:异同

下面我们将探讨平台工程与其他流程之间的差异和相似之处。

Platform Engineering vs. SRE

平台工程和SRE(站点可靠性工程)有什么区别?这两个概念是相关的,肯定有一些重叠。但归根结底,它们指的是不同的东西。

站点可靠性工程——一个起源与谷歌的概念——几乎就像软件工程与运营的融合。它正在将软件工程原理应用于构建和维护系统基础设施。SRE专业人员确保系统平稳,高效且高性能的运行。

正如您刚刚看到的,平台工程就是通过创建和维护可以在整个组织中大量复用的自动化平台,使开发人员能够更快地交付代码。我们可以总结为,SRE是一个“底层”或基础的过程,而平台工程是一个更高层的过程,它为开发团队提供一种服务。

Platform Engineering vs. DevOps

平台工程与DevOps比较的情况也与SRE类似。虽然它们是相关的概念,并且存在一定程度的重叠,但它们仍然是不同的概念。

对初学者来说,DevOps比平台工程更早。DevOps运动带来了文化的变化,打破了过去在开发和运营之间存在的孤岛。‘

然而,DevOps仍然倾向于DevOps团队与工程团队之间需要“交互”。而平台工程则是提供一个自助服务平台,工程师无需明确协调即可使用该平台。

Platform Engineering:Enabling Fast Development in the Cloud

现代软件开发时复杂的。这种文化转变始于世纪之交——得益于敏捷开发的出现——加上重大的技术突破,开创了软件工程的新时代。CI/CD,管道自动化,DevOps,容器化部署和分布式服务的兴起——仅举几个概念——这意味着在当今及未来成为一名技术专业人士必须关注更多行业概念的变化。

另一方面,所有这些复杂给我们带来了更多美好的事物。对于初学者,拥有以测试自动化为基础的全自动管道意味着您可以在保持高质量的同时以更快的速度向客户交付。此外,角色之间的界限变得模糊是一个很好的迹象。开发者与测试人员不在存在利益冲突,而成了一条船上的蚂蚱。

在谈到现代软件开发概念时,平台工程可以被认为是一个新生事物。它可以充当开发人员和基础设施之间的屏障。通过利用基础架构即代码、其他技术和工具,平台工程师可以减少软件开发所需的工作量,让工程师能比以往更快的将代码投入生产。

请记住,尽管平台工程是一个相对较新的术语,在定义方面仍存在一些余地,业界仍在探索平台工程的真正含义。但有一件事是肯定的:自动化在软件开发过程中所扮演的角色只会变得更加重要和突出。如果不利用您可以使用的所有工具来拥有尽可能高效和快速的软件交付管道,就无法再这个快速变化的行业保持竞争力。

This post was written by Carlos Schults. Carlos is a consultant and software engineer with experience in desktop, web, and mobile development. Though his primary language is C#, he has experience with a number of languages and platforms. His main interests include automated testing, version control, and code quality.

Team Liatrio 8.3,2021

translated by zhizhemodi 10.14, 2022


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部