【云原生】你还不懂云原生?看完你就清楚了
大家好,我是翼同学!
1️⃣写在前面
云原生产业的发展延续强劲态势,其概念得到了社区、企业和市场的广泛认可,在互联网、金融等领域有了许多实践的案例,越来越多的企业愿意将架构朝云原生演进。
如今,云原生正以强劲的发展之势,剑指云计算的下一个十年。
云原生的特性:
分布式、弹性、多租户,子服务,按需计量和计费,增量部署和测试。
云原生很火,但到底什么是云原生?看完这篇文章你就了解了。
2️⃣了解云原生
首先,了解一下云计算。
如何理解云计算?有大佬曾比喻:由于云计算的强扩展能力,使得其像自来水厂一样,我们可以随时接水且不限量,按照用水量付费给自来水厂即可。
接着,云原生的定义如下:
-
云原生是基于分布部署和统一运管的分布式云,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系。
简单的说,云原生就是一种新型技术体系,是云计算未来的发展方向。
云计算从虚拟机发展到容器,再到现在的云原生,可以看出,技术迭代发展很快。
云原生(CloudNative)是一个组合词:Cloud与Native Cloud:表示应用程序位于云中,而不是传统的数据中心; Native:表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。
3️⃣云原生四要素
先来看看 CNCF(云原生计算基金会) 对云原生的定义:
基于微服务原理而开发的应用,以容器方式打包。在运行时,容器由运行于云基础设施之上的平台进行调度。应用开发采用持续交付和DevOps实践。
也就是说,云原生的四大要素为:
微服务、容器化、DevOps、持续交付
微服务:是一种云原生架构方法,提倡将单个应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。即单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成,内聚更强,变更也较为容易,大型,紧密耦合的应用程序的整体方法相反。 容器化:容器化为微服务提供实施保障,起到应用隔离作用。比如Docker,就是应用最为广泛的容器引擎。Docker让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上。 DevOps:这是个组合词,Dev+Ops,就是开发和运维。DevOps是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。 持续交付:持续交付是不误时开发,不停机更新,小步快跑,反传统瀑布式开发模型,这要求开发版本和稳定版本并存,其实需要很多流程和工具支撑。
4️⃣写在最后
总的来说,云原生并不单单指某种技术,而是一种架构设计理念。也就是说,只要符合云原生架构设计理念的应用,都可以称为云原生应用,即面向“云”而设计的应用。
随着云计算的发展和普及,基础设施越来越厚实,业务开发变得越来越容易。云原生概念使得开发者无需考虑底层技术的实现,进而发挥云平台的弹性和分布式优势,实现快速部署、按需伸缩、不停机交付等。
引用大佬的话:
符合云原生架构的应用程序应是:采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。使工程师能够轻松地对系统作出频繁和可预测的重大变更。