重新架构以实现不间断创新

Published on 29 Jun 2022

重新架构,不断创新

许多企业采用单体架构构建自己的软件服务。

这种策略有优势:设计和部署单片系统最初通常很简单。随着应用程序变得越来越复杂,维持开发人员的工作效率和部署速度可能会变得困难,从而导致系统部署成本高昂、耗时且危险。本文介绍了如何将您的应用程序重新架构为云原生范式,使您能够在团队扩大的同时加快新功能的交付,同时提高软件质量并实现更高水平的可靠性和可用性。

随着服务及其负责团队的扩大,它们往往变得更难适应和管理,也更复杂。测试和部署、添加新功能以及维护稳定性和可用性都变得更加困难。

Google DORA 团队的研究显示,无论企业规模大小,无论专业领域,都能够实现高水平的软件交付吞吐量、服务稳定性和服务可用性。高绩效团队每天可以部署数次,在不到一天的时间内将变更交付到生产环境,在不到一小时内恢复服务,变更失败率在 0 到 15% 之间。

此外,即使扩大团队规模,优秀的开发人员也能够提高开发人员的工作效率,以每位开发人员每天的部署次数来衡量。

什么是原生云架构?

构建、测试和部署单片应用程序必须作为一个整体进行。通常,应用程序的操作系统、中间件和语言堆栈会被修改或单独配置。应用程序开发、测试和部署的脚本和程序通常对每个应用程序都是独一无二的。这对于新建应用程序来说是简单而有效的,但随着这些系统的扩展,修改、测试、部署和运行它们会变得更加困难。

此外,随着系统的扩展,负责开发、测试、部署和运营服务的团队的数量和复杂性也在增加。按职能划分团队的做法很流行,但这是错误的,这会导致团队之间的交接,从而增加交付时间和批次大小,并导致大量返工。DORA 进行的研究表明,高绩效团队构建和部署软件的可能性是单个跨职能团队的两倍。

该病的症状包括:

  • 构建过程冗长且经常中断
  • 不频繁的集成和测试周期
  • 需要加大力度支持构建和测试流程
  • 开发人员生产力下降
  • 繁琐的部署流程必须在工作时间之外进行,因此需要安排停机时间
  • 在管理测试和生产环境的配置方面付出了相当大的努力

过渡到云原生

许多公司已经实施了“提升和转移”方法将其服务迁移到云端。

在这种方法中,不需要进行任何小的系统修改,并且云本质上被视为一个传统的数据中心,尽管它提供的 API、服务和管理工具远比传统数据中心优越。

然而,单靠提升和转移并不能提供上述云原生模型的任何优势。

由于将应用程序过渡到云原生架构的成本和难度,包括重新考虑从应用程序设计到生产运营以及整个软件交付生命周期的一切,许多企业在迁移阶段就止步不前。这种担忧是有道理的:几家大公司多年来的“大爆炸”式平台重建计划都失败了。

答案是采用渐进式、迭代式和演进式的方法将您的系统重新架构为云原生,让团队学习如何在这个新范式中成功运作,同时继续产生新的功能:这是一种“移动和改进”策略。

绞杀图的应用是演进式架构中的一个突出主题。不是从头开始重建系统,而是以现代的云原生方式开发新功能,但让它们与旧的单片程序进行通信以实现现有功能。随着时间的推移,根据新服务的概念完整性的要求,逐渐转移当前功能。


下载 Google Cloud 的白皮书,仅通过在线白皮书了解有关重新架构以实现不间断创新的更多信息。

Icon
THANK YOU

You will receive an email with a download link. To access the link, please check your inbox or spam folder