除了标准平台之外,成功的平台工程还包括维护与生产环境高度相似的非生产环境。
译自Platform Owners Must Master Platform Optimization to Drive Innovation,作者 Scott Wilson。
在过去十年中,ServiceNow、Salesforce 和其他低代码/无代码(LCNC) 平台的兴起,通过减轻创建企业特定应用程序的负担,帮助企业保持敏捷、自动化和可扩展性。由于应用程序逻辑已经“存在于平台中”,开发人员可以直接专注于开发健全的业务逻辑。理论上,这应该缩短上市时间并降低维护成本,因为平台还处理维护。
然而,我们还没有达到平台解决企业开发中所有重大挑战的阶段。虽然平台在自动化重复性开发任务和简化复杂操作方面已显示出显著且可证明的优势,但平台所有者仍然意识到并正在处理一些企业 IT 操作挑战。
企业开发中的常见挑战并没有消失
在优化平台运营方面,有一些众所周知的首要障碍,项目交付延迟一直被认为是最重要的痛点之一。延迟可能是由于许多因素造成的,包括低效的部署实践、缓慢的审批流程、耗时的手动测试和克隆停机时间。
平台实例、质量和安全方面的治理问题通常被认为是进一步的重大挑战,尽管企业平台引入了效率,但这些挑战仍然存在。平台只是对不一致的部署实践影响的局部解决方案,这些实践会显着增加生产环境中错误和故障的风险。
平台本身不足以解决企业开发挑战。只有深入了解平台的局限性并制定周密的平台优化策略,企业才能真正收获平台投资的回报。为了真正利用这些平台,组织必须回溯并确保他们遵循类似于传统软件开发基础的开发实践和原则。
解决长期延迟问题
尽管采用了平台,但许多领先企业仍然需要在运营方面迎头赶上。这些延迟通常源于低效的部署实践、缓慢的审批流程和大量的手动测试。固定的发布计划也起着作用,因为等待下一个变更窗口的公司在发布到生产环境的频率方面面临限制。
数据库或实例克隆等流程对于维护非生产环境至关重要,但可能非常耗时。克隆涉及将生产数据复制到预生产环境以进行测试,可能需要 10 到 30 个小时,从而导致开发人员出现重大停机时间。
战略性地协调平台工程团队对于克服这些障碍至关重要。他们必须通过改进的基础设施、工具和 CI/CD 流程,促进从固定发布计划到按需发布的转变。自动化的部署流程允许企业频繁地推送更新,同时最大限度地减少手动干预和风险。
自动化和准确性在克隆等流程中也至关重要。平台工程团队可以通过简化和自动化这些流程来减少差异和停机时间。
承担交付管道的责任并实施“负责任的开发”
低代码/无代码平台的优势在于,它们通过提供预构建的应用程序逻辑,使开发人员能够加快应用程序开发速度。然而,危险在于开发人员可能冒着风险利用这种速度,而忽略了治理流程。
治理缺失不应仅仅被归类为合规性问题或归咎于不良做法:开发领导者必须能够解释对平台所做的更改,并了解谁授权了更改。只需简单地提醒一下 2012 年 Knight Capital 发生的 4.4 亿美元软件错误,就可以说明治理的重要性:一次人为错误加上糟糕的软件工程实践和缺乏所有权,足以在不到 24 小时内让这家做市商倒闭。治理一直是一个难题:许多企业并不打算雇佣专门的人员来维护交付管道,通常假设云服务会自动处理这些需求。结果是,开发团队通常承担起这项责任,将其整合到整体维护成本中。然而,当管理权限过于广泛且部署不一致时,就会出现问题,这与重大的治理挑战相一致。
值得庆幸的是,平台工程团队的出现正是为了解决这个问题,我们越来越看到他们开始负责交付管道。他们还引入了工具来优化治理和部署流程的自动化。
企业逐渐意识到,将治理标准化作为开发生命周期的一部分不仅仅是最佳实践:它为平台团队提供了额外的控制和透明度,以及处理潜在灾难性人为错误的适当控制。
确保生产环境和战略性平台管理
成功的平台工程,除了标准平台之外,还包括维护与生产环境高度相似的非生产环境。这种做法可以降低在开发中没有发现的问题在生产中出现的风险。企业可以通过在类似生产的环境中开发和测试新功能来降低生产中出现问题的风险。
最终,平台应该主动解决影响开发人员生产力的企业开发挑战。然而,通过对现代 LCNC 平台中的平台工程进行战略性管理,企业开发社区可以快速满足业务需求,而不会影响质量和合规性。
未来,随着企业认识到平台工程和实例管理工具在标准化企业开发平台及其 CI/CD 管道管理中的关键作用,我们将看到更多此类工具的应用。结合对慢性延迟原因和治理重要性的更深入理解,这些工具将帮助平台所有者开始克服许多持续存在的挑战,同时在他们的开发工作流程中看到新的效率。