什么是应用现代化?

应用现代化是更改、替换或构建应用底层基础设施以提高灵活性或可扩展性的过程,通常通过云迁移来实现。

学习目标

阅读本文后,您将能够:

  • 介绍应用现代化
  • 了解现代化传统应用的重要技术
  • 说明应用现代化的步骤和策略(“5R”)

复制文章链接

什么是应用现代化?

应用现代化是指更新或替换老旧(或称“传统”)应用的架构、代码和基础设施的过程。这个术语最常指将应用的基础设施从本地部署迁移至云端,并往往伴随着从单体应用架构转向微服务无服务器架构。目标是提升应用的可扩展性、可维护性和成本效益,同时降低运营开销。

与商业世界中发生的其他类型的现代化(例如从纸质备忘录转向电子邮件)类似,应用现代化通过采用新技术优化流程,来实现更高效的运作。对传统应用进行现代化改造,可让这些应用的开发人员充分利用云计算的优势:与老旧的 IT 模型相比,云计算具备更强的可扩展性和更灵活的成本结构。

应用现代化通常是更大的云迁移数字转型工作的一部分。

传统应用现代化如何运作?

云计算在虚拟机上进行。云服务是脱离底层硬件的一个或多个"抽象层"。这将云与本地基础设施区分开来:在本地基础设施中,应用在特定服务器上和明确定义的网络中运行。云供应商管理硬件并通过网络连接提供服务。由于云采用这种架构方式,云计算更加灵活,因为它能够按需扩展,并消除了与本地运营相关的部分成本。

本地应用通常采用单一的单体架构,而托管在云中的应用架构则往往被分解为可按需调用的较小模块。应用现代化可能涉及将架构调整为这种模式(尽管并非所有现代化策略均需如此)。

现代化应用的关键概念包括:

  • 微服务:微服务是可独立部署的小型组件,每个组件在应用中执行特定的功能。它们各自在独立的环境中运行,并且可以单独开发和扩展。
  • 容器:容器将应用代码和依赖项打包,确保它们在不同环境中保持一致的运行表现。它们通常与微服务架构配合使用,但容器的作用并不局限于此。
  • 无服务器计算:这种云架构将应用分解为离散的、事件驱动的函数。无服务器函数是仅按需运行的独立代码片段。值得注意的是,许多基于云的应用将无服务器、微服务和容器整合到单一架构中,通过 API 网关连接。
  • API:应用编程接口 (API) 用作连接器,连接微服务与构成云应用且彼此独立运行的函数。API 允许应用根据需要调用各项服务。
  • 编排:编排是与管理容器相关的任务的自动化。包含容器的应用架构通常也会包括某种编排,Kubernetes 就是其中一种常见的编排。
  • 云存储:应用数据有几种基于云的存储类型,其中包括对象存储Blob 存储块存储
  • 云原生安全:云原生安全旨在保护基于云的应用基础设施,同时支持数据合规和治理。
  • AI 集成:现代化应用与生成式 AI 和自主智能体 AI 更顺畅地集成,这些 AI 基于在云端远程运行而非本地运行的模型构建。

主要的应用现代化策略有哪些?

最常见的应用现代化策略的(英语)名称都以“R”开头。因此,有些人也将这些策略称为“5R”或“7R”。

“5R”(最初由 Gartner 于 2010 年定义):

  • 重新托管:也称为 "提升和转移",这种应用现代化策略通常执行速度最快。将本地单体应用迁移到云,并通过基础设施即服务 (IaaS) 提供商(而非自行管理的基础设施)进行托管。重新托管就好比将房子搬迁到街道对面的地块上。
  • 重构:重构与重新托管类似,但应用是通过平台即服务 (PaaS) 而不是 IaaS 托管的。这种方式开销更小,灵活性更高,但应用可能需要稍作调整以适应云提供商的平台。好比将房屋搬迁到更狭长的新地块,并加建二层以更好地利用空间。
  • 修订:“修订”策略涉及部分重写应用的代码库。好比拆除房屋后,按照更高效的平面图重建。
  • 重建:此应用现代化策略会重写应用,以便通过 PaaS 提供商进行部署。好比用一颗破坏球砸碎一栋房子,然后从头开始重建它。
  • 替换:此策略会丢弃传统的应用,代之以提供类似功能的现代化应用或基于云的应用。好比购买了一栋全新的房子。

