如何重新托管应用

​​要重新托管应用,需将其在环境之间迁移(通常是从本地迁移到云端,或在某些情况下,为特殊工作负载迁移回本地),但无需更改其核心架构或代码。

学习目标

阅读本文后,您将能够:

  • 确定将应用重新托管到云的理想场景
  • 了解规划和执行重新托管的最佳实践
  • 了解重新托管期间除计算之外的基础设施需求

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是应用重新托管?

应用重新托管,也称为“提升和转移”,是指将应用从本地环境迁移至的过程,且基本不改变其底层架构的过程。这种方法使组织无需对应用进行重构或深度修改即可快速迁移工作负载。

通过将应用迁移到云平台,企业可以减少对物理硬件的依赖,降低运营成本,并提高可扩展性和弹性。

组织为何要将应用迁移到云端

向云环境迁移的背后存在几大关键驱动因素:

  • 可扩展性:云平台提供可根据需求调整的弹性资源
  • 成本效率:迁移至云端可降低间接支出,并将开支模式转变为更灵活的按需付费模式
  • 弹性和可用性:云基础设施通常提供内置的冗余和灾难恢复功能
  • 安全性和合规性:主流云提供商均提供安全功能和认证,以支持合规性需求
  • 创新:云迁移可以实现更快的开发周期、更轻松的集成,并可以访问 AI、分析和无服务器计算等服务

尽管大多数组织选择迁移至云端以获得这些优势,仍有相当一部分组织(通常是拥有特殊工作负载的大型企业)正在将特定应用重新托管回本地环境,以满足独特的性能、合规性或成本考虑。

重新托管如何支持应用现代化

应用现代化是指更新和迁移现有软件应用及其底层基础设施的过程,以更好地支持组织的安全性、性能和可扩展性需求。在这一整体进程中,重新托管是常见的实施方式之一。

虽然重新托管不会对应用本身进行重大更改,但它可以释放云的优势,并有助支持进一步的现代化工作,例如容器化、微服务采用或架构重组。

在某些情况下,重新托管是不需要重大升级的传统应用的最后一步。而在其他情况下,它可作为深度转型前的过渡阶段。

重新托管、平台优化与重构

对应用进行现代化改造有多种不同的方法,包括:

  • 重新托管:将应用迁移至云(仅需最小改动)
  • 平台优化:在不更改核心应用代码的情况下,实施少量云优化改造,例如将自行管理数据库迁移至云托管服务
  • 重构:重新设计或重写应用,以充分利用云原生功能,如容器或无服务器计算

每种方法在时间、成本和复杂性方面都有利弊。重新托管具有速度快、操作简单的优势,是那些希望在降低风险的同时加速云迁移的组织的一个务实选择。

有哪些重新托管的最佳实践?

重新托管不仅仅是将应用代码从数据中心中的服务器迁移到云中的虚拟机。这是一个系统化的过程,涵盖规划、自动化、测试和扩展等环节,不仅涉及计算资源的迁移,更包含整个应用基础设施的转移。

评估和计划

在将应用重新托管到云基础设施中之前,应充分了解需要移动的内容及其与其他系统交互的方式。

识别应用依赖项

在发现阶段,规划关键的应用组件和依赖项,例如单体应用的二进制文件(包含所有逻辑的单个可部署单元,如 JAR、WAR 或 EXE)、服务器渲染的表示层(例如,JSP、ASP .NET)、直接嵌入应用中的业务逻辑,以及关系数据库(通常是单一的 RDBMS,如 Oracle、SQL Server 或 MySQL)。

还要考虑常见的依赖项,包括应用服务器(例如 Tomcat、WebLogic 或 IIS)、外部 API、身份验证系统、网络规则、硬编码 IP 或端点,以及任何其他连接的服务。此列表并非详尽无遗,但它涵盖了传统应用架构中的许多典型元素。

此步骤有助于避免迁移过程中出现意外,并确保所有迁移部件都得到妥善处理。

评估云基础设施需求

在完成关键依赖项梳理后,需评估应用在新环境中所需的要素:

  • 计算和存储要求
  • 延迟敏感度
  • 备份和恢复目标
  • 区域性可用区
  • 峰值负载下的带宽预期

此时也需评估配套技术栈:DNSCDNDDoS 防护可观察性。重新托管也是对这些层进行现代化改造的机会。

选择合适的云提供商

云提供商对迁移工作的长期成功至关重要。虽然计算价格通常是第一个比较点,但您需要更深入地评估。

在评估云或现代化转型合作伙伴时,应重点考察提供商是否具备支撑性能、安全性及运营效率的全面能力体系。这包括:可弹性扩展的后端服务(能随需求增长而扩容,同时避免不可预测的成本激增),以及集成化的网络级安全功能(例如 Web 应用防火墙 (WAF)、DDoS 防护和细粒度访问控制)。

全球内容交付网络 (CDN) 对于确保快速、一致地向全球用户交付静态和动态资产也至关重要。提供商应提供内置的 DNS 服务,这些服务不仅快速可靠,还需支持可编程配置,以支持自动化和弹性。

最后,原生可观察性工具(或与现有日志和监控系统的无缝集成)对于在应用扩展和演进过程中保持可见性和控制力至关重要。

迁移后的测试和验证

迁移成功的标准是应用能够正确、安全且高效地运行。在完成重新托管后,必须根据本地基准对延迟和吞吐量等关键性能指标进行基准测试,以确保应用满足用户预期。运行负载测试可以帮助模拟现实世界的需求,并发现在正常情况下可能不会暴露的问题。查看日志和警报对于识别可能影响可靠性或安全性的异常情况或错误配置也至关重要。

