Cloud Native=Cloud+Native 理解云原生

前言

Cloud Native=Cloud+Native 理解云原生_第1张图片

云原生到底是什么?云原生是个很热的词,云原生看了不少资料,但是很多朋友依然不是很理解所谓的云原生究竟是什么,本文章就来和大家讲一讲笔者是怎样来理解这个云原生的。

云原生

Cloud Native=Cloud+Native 理解云原生_第2张图片

很多小朋友都特别对云原生感兴趣,但是就是听得多这个词,究竟什么是云原生,还是不怎么了解。 百度百科里可以查到云原生的词条如下:

云原生是一种技术体系,基于云技术,分布部署,以容器、微服务、DevOps等技术为基础建立成一套体系。

云原生=云 + 原生

说到这里,可能还有一大部分朋友依然一脸茫然,不明所以。 没关系,不要太去Care; 我看过很多的网上资料对云原生的解释,确实也是和大家一样看了和没看一样迷糊;就我个人的理解过程后的最佳体验而言; 我的理解如下:

云原生从"Cloud Native"翻译而来;而且还翻译得相当到位。

云原生由两个词组成;对没错,云原生=云 + 原生; 前者表示的是此技术的技术体系表现为云,简单的可以理解为云原生的技术表现体在云里,应用都部署在云中;原生(Native)表示实现的手段是天生就具有云中服务的特性,无需去通过额外的特性使然, 这个可能很难去理解,

但是对比一下springcloud可能就好理解一些;SpringCloud也提供云服务的体系支撑,但是咱们在用springboot开发我们的微服务组件的时候,需要通过很多的代码或者注入机制,使得我们的微服务组件支持某方面云的特性; 这样的方式虽然也达到了云服务的目的,但是这些云特性的功能是在组件里支撑的,如果要优化云特性,我们的微服务组件势必难免要进行修改; 原生的优势马上就体现出来了,由于云原生在体系上已经支持,所以我们开发的微服务不需要去考虑这些云特性,只要开发部署到云原生体系里就支持了;把本来就应该是这样做的事情重新放回来原来的地方; 这样一来可能就比较好理解原生这个词了。 serverless和service mesh同样也是类似的考虑。 Native(原生)使得我们的应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。

云原生四个要素

Cloud Native=Cloud+Native 理解云原生_第3张图片

容器,微服务,DevOps, CI/CD实际上就是在云原生的基础体系的四要素,个人觉得只能说是目前阶段云原生体系实现方法中使用的4个技术方向;并不是说云原生就是这4个,而是指的,目前阶段云原生是通过这4个体系来进行实现的。当然,如此新鲜强大的技术体系是未来云计算的发展方向。

Serverless

Serverless 是指构建和运行不需要服务器管理的应用程序的概念。即开发人员无需关注底层的基础设施,只需要关注应用程序的业务本身就行,且该服务是可以自动扩展。

Service Mesh

Service Mesh 业务逻辑与非业务逻辑解耦,实现开发只需关注业务逻辑的伟大目标。和上面的Serverless表达相同的含义;但是维度不相同;Serverless强调的是云原生基础层面的维度; Service Mesh指的是和云原生应用层面;将应用层面中和业务逻辑无关的特性进行解耦(如服务发现,路由,负载均衡,限流降级等);放到单独的 Proxy(诸如K8s的Side car),作为应用开发只关注业务逻辑;

结束语

本文主要介绍了一下,笔者对现在非常热门的技术词“云原生”的个人理解; 并大胆的谈了谈个人对云原生技术的展望;云原生技术不可否认;是在技术发展路上,将要必经的一段技术历程;当然也是目前云服务,云计算的可见发展的未来方向。 希望对云原生感兴趣和关注云原生的朋友们一起探讨有关云原生的话题; 欢迎大家留言,写下自己的看法,感想和希望了解的技术点, 我们一起进行云原生技术的探究。

谢谢大家持续关注。

你可能感兴趣的:(微服务,Docker,云原生,云原生,云计算,kubernetes)