德国 IT 服务和咨询供应商 Bechtle AVS 采用平台工程,以更好地为其内部开发人员及其全球客户提供更好的代码和开发工具。
译自Platform Engineering Reshapes Software Dev at Bechtle,作者 Todd R Weiss。
Bechtle AVS 是一家德国 IT 集成服务和咨询供应商,拥有来自全球数千个客户的各种软件需求,因此面临着巨大的压力,需要创建满足所有用户需求的应用程序。其100名内部应用程序开发人员也因缺乏标准化的开发工具而感到沮丧,这些工具可以让他们为客户和 Bechtle AVS本身构建应用程序。
2014年,BechtleAVS 进入了云原生世界,并开始使用微服务为其客户开发应用程序,这些客户所在的行业必须满足监管要求。这些应用程序被构建为标准化的产品,然后使用微服务针对每个客户在各自专用环境中的任务进行定制。当时,这似乎是正确的做法。但最终,拥有所有这些独立且独特的专用环境却使事情变得更加复杂。
原因很简单。不同的客户有不同的安全和监管合规要求,这些要求会影响他们的应用程序和任务,导致 Bechtle AVS 谨慎地处理许多环境、责任和要求。这些复杂的情况给 Bechtle AVS 的开发人员和DevOps团队带来了更大的压力,导致士气低落和人员流失。
Bechtle软件解决方案360°数字化能力中心联合创始人兼负责人André Alfter告诉 The New Stack,必须有所改变。
“这太糟糕了,”Alfter 说。“环境缺乏标准化,[以及]创建了多个环境。此外,我无法保证对这些环境的治理和合规性。我们工程实践的认知负荷非常大。”
平台工程带来了必要的改变
为了解决这些棘手的问题,大约 18 个月前,Alfter 决定采用平台工程方法,对公司开发策略和流程进行必要的改变。
通过平台工程,IT 系统管理员选择并组装经过验证、精心策划且定期维护的开发应用程序,并通过一个一体化的自助服务门户提供给公司的开发人员。该门户使开发人员能够专注于自己的工作,而不是浪费宝贵的时间来搜索创建和测试代码所需的应用程序。这些平台也被称为内部开发平台 (IDP),旨在为开发人员提供最佳的代码构建工具,这些工具在一个易于使用的环境中构建,为繁忙的应用程序开发人员提供自动化、标准化和灵活性。
对于 Alfter 来说,这是一个很容易做出的改变。
“我在这个组织中拥有很大的灵活性,”他说。“我们与我们的首席执行官等有直接联系。”
因此,他找到他的老板,解释说他需要改变 Bechtle AVS 的内部开发流程,以减轻开发团队、系统管理员团队和用户的压力,并使他们能够以精确的方式工作和流程。
“我没有谈论平台工程,”Alfter 说。“我说我会将团队改为最新的有效模式。”
Alfter 告诉他的老板,新系统将改变 Bechtle AVS 的开发运营,提高开发人员的士气和绩效,公司还将能够将简化的新开发流程和改进转售给客户。他的老板同意了。
“最终,这是我们赋予人们成功的自由和信任,[以及]聘用合适的人才,”Alfter 说。“我们有一个策略,那就是自己做这些事情,”Alfter 说。“这意味着吃自己的狗粮。尝试新事物来创新。”
在创建新的平台工程生态系统后,Alfter 走出去与客户交谈,告诉他们公司正在进行的改变将如何使他们受益。Alfter 很快就有信心, Bechtle AVS 的客户会接受这种改进的策略,他说。“我们从这种平台工程方法中抽象出了一些东西,用于构建一个最小可行平台 (MVP),以便真正进行我们自己的客户旅程,将客户引入平台工程并让他们享受到这些好处,”Alfter 说。“我们看到,当然,并非所有客户都会立即购买东西并……进行平台工程。但你会建立对品牌的信任。人们会听你的。对我们来说,这是一个加强品牌的好方法。”
Bechtle AVS 如何选择其平台工程工具
为了快速将平台工程引入组织,Alfter 引入了平台工程供应商Humanitec,以提供其可立即部署的平台编排器和开源构建块,例如Score,以帮助他的公司实现其目标。Alfter 说,在选择 Humanitec 之前,他还审查和研究了其他几个预构建的平台工程产品。
他说,一个主要目标是为 Bechtle AVS 构建一个内部开发平台,该平台将遵循“平台即产品”的最佳原则。其中一个原则是不从头开始构建所有内容或重新发明轮子。
他说,部分原因是,通过选择高度可定制的现成软件包,他将能够显着加快公司及其客户和开发人员的实施速度。另一个原因来自他在 IT 行业 24 年的经验,他见证了公司试图解决他们自己类似的 IT 问题,并从他们的例子中吸取教训。
“我遇到了太多人试图从头开始构建新工具,并且做错了,然后意识到他们做错了,然后离开公司,”Alfter 说。“然后你就剩下了一些自建的脚本集合,这些集合没有适当的生命周期管理——即使你试图以最佳实践方法构建所有内容。”
通过引入供应商来提供一些关键构建块,例如平台编排器、资源包和像 Score 这样的开源工作负载规范,Alfter 说他知道他可以避免这些失望和延误。
据 Alfter 说,大约有 14 人参与 Bechtle AVS 平台工程参与的改进项目,而另外 5 名员工负责平台的日常维护、开发人员体验任务等。他说,这些团队是分开的,因为让相同的管理员执行这两种功能效率太低。
该公司拒绝透露其构建内部开发平台的成本。
Bechtle AVS 的平台工程方法
在 Bechtle AVS,平台工程现在是公司运营的日常组成部分。Alfter 说,花了大约 7 到 8 个月的时间才将所有部分到位。其中包括花费两个月的时间获得管理层的批准,以便为其投入资金,然后又花费了两个月的时间研究它将如何改变公司的 IT 方法。然后,还花了一些时间创建架构愿景、创建组织变革草案、购买所需技术,以及一个月的时间构建和完善 Bechtle AVS 运营的最小可行平台。
Alfter 说,每个使用该平台的开发人员都获得相同的工具,这有助于标准化、简化和简化平台。
“该项目正在进行中,我们也希望改进平台,”Alfter 说。“对我们来说,改进意味着我们计划根据需要删除功能[并添加功能]。我们将其视为产品,而产品是有生命的。我们正在使用我们的平台进行生产,并使用该平台为我们的客户提供应用程序。”