其他应用现代化策略(简称“R”)包括:

  • 平台优化:此策略会对代码进行适度修改,使应用能够在云平台良好运行,但改动程度小于重构。
  • 架构重组:重新设计应用后端并部分重写,以便在云平台更好地运行。
  • 重新采购:与“替换”策略类似,但改从其他供应商处购买替代应用。

组织应使用哪种应用现代化策略?

合适的策略(更准确地说,是多种策略的组合,因为大多数组织不会只采用一种策略)取决于组织的目标和可用预算。若追求以最少的投入和成本实现更快的迁移,通常意味着重新托管是最合适的初始策略。若着眼于长期可扩展性,或需要支持持续集成/持续部署 (CI/CD) 等现代开发实践,则可能需要进行更彻底的改造。在这些情况下,架构重组、重构或重建应用可以让组织更好地满足未来需求。

组织应在确定策略前,明确其现代化过程的目标、时间线和预算。

应用现代化的主要步骤有哪些?

具体步骤因策略和组织而异,但一般而言,应用现代化工作通常包含以下主要阶段:

  • 准备:首先评估要进行现代化改造的每个应用,识别其组件,梳理其所有数据,并确定应用的现代化后目标(例如,是否通过 API 公开?保持原有功能还是扩展功能?)。组织需保持计划灵活性,因为在实施过程中可能需要根据意外情况进行调整。
  • 现代化:在此阶段,组织执行在准备阶段制定的计划,改造应用后端并根据需要迁移数据。
  • 切换:停用旧应用,由现代化应用接管功能。此阶段最好在现代化过程中或之后进行,以避免影响业务流程。
  • 持续运营:组织继续对现代化应用进行测试、更新、维护、安全加固和优化,并根据需要配置更多云资源。

应用现代化面临哪些挑战?

应用现代化确实需要组织投入时间、资金和资源。开发人员、DevOps、安全和合规团队需要为现代化应用的迁移、架构设计和安全保护预留时间。内部团队可能需要重定向网络流量、停用硬件并实施新的安全措施。不过从长远来看,应用现代化工作最终会使组织运作更加高效。

应用现代化有哪些好处?

组织进行应用现代化改造并非仅仅为了追求"现代化"或使用云技术,而是着眼于获得以下好处:

  • 更快的开发速度:由于云技术消除了基础设施管理的负担,组织可以更快地推出新功能。
  • 通过 API 提供应用:这使得应用能够与其他应用集成,从而实现更高效的开发和自动化流程。
  • 面向未来的扩展能力:如果组织购买自有基础设施,会受到所购买容量的限制。相比之下,云实际上提供了近乎无限的扩展能力(尽管人工智能正在考验现有数据中心的容量极限)。
  • 提升应用性能:基于云的应用可以从多个地理位置访问,无需经由本地数据中心路由而拖慢网络速度(这种现象称为"长号效应")。
  • 面向未来:应用现代化策略提供的灵活性使组织够随着需求变化而采用更新的技术和效率提升方案。
  • 减少技术债务:在现代化过程中可以替换过时的语言、笨重的实现方式和老化的硬件设备。
  • 增强安全性:将应用迁移到云消除了许多与本地单体应用相关的安全挑战,尽管云环境本身也存在特定的安全问题。

Cloudflare 帮助组织充分利用这些优势。Cloudflare 的全球连通云将多家供应商提供的网络访问、安全防护、威胁情报和其他服务整合到单个平台上,而 Cloudflare 的开发人员服务提供现代化应用所需的工具。了解 Cloudflare 如何加速应用现代化进程