提示
该内容摘自电子书《为 Azure 构建云原生 .NET 应用程序》,可在**.NET Docs**上获取,也可以免费下载 PDF并离线阅读。
考虑一下您的组织需要构建哪些应用程序。然后,看看您投资组合中的现有应用程序。其中有多少需要云原生架构?全部需要?还是部分需要?
通过成本/收益分析,很有可能有人不会支持这一努力。云原生化的成本将远远超过应用程序的商业价值。
哪些类型的应用程序可能适合云原生?
- 需要不断发展业务能力/特性的战略企业系统
- 需要高发布速度的应用程序 - 具有高信心
- 必须发布单个功能而无需重新部署整个系统的系统
- 由精通不同技术栈的团队开发的应用程序
- 具有必须独立扩展的组件的应用程序
规模较小、影响较小的业务线应用程序可能更适合在云 PaaS 环境中托管的简单单片架构。
然后是遗留系统。虽然我们都想构建新的应用程序,但我们通常负责对业务至关重要的遗留工作负载进行现代化改造。
对旧版应用程序进行现代化改造
免费的 Microsoft 电子书《使用 Azure 云和 Windows 容器实现现有 .NET 应用程序的现代化》提供了有关将本地工作负载迁移到云的指导。
图 1-10 表明,对于实现遗留应用程序的现代化,并没有单一、一刀切的策略。
图 1-10 . 迁移旧式工作负载的策略
非关键的单片应用程序可能会受益于快速的直接迁移。在这里,本地工作负载被重新托管到基于云的 VM,而无需进行任何更改。此方法使用IaaS(基础架构即服务)模型。Azure 包含多种工具,如Azure Migrate、Azure Site Recovery和Azure 数据库迁移服务,以帮助简化迁移过程。虽然这种策略可以节省一些成本,但此类应用程序通常并非旨在释放和利用云计算的优势。
对业务至关重要的旧版应用通常会受益于增强的云优化迁移。此方法包括部署优化,可启用关键云服务 - 而无需更改应用程序的核心体系结构。例如,您可以将应用程序容器化并将其部署到容器编排器,如本书后面讨论的Azure Kubernetes Services。一旦进入云,应用程序就可以使用云支持服务,例如数据库、消息队列、监视和分布式缓存。
**最后,提供战略性企业功能的单体应用可能从云原生方法(本书的主题)中获益最多。这种方法提供了灵活性和速度。**但是,它需要重新构建平台、重新架构和重写代码。随着时间的推移,遗留应用程序可以分解为微服务、容器化,并最终重新构建为云原生架构。
如果您和您的团队认为云原生方法是合适的,那么您应该与您的组织一起合理化这一决定。云原生方法究竟能解决哪些业务问题?它如何与业务需求保持一致?
- 能否更加自信地快速发布功能?
- 细粒度的可扩展性——更有效地利用资源?
- 提高了系统弹性?
- 提高了系统性能?
- 更深入地了解运营情况?
- 融合开发平台和数据存储以获得最适合工作的工具?
- 面向未来的应用投资?
概括
在本章中,我们介绍了云原生计算。我们提供了定义以及驱动云原生应用程序的关键功能。我们研究了可能值得进行这种投资和努力的应用程序类型。
有了前面的介绍,现在我们将更详细地了解云原生。