乐趣区

关于云计算:云原生除了K8S微服务还有

云原生 (Cloud Native) 是最近技术圈一个比拟火的名词,置信大家或多或少都据说过。不过对于大多数一般研发敌人来说,” 云原生 ” 这个词多少可能还是有些生疏,以至于刚开始听到这个词时可能还会一脸懵逼的问 ” 这到底是一个什么技术,我用过吗?” 这样的问题。

其实这并不奇怪,因为对于绝大多数一般开发者来说,咱们大部分工夫都是在他人构建的基础设施里专一于业务代码的开发,而很少关怀业务利用运行所依赖的基础设施环境,但这恰好也是构建云原生利用的外围意义所在。在明天的文章中,就和大家聊一聊对于云原生的话题!

云原生的概念

什么是云原生?对于这个问题咱们须要了解,云原生并不是指某一项具体的技术,而是一组技术体系、概念及零碎设计准则的汇合。例如咱们常探讨的微服务架构、Kubernetes 容器编排、Devops 等内容都是云原生体系的组成部分。

从这个角度看,对于目前曾经实现了云服务部署、Spring Cloud 微服务架构体系、Kubernetes 容器化部署、且构建起了一套自动化公布零碎的公司来说,事实上就曾经是在践行云原生架构理念了。所以,你看是不是很多公司其实都曾经在施行云原生架构了呢?

依据 CNCF(云原生计算基金会)的官网形容,云原生技术是指有利于在私有云、公有云或混合云等新型动静环境下,实现利用可弹性伸缩部署的技术体系。云原生的代表技术次要包含容器、服务网格、微服务、不可变基础设施及申明式 API。利用这些技术能够构建出容错性更好、更易于治理和察看的松耦合零碎,再加上一些牢靠的自动化技术及齐备的监控预警体系,云原生技术将使开发人员能更疾速、轻松地迭代和交付软件系统。

所以从上述形容看,云原生技术实际上并不是忽然才流行起来的概念,而是随着云计算、微服务架构、服务网格等分布式应用架构技术遍及风行,以及在以 Docker、Kubernetes 为代表的容器化技术的推动下,逐渐被业界所认可的一种零碎架构理念及设计准则的形象总结。

云原生技术图谱

这里我总结了一份对于云原生架构的技术图谱供大家参考,如下图所示:

如上图所示,你会发现所谓的云原生几乎就是一个技术大杂烩,它简直囊括目前大部分风行的后端技术,甚至还延长到了 AI、机器学习、边缘计算等畛域。但从理论利用场景来说云原生架构次要特色还是体现在云端环境、微服务架构、服务网格、Devops 自动化交付、容器化部署这几个方面。

云端环境就是要应用云服务器,对于大部分公司来说就是应用一些私有云服务来部署利用,而不是本人在额定保护一套简单服务器机房。这样做的益处就在于利用云服务的弹性及分布式劣势,能够大大降低运维老本,并且晋升服务的稳定性。

而面向微服务的架构,能将原先耦合度高的单体零碎,在遵循软件“高内聚、低耦合”设计准则的前提下,以独立业务能力为边界拆分为一个个原子零碎。这样做的益处是,每个子系统都能够独立交付部署,从而能实现更麻利的软件迭代成果。目前以 Spring Cloud 为代表的微服务技术,简直已成为事实上的软件构建规范;而以 Istio、Linkerd 为代表的下一代服务网格技术也在疾速倒退,这所有都为云原生架构理念的遍及作了无效地铺垫。

对于 Devops,它强调的是以开发运维的视角,去构建一套高效齐备的 CI/CD 流程,并通过自动化构建工具及公布零碎,来实现软件生命周期的治理。从而使得一般开发人员,可能更快、更频繁地交付更加稳固的软件代码。例如我在本专栏发表的 <<Kubernetes 微服务自动化公布零碎 >> 实际上就是一种 Devops 思维的具体实际案例,感兴趣的敌人能够参考下。

此外基于 Kubernetes 的容器化编排技术,曾经事实上成为微服务运行的规范基础架构环境,也正是 Kubernetes 的风行,才真正推动了云原生架构理念的遍及,Kubernetes 能够说就是云原生架构的外围承载平台。对于 Kubernetes 的基本原理及具体实际本专栏也有一些文章可供参考,感兴趣的敌人能够浏览下。

总结

以上内容给大家大抵介绍了下云原生的概念,并总结了目前云原生所波及的支流技术栈图谱。从宏观上看云原生架构是一个十分宏大的体系,它简直能蕴含目前软件后端技术畛域的方方面面,但从细节上看它却又是咱们现阶段工作中都多少能接触到的技术,例如 Spring Cloud 微服务、服务熔断限流、Kubernetes 容器编排等等。

所以从某种程度上讲,云原生 是一个形象又具体的存在。它不是一个具体的产品,而是一套技术体系和一套方法论,随着围绕着云原生架构的各类开源技术的进一步倒退,云原生技术体系必将成为支流,进而影响到每一个技术人员、每一个企业和行业。

退出移动版