这个关键决定很可能从一开始就决定了贵公司平台工程项目的成败。您不希望出错。
译自 Platform Engineering's Most Critical First Decision,作者 Todd R Weiss。
为您的公司构建一个平台工程平台是一项艰巨的任务,需要做出许多关键决定。但也许最重要的是,首先要决定从哪里开始构建平台——从前端还是从后端。
为什么这如此关键?
因为要使平台工程平台运作良好并取得成功,它需要围绕一个设计良好的后端构建,利用可靠的业务逻辑,使其能够最好地服务于将使用它的开发人员,Luca Galante,全球开发者社区PlatformEngineering.org的核心贡献者,告诉 The New Stack。通过从后端和关键业务逻辑开始,该平台可以与任何类型的图形用户界面 (GUI)、基于代码的界面或命令行界面 (CLI)一起使用,他说。
“您想要的是一个非常坚实的核心作为后端,然后您可以为不同的用户以及您想要为他们提供的不同抽象级别插入和播放不同的界面,”他说。“您无法真正将业务逻辑构建到前端。前端只是为了可视化内容,为您提供良好的开发体验。它不是为了让您定义开发人员如何与底层基础设施交互,或者他们如何详细配置事物。它不允许您在基于角色的访问控制之上进行分层。”
而这种业务逻辑很重要,因为它为平台(也称为内部开发平台或 IDP)的后续所有内容创建了强大的基础和代码,他说。
“如果您首先从门户开始,您将没有任何这种灵活性,因为开发人员体验受到限制,”Galante 说,他也是平台工程供应商Humanitec的产品和增长副总裁。“它需要在不同的团队、不同的工作流程中保持一致,这在企业中无法扩展,并且会让您回到原点,从头开始重新思考。”
他补充说,这些并不是新概念。“构建平台就像构建任何其他应用程序一样,”Galante 说。“没有人会先构建前端应用程序。那不是实践。”
那么,由于后端具有强大的内置业务逻辑,所有这些合理的论据都支持从后端开始,为什么一些新生的平台工程团队仍然试图从前端开始设计公司的 IDP 呢?
Galante 说,在这些情况下,这通常是由于平台管理团队的动机,他们想要构建一些东西,以便立即向要求创建平台工程基础设施并提供资金的公司高管展示某种早期成功。
“我认为他们中的大多数人[在Google 上搜索]平台工程,发现有后端工具和前端工具,比如Backstage和其他门户,”他说。“然后他们得出结论,他们可以在几周内实现一个门户并展示那个漂亮的用户界面,然后他们的仪表板就完成了。所以,他们获得了早期胜利,并且在一定程度上确实有效。”
但是,随着高管释放更多预算资金并命令管理团队去构建平台的其余部分,问题就会浮出水面,Galante 说。
“然后他们发现他们现在需要将必要的业务逻辑构建到平台中,”他说。“他们认为他们将尝试以某种方式将其塞入他们已经构建的这个前端层中,但这就是事情变得糟糕的地方。这就是事情开始崩溃的地方。”
但不要听他的,Galante 说。相反,他说,IDP 规划人员应该从过去尝试过这种前端优先方法但未能成功的平台管理员的教训和错误中吸取教训。 “问题在于基础设施的配置和编排,”Galante 说。“因此,最终,你需要一个北极星来指引你作为平台团队,而你解决这个问题的地方是在平台的后端。”
他说,学习这方面知识的最佳场所之一是来自更有经验的平台工程师,他们现在正在构建他们的第二个、第三个或更晚的平台。“那些早期尝试过的人,通常几年后会成为新企业的平台主管或平台副总裁。现在他们就像,‘我绝不会再犯同样的错误了。’”
Galante 说,许多早期 IDP 管理员和设计师现在也可能希望在下一次从平台工程供应商那里开始使用预构建的平台,这样他们就不必再次从头开始经历构建一个平台的繁重而困难的任务。
Galante 说,尽管经历了这个过程的所有痛苦,但如今越来越多的公司发现 IDP 值得他们进行规划、创建、实施和维护。平台工程通过 允许 IT 系统管理员选择和组装经过验证、精心策划和定期维护的开发应用程序,为软件开发人员赋能并加速企业内部的运营效率,这些应用程序可以通过一体化的自助服务门户提供给公司的开发人员。
这些平台允许开发人员进行他们的核心工作活动,而不是花费宝贵的时间搜索他们需要创建和测试代码的应用程序。这些 IDP 为开发人员提供了他们在易于访问、易于使用的环境中所需的代码构建工具,该环境旨在提供自动化、标准化和灵活性。
Galante 补充说,花费在将所有这些整合在一起的时间是值得的,因为它将需要付出巨大的努力。
“对于平台工程——这一点非常重要——它可能不是一个一次性完成的三个月项目,”Galante 说。“那样你会作为平台工程师失败。”
相反,平台工程是关于构建一些东西,这些东西“通常在六到十二到十八个月后开始真正带来回报,之后会产生巨大的规模经济,”Galante 说。“因此,作为团队,将你们的长期目标与平台的长期愿景联系起来非常重要。这就是我们要以正确的方式进行的原因,也是我们要从后端开始并真正解决重要问题的根本原因。”