除了应用性能之外,团队还应该验证配套基础设施组件,包括 DNS 解析、CDN 行为、TLS 配置和防火墙规则,以确认它们在新环境中按预期工作。

作为迁移切换的一部分,流量引导在确保平稳过渡、避免客户停机方面发挥着关键作用。基于 DNS 的流量转移、加权负载平衡和金丝雀部署等技术可以帮助用户逐步从本地环境迁移到基于云的应用版本。这使得团队能够实时监控系统行为、及早发现问题,并在必要时回滚变更,并且所有这些操作都不会影响最终用户体验。在此关键阶段,必须仔细协调 DNS TTL、进行健康检查和监控覆盖范围,以保持服务连续性。

监控和扩展云资源

扩展应当具备前瞻性。若适合当前工作负载,建议采用自动扩展组或无服务器选项。同时需持续监控云支出:云迁移的成本优化在应用上线后仍需持续。

迁移后,持续可观察性有助于:

  • 及早发现性能问题
  • 管理资源利用率
  • 识别安全事件

实施云原生或第三方监控以支持:

  • 应用指标(CPU、内存、错误)
  • 网络流量和流量异常
  • DNS 性能和缓存命中率
  • CDN 有效性(边缘缓存与源服务器拉取)

何时采用重新托管方案迁移应用

当组织需要快速迁移、避免繁重的开发工作或延长旧有系统的寿命时,重新托管通常是最理想的解决方案。对于正着手开展全面 IT 基础设施转型、同时希望减少物理基础设施依赖的组织来说,重新托管同样不失为一种适宜之选。

重新托管的理想适用场景

重新托管在以下场景中最为有效:组织拥有稳定但维护成本高昂的传统应用,且这些在本地环境中日益成为负担。该方案同样适用于需要快速退出数据中心的情况,或是当务之急在于以最小化现有应用代码库改动为前提迁移至云端的场景。

对于规划在未来进行更广泛现代化改造的团队而言,重新托管可以作为战略性的第一步,在当前实现基础性变革的同时,为未来的重构保留灵活性。在这些情况下,重新托管有助于扩大传统应用的价值,无需立即重写,从而有效地为组织赢得时间,待条件成熟时再推进深度现代化改造。

影响重新托管的业务和技术因素

在评估重新托管作为应用现代化路径的效果时,请考虑以下因素:

  • 迁移到云的时间:组织需要多快将应用迁移到新环境
  • 预算限制: 当前的财务资源是否允许进行重新托管工作,或者为未来的平台优化或重构工作奠定基础
  • 运营连续性:在迁移期间,组织对潜在服务中断的容忍度
  • 人员配备:支持更深层次现代化计划所需的内部技能可用性

重新托管可以提供一条摩擦相对较小的迁移到云的路径,从而帮助管理风险和资源限制。

云迁移中的成本优化

重新托管可通过降低硬件维护和许可成本、数据中心开销及基础设施配置时间,在云迁移中实现短期成本优化。然而,仅靠重新托管可能无法完全优化长期成本。如果不进行重构或平台优化,应用可能无法利用自动扩展、无服务器架构或托管服务等云原生效率。

从短期来看,组织可以通过消除资本支出和物理基础设施需求,能够快速实现投资回报。但从长期看,要真正实现成本效益,则需要进行更深层次的优化,例如调整计算资源使用、合理配置实例规模和解耦单体服务,以提高可扩展性和资源分配效率。

管理迁移后的云费用

虽然重新托管可以减少某些安全风险(例如依赖修补漏洞和过时基础设施的风险),但它也会带来新的风险。在受控的本地环境中安全的应用,若未通过云原生安全平台采取适当保护措施,可能在控制较弱的云环境中暴露风险。

成本是另一个关键考虑因素。如果没有主动管理,重新托管的应用可能会产生高于预期的云账单。例如,出口费用(将数据移出云提供商环境的费用)可能会迅速增加,这对数据密集型应用尤为明显。

为避免迁移到云后产生意外成本,组织应主动采取资源与成本管理措施。这包括密切监控使用趋势以识别规律和异常情况,并制定明确的成本治理政策来界定权责归属。通过自动化执行资源规格调整和闲置资源调度等任务,可有效减少浪费并优化支出。此外,在云平台内设置预算和告警机制,可以在成本超出可接受阈值前提供预警信号,帮助团队在环境扩展时保持控制力。

迁移中的安全注意事项

每个迁移策略都应把安全作为贯穿全程的核心考虑因素,包括:

重新托管前的准备工作的重要性

成功的重新托管不仅仅是把应用复制到云端。执行不力的切换可能导致:

  • 糟糕的用户体验
  • DNS 传播期间的停机时间
  • 延迟可用性问题
  • 缺少依赖项或配置过时

一个常见问题:客户或合作伙伴可能依赖于与应用的旧数据中心绑定的静态 IP 地址。如果这些 IP 地址未在他们那边更新,流量将会中断。组织必须预见这些依赖项,并主动与利益相关者协调,以确保顺利切换。

周密计划的重新托管应包括:

  • 与客户和合作伙伴的沟通计划
  • 测试环境和回滚选项
  • 清晰记录端点或基础设施变更

Cloudflare 如何支持应用现代化

Cloudflare 通过以下方式加速应用现代化:转换视频和图像、对应用进行负载平衡以及在全球范围进行 DNS 解析,从而实现快速、可靠的性能。自动化保护可防御机器人、DDoS 和 zero-day 攻击,而集成的可观察性可确保跨云环境的合规性。通过这些功能,Cloudflare 强化了应用堆栈的每一层,实现安全、高性能且面向未来的现代化。

详细了解应用现代化