诸如ServiceNow和Salesforce等平台旨在解决构建企业特定应用程序时伴随的繁重任务,并保持公司的敏捷性、自动化和可扩展性。然而,要在组织中有效采用这些平台并最大化其价值,需要实施类似于传统软件开发的开发实践、原则和纪律。
平台工程和实例管理平台应运而生,旨在对平台管理(包括其CI/CD生产管道)进行规范化和标准化。然而,在低代码/无代码(LCNC)平台时代,将平台工程原则应用于这些平台对非开发者和传统开发者都大有裨益。
LCNC平台使开发者可以直接专注于开发健全的业务逻辑,而无需编写相关的应用逻辑。理论上,这样可以缩短产品上市时间并降低维护成本,因为平台已经处理了所有的应用基础设施(内存、存储、网络等)。然而,不可忽视的是,组织在引入公民开发者时,将面临与专业开发者在企业开发中遇到的同样的挑战。
解决慢性延迟的根本原因
低效的部署实践、审批过程缓慢和冗长的手动测试都是导致延迟的因素。固定的发布计划也是一个重要的原因。当公司不能按需发布时,他们必须等待下一个变更窗口,这限制了他们向生产环境发布的频率。
此外,对于使用ServiceNow或Salesforce等平台的公司,克隆数据库或实例以用作生产环境的过程也可能非常耗时。克隆通常用于将生产数据/信息复制到预生产环境中以测试开发的更改。
尽管克隆对于在所有非生产环境中同步生产更新是必需的,但这一过程(通常是数据库密集型的)可能需要长达10、20甚至30小时。这对开发人员来说是一段漫长的等待时间;而且,浪费的时间只是问题的冰山一角。
这些只是平台工程团队帮助公司克服的一些障碍,并且他们采用了多种方式实现这一目标。
首先,平台工程团队利用技术帮助公司从固定发布计划过渡到按需发布,引入了更优的基础设施、工具和流程,使持续集成和持续交付(CI/CD)成为可能。此外,通过自动化部署过程,公司可以在无需人工干预的情况下推送更改到生产环境,从而实现频繁且小批量的发布。
其次,对于克隆等过程,自动化和精确性至关重要。如果平台工程团队能够自动化并加速其克隆过程,他们就可以最小化源和目标之间的差异。关键是建立并规范更有效的方法,以最小化停机时间和错误,使平台本身能够支持更高标准的服务交付。
谁负责维护交付管道?
许多企业并未预见到需要特别雇用人员来维护和构建交付管道。他们可能认为使用云服务意味着一切都将自动处理。因此,开发团队的一部分时间经常被分配用于作为应用程序管理交付管道,这在他们已经负责应用维护的情况下是可行的。这种隐性负担通常被整合到开发团队正在维护的所有应用的总维护成本中。
然而,当管理权限过于泛滥、部署实践过于不一致时,交付管道的治理可能出现问题。此外,当非生产环境中的变更过多时,平台环境可能会失控。
这就是我们看到平台工程团队开始承担交付管道的责任,并在围绕治理和部署流程以及整个软件开发生命周期引入更多自动化的地方。事实是,平台团队应该寻求以与他们规范代码开发、构建和部署的方式相同的方式实现治理的运营化。工具已经存在,可以有意识和有目的地将治理嵌入流程中,这些工具正在帮助团队实现更好的一致性。
尽可能使环境接近生产环境
成功的平台工程团队尽量保持环境接近生产环境,因为他们了解在接近生产环境中测试和推送小代码片段以降低出错风险的价值。当新功能在类似生产的环境中全程测试时,公司可以显著降低风险,并提高质量。这是扩展和构建可持续的大型企业系统实践的一部分。
最终,平台工程的任务是解决侵扰开发者生活的企业开发问题,且仍有大量工作要完成。如果没有战略性方法来管理现代LCNC平台内的平台工程,企业开发社区将无法接近满足当今商业对速度的需求,同时不牺牲质量或合规性。
本文由LowCode低码时代根据公开资料整理,如有侵权请联系删除。
– END –
报告下载
大佬观点
西门子低代码-王炯 | 西门子低代码-阮铭 | 微软-李威 | 微软-徐玉涛 | 葡萄城-李佳佳 | 葡萄城-宁伟 | SAP-陈泽平 | 华为-周明旺 | 华为云-董鑫武 | 钉钉宜搭-邵磊 | 轻流-严琦东 | 腾讯云微搭-骆勤 | 网易数帆-陈谔、严跃杰 | 百特搭-姜楠