云原生软件架构思路(软件架构模式云原生架构)

1、什么是云原生

云原生软件架构思路(软件架构模式云原生架构)(1)

(1)下面是百度词条的解释

云原生是基于分布部署和统一运管的分布式云,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系;云原生是一种新型技术体系,是云计算未来的发展方向。云原生应用也就是面向“云”而设计的应用,在使用云原生技术后,开发者无需考虑底层的技术实现,可以充分发挥云平台的弹性和分布式优势,实现快速部署、按需伸缩、不停机交付等。

百度词条首先将其定义为分布式云的技术体系,接着说明云原生是面向云的应用,然后说明云的资源的优势。

(2)笔者对云原生概念的理解

云原生的概念目前好像没有谁对其有解释权。其概念笔者也看过一些资料,个人认为把其说的过于抽象和复杂,其实云原生就是基于云计算环境的软件开发,和传统的单体系统开发不同的是,在云端有自己的一套信息化、数字化和智能化的开发、测试、运行、维护和项目管理的基础设施,可以做到资源的重用和共享。

现有的云计算环境为:基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS),随着大数据基础设施的完善,又出现了数据即服务(DaaS)的环境,以后随着智能化的发展还会有和其相关的基础设施,那么云原生的架构就可以基于以上的基础设施进行软件开发,以便做到资源的共享和重用。当然您的公司或者组织实力足够强大,也可以从头到尾开发自己的云设施,比如华为云,百度云等都自己开发,然后基于该基础设施上开发软件,来实现资源重用。

目前云原生主要的技术实现有:分布式存储和分布式计算、微服务技术、容器及其容器编排(Kubernetes)技术、分布式事务;随着VR技术的实现;区块链技术的实现;人工智能技术的完善,等等,还会逐步将这些技术加入到云端,来充实和完善云端基础设施。

2、为什么要使用云原生

企业在进行信息化、数字化以及智能化建设的时候,都要基于底层的基础设施向上构建,但是如果单独分配硬件资源,会造成资源被大量占用且难以被共享。

比如传统的单体应用,首次部署时所用到的软硬件密切联系在一起,对操作系统有着很大的依赖性,系统的可移植性和可扩展性极差,同时要求物理资源不易被扩充。

再有传统的单体应用的测试环境往往与生产环境相差甚远,这就增加了在部署之后发生重大问题的可能性。

这样我们基于云计算的开发,硬件资源得到了重用;软件资源得到可重用;数据资源得到了重用;计算资源得到了重用等等。基于云计算的开发,我们所关心的软件架构涉及到的诸如性能、可用性、可修改性、安全性等非功能性需求都可以得到很好的满足。

3、云原生主要的架构模式

现在流行的云原生架构模式有微服务架构模式、Mesh架构模式、Serverless 模式、分布式事务模式等等,随着物联网、大数据、VR、人工智能的发展,还会出现很多架构模式,现在就有互联网大厂的架构师提出将智能化加入云基础设施,以后开发人员如果需要诸如决策树、关联规则等机器学习算法,云端自动提供接口,可不必自己开发。现将流行的云原生架构模式整理出表格如下。

云原生软件架构思路(软件架构模式云原生架构)(2)

4、云原生架构的原则

很多开发工作者对云原生架构总结了一些原则,主要有:服务化原则、弹性原则、可观测原则、韧性原则、所有过程自动化原则、零信任原则、架构持续演进原则,笔者尊重原创的总结,不在重复构思赘述,主要内容给大家列出表格以供参考。

云原生软件架构思路(软件架构模式云原生架构)(3)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页