小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
作为一名开发者,在如今这个云计算盛行的时代,如果不懂云原生,怎么去卷。通俗的讲就是应用为云而生,可以轻松的跑在云上,能够充分利用和发挥云的优势。
概念
云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。
组成
-
云原生
-
微服务
可独立部署、彼此间能够相互通信
-
CICD
-
持续集成
自动化发部程序,开发即运维
-
持续发布
频繁发布,快速交付,快速反馈,降低发布风险
-
-
容器化
Docker是最常用的容器引擎,K8s、服务网格等都是为容器化服务的
-
云计算与云原生
云计算是云原生的基础,没有云计算,云原生就不存在。
云计算将整个系统划分为三层,即基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS) 。
真正的云化不仅仅是基础设施和平台的变化,应用也需要做出改变,云原生就是让应用去适应云计算的发展,不能单单是基础设施和平台在进步,应用也需要进步。这就需要摈弃传统,在架构设计、开发方式、部署维护等各个阶段和方面都基于云的特点,重新设计,从而建设全新的云化的应用,即云原生应用。
总结
云原生程序就是可以实现自动化发布,借助容器化部署在公有云、私有云或者是混合云上的微服务程序,可以实现频繁发布,快速反馈,快速升级的程序。