什么是平台工程?角色、原理和优势

在本文中,您将了解平台工程是什么以及它与相邻概念(包括DevOps和SRE)有何不同。我们将介绍一些实施平台工程的最佳实践,并解释它们如何使软件工作流程受益。

平台工程是规划和实施增强软件开发和交付的工具链的过程。平台工程师处理帮助应用程序开发人员更高效地工作的任务,例如准备CI/CD管道、设置暂存环境以及配置基础设施即代码(IaC)以自动化云资源供应。

平台工程

平台工程师做什么的?
平台工程师创建供开发人员使用的新工具和工作流程。它们生成用于构建、测试和迭代更改的集成环境。“平台”是开发人员和基础架构之间的桥梁,其范围对于个人开发人员来说可能无法复制。

自助服务访问是有效平台工程的一个决定性特征。开发人员每次都应该能够使用他们工作所需的功能,而无需依赖其他团队,例如运营和基础设施。

必须寻求批准才能启动新的暂存环境是阻碍高效开发的瓶颈。相反,运行立即启动隔离环境的终端命令可使开发人员更加自主。他们无需等待基础架构或无需了解其配置方式即可保持高效。

平台工程原理
平台工程结合了多种技术和方法来产生整体开发体验:

自动化和IaC——基础设施应该是自动化和可重现的。IaC工具用于定义平台的外观,并支持按需创建新实例。手动操作保持在最低限度,以消除开发流程中的摩擦点。
专注于效率——平台的设计应该能够解决开发人员遇到的最常见的挑战。专注于支持团队的独特需求,而不是尝试重新创建已经运行良好的功能。例如,滚动您自己的CI/CD或源代码控制系统不太可能带来好处,但提供一种将生产基础架构的快照镜像到新的暂存环境中的机制可以节省开发人员每周的时间。
自助访问——平台的每一部分都应该是开发者可以自由使用的资产。您为开发人员提供了一个控件工具箱,供他们根据需要使用。避免规定特定的使用模式,因为各个工程师的工作方式可能略有不同。
持续发展——平台应该使用与面向客户的功能相同的产品驱动思维方式不断开发。“客户”恰好是内部开发人员,但及时实施改进仍然很重要,这样平台才能有效满足他们的需求。这可确保开发人员在持续的一段时间内保持高效。
这些原则中的每一个都围绕着简化开发体验。平台工程师的工作是听取开发人员的意见,然后提供他们需要的工具链。

平台工程角色
平台工程师有多项职责。他们将与开发人员讨论挑战,然后根据他们的见解采取行动来构建内部平台。这可以包括以下任务:

配置IaC工具以按需提供新的基础设施。
与现有的基础架构和运营团队合作,以“缩小开发和生产之间的差距”。
实施和维护自动化低效工作流的CI/CD管道。
创建定制的内部工具以适应特定于团队的工作流、执行安全策略并保持对法规标准的遵守。
构建、维护和记录公开平台功能的自定义API、CLI和WebUI。这可能是一个暴露每个环境中错误数量的API,或者是一个将本地代码直接推送到新沙箱的CLI。
这项工作通常以内部平台即服务(PaaS)的形式达到高潮。开发人员可以使用不需要专业知识的全自动工作流程将他们的应用程序部署到基础设施上。该平台协调复杂的过程,例如创建云资源、部署容器化微服务、设置网络以及播种开发人员需要的任何测试数据。

平台工程的好处
团队可能对投资平台工程犹豫不决。一个普遍的担忧是,在该平台上工作的工程师是否会在主要产品团队中得到更好的利用。以下是您应该致力于平台工程的三个原因。

加速发展
内部平台加速发展。自动化流程和自助服务基础架构有助于保持开发人员的工作效率。他们能够不断推进业务优先考虑的产品功能。

一旦功能准备就绪,开发团队就可以启动一个新的测试环境来自动验证更改。该平台可以执行自动化测试,然后将功能交付给生产中的客户,同时开发人员开始处理下一个任务。这可以在不影响质量的情况下缩短上市时间。

促进专注和专业化
开发人员应该能够专注于他们最擅长的事情:开发。现代基础设施、CI/CD和分布式部署系统是专门的专业。开发人员不需要成为这些领域的专家,有时可能很难理解它们。

添加平台工程师可以让开发人员通过专注于构建新软件来保持生产力。平台工程团队可以配备精通IaC、CI/CD和PaaS解决方案等相关主题的专家。开发和基础设施方面的进步将进行得更快,因为每个人都将专注于他们的角色。

确保工具和流程不断发展
开发流程需要随着产品的增长而发展。随着时间的推移,堆栈会随着更多技术和新要求而扩展。您可能会引入新的存储系统,需要更全面的端到端测试,或者必须遵守其他监管标准。

平台工程确保工具链同步开发。没有它,您必须进行临时的工作流程调整,而这些调整可能记录得很差并且难以维护。此外,开发人员通常没有时间进行所需的优化。这会在低效实践被认为是瓶颈后继续使用它们。为开发人员提供访问平台工程团队的权限,可以在不延迟产品发布时间表的情况下解决问题。

转载请注明出处:https://www.cloudnative-tech.com/trends/4436.html

(0)
上一篇 2023年5月8日 下午6:16
下一篇 2023年5月18日 下午2:02

相关推荐

  • Istio 正式成为 CNCF 毕业项目

    CNCF最快的毕业项目

    2023年7月13日
    0
  • 解析云原生CNCF定义与核心概念

    云原生计算基金会(CNCF)是一个旨在推动云原生技术发展和应用的开源组织。本文将解析CNCF的定义和核心概念,包括云原生计算的含义、原则和核心组件。通过了解CNCF的目标和理念,读者可以更好地理解云原生计算的重要性和实践。

    2023年5月26日
    0
  • 容器管理平台有哪些软件?

    随着容器技术的不断发展,越来越多的企业开始使用容器管理平台来简化应用程序的部署和管理。本文将介绍容器管理平台的定义、功能、以及常见的容器管理平台软件,同时还会探讨灵雀云容器管理平台的优势和特点。

    2023年5月24日
    0
  • K8s容器厂商排行榜单

    Kubernetes(简称K8s)作为目前最为流行和广泛使用的容器编排和管理平台,吸引了众多厂商加入到其生态系统中,提供各种Kubernetes相关的产品和解决方案。本文将介绍一些知名的Kubernetes容器厂商,并分析其在市场上的排行和特点。

    2023年6月1日
    0
  • Docker容器化部署性能怎么样?

    Docker容器化部署在性能方面表现出色,具有许多优势。下面将详细介绍Docker容器化部署的性能特点以及为什么它成为流行的选择。

    2023年5月23日
    0