云原生应用设计使软件工程师能够专注于满足客户需求,构建这是弹性一种解决方案,可以在使用案例层面上利用。可扩
在1986年,云原用程我搬到科罗拉多州博尔德市去为我叔叔的构建初创公司工作。第一天到达办公室时,弹性他帮我找了一张附有 Compaq Portable 计算机的可扩桌子。系统顶部放着一本关于使用 dBase II 的云原用程书。我的构建任务是为他的公司建立一个跟踪订单的应用程序。我叔叔知道我对计算机很感兴趣,弹性我迫不及待地想要开始工作。可扩这成为我学习微型计算机时代应用程序构建的第一次经历。流程非常简单:
尽管我们目前在 Web2 和 Web3 世界中构建应用程序和服务,但我通常将这个时代称为“无 Web”应用程序设计时代。
几年后,我记得在软盘上分发基于 Turbo Pascal 的应用程序,供分布在美国各地的保险代理使用。后来,应用程序存储在放置在企业数据中心的文件服务器上。Web1 迭代还要几年才出现。
DZone 的 2023 年容器技术趋势报告将探讨容器的当前状态、全球容器化战略的关键趋势和进展,以及现代化软件架构的建设性内容。
尽管大多数应用程序开发生命周期步骤并没有真正改变,但云服务提供商带来了一些重要的因素:
所有这些方面都是云原生应用的优势所在。
维基百科定义云原生计算为使用云服务“在公有云、私有云和混合云等现代动态环境中构建和运行可扩展的应用程序”。随着公司和初创企业渴望摆脱维护数据中心的业务,转向云端成为首要任务。
云原生应用不仅仅是在云中运行的应用程序。一个关键区别是应用程序如何设计成在云中本地运行。采用容器、无服务器和微服务的方式提供了易于从一个环境部署到另一个环境的解决方案,同时提供了横向扩展和多区域支持。
由于硬件层与代码库分离,云原生应用可以轻松实现纵向扩展。
采用云原生方法使软件工程师能够将应用程序拆分为多个方面,并使用通用方法来处理每个方面:
对于每个方面,云服务提供商提供可增强体验的附加组件。一些常见的示例包括:
由于云原生方法可以在最小粒度上进行架构,因此得到的云原生应用可以针对设计的每个方面提供最佳解决方案,如图3所示:
云原生应用构建方法使软件工程师能够根据用例级别使用最佳技术来构建解决方案,以满足客户的业务需求。这意味着一个用例可以采用基于事件驱动的无服务器解决方案,而另一个用例可以利用由 SaaS 驱动的持久性层支持的微服务。
云原生应用允许按需调整应用程序的组件。这意味着对一个微服务的需求不需要为其他微服务分配相同水平的资源。此外,组件实例可以在相同或不同地理区域水平扩展。
由于硬件层与应用程序层分离,设计云原生应用的人可以专注于满足业务需求和企业目标。
与设计在本地数据中心运行的应用程序相比,这些优点为云原生应用提供了强大的优势。当考虑到备份计划或灾难恢复等概念时,差异只会变得更大。
尽管云原生计算看起来是应用程序设计的天堂,但也存在一些需要考虑的挑战。对于云原生计算的主要批评是潜在的高成本问题。
一些常见例子包括:
大多数云服务提供商都提供了出色的工具来预测和分析成本,但必须广泛采用标准才能使成本控制成为优先事项。在全球多个地区工作时,了解现有的法规非常重要,特别是涉及敏感数据。未能遵守可能会导致处罚或费用。
云提供商提供了多区域故障和灾难恢复保护的能力。然而,这些高级概念在设计和实施上可能具有挑战性,既要实现自动的故障处理,又要保护免受意外数据问题的影响。
作为软件工程师,我们在应用程序设计方面已经取得了长足的进步。然而,对我来说,唯一没有改变的方面就是当我有机会设计和构建一个新的应用程序时,我仍然感到非常兴奋。
我一直专注于以下使命宣言,我认为适用于任何 IT 专业人员:
将时间集中在提供能够扩展你的知识产权价值的功能/特性上。利用框架、产品和服务处理其他事项。
云原生应用设计完全符合我的个人使命宣言,因为它使软件工程师能够专注于满足客户的业务需求:允许在每个用例级别使用最佳解决方案。然而,就像我们在生活中做出的每个决策一样,我们必须始终注意相关成本。
责任编辑:华轩 来源: 今日头条 云原生云计算(责任编辑:热点)
远东发展(00035.HK)获执行董事邱达昌增持33万股 涉资约92.1万港元
国家统计局:10月份货物进出口总额33357亿元 出口19408亿元
西安旅游(000610.SZ)公布消息:拟利用自有资金进行委托理财
东方国信(300166.SZ)公布消息:拟使用节余募集资金永久补充流动资金