当前位置: 首页 > news >正文

云原生的候选应用

提示

该内容摘自电子书《为 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。一旦进入云,应用程序就可以使用云支持服务,例如数据库、消息队列、监视和分布式缓存。

**最后,提供战略性企业功能的单体应用可能从云原生方法(本书的主题)中获益最多。这种方法提供了灵活性和速度。**但是,它需要重新构建平台、重新架构和重写代码。随着时间的推移,遗留应用程序可以分解为微服务、容器化,并最终重新构建为云原生架构。

如果您和您的团队认为云原生方法是合适的,那么您应该与您的组织一起合理化这一决定。云原生方法究竟能解决哪些业务问题?它如何与业务需求保持一致?

  • 能否更加自信地快速发布功能?
  • 细粒度的可扩展性——更有效地利用资源?
  • 提高了系统弹性?
  • 提高了系统性能?
  • 更深入地了解运营情况?
  • 融合开发平台和数据存储以获得最适合工作的工具?
  • 面向未来的应用投资?

概括

在本章中,我们介绍了云原生计算。我们提供了定义以及驱动云原生应用程序的关键功能。我们研究了可能值得进行这种投资和努力的应用程序类型。

有了前面的介绍,现在我们将更详细地了解云原生。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 静态代理与动态代理区别?
  • 记一次Mysql8.0使用GROUP BY查询导致异常问题
  • 供应链安全:黑客攻击 Nimble 包
  • 【LeetCode】133.克隆图
  • C#中常用集合类型
  • 室内宠物空气净化器哪个好?排名靠前室内宠物空气净化器使用感受
  • 详解Xilinx FPGA高速串行收发器GTX/GTP(3)--GTX的时钟架构
  • 白骑士的PyCharm教学高级篇 3.2 多模块项目管理
  • 谷粒商城实战笔记-129-商城业务-商品上架-nested数据类型场景
  • 用Java构建简单ATM系统
  • 白骑士的PyCharm教学进阶篇 2.5 数据库连接与管理
  • 基于深度学习的大规模模型训练
  • 无代码开发AI服务 - 利用向量库Kendra和Llama大模型在亚马逊云科技AWS上创建RAG知识库
  • 基于Qt的视频剪辑
  • informer中的WorkQueue机制的实现分析与源码解读(1)
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【刷算法】求1+2+3+...+n
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Angular 响应式表单之下拉框
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JDK 6和JDK 7中的substring()方法
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • spring boot 整合mybatis 无法输出sql的问题
  • Swoft 源码剖析 - 代码自动更新机制
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • XForms - 更强大的Form
  • 给github项目添加CI badge
  • 机器学习学习笔记一
  • 前端面试题总结
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 深度解析利用ES6进行Promise封装总结
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 思否第一天
  • 我有几个粽子,和一个故事
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 选择阿里云数据库HBase版十大理由
  • #pragam once 和 #ifndef 预编译头
  • #VERDI# 关于如何查看FSM状态机的方法
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (0)Nginx 功能特性
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (BFS)hdoj2377-Bus Pass
  • (Charles)如何抓取手机http的报文
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (南京观海微电子)——示波器使用介绍
  • (算法)求1到1亿间的质数或素数
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET C# 使用 iText 生成PDF
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • /var/spool/postfix/maildrop 下有大量文件
  • @Documented注解的作用
  • @Pointcut 使用
  • @PreAuthorize注解
  • @Transactional 参数详解
  • [10] CUDA程序性能的提升 与 流