什么是云原生?
什么是云原生?
1.简介
云原生
:是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud
+ Native
:
- Cloud 表示应用程序位于云中,而不是传统的服务器中;
- Native 表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳的姿势运行,充分利用和发挥云平台的弹性+分布式优势。
云原生一直在发展变化中,没有确切的定义,我们通常将云原生定义为四要素:微服务
+ DevOps
+ 持续交付
+ 容器
。
总而言之,符合云原生架构的应用程序应该是:
- 基于微服务架构提高灵活性和可维护性,
- 借助敏捷方法、DevOps支持持续迭代和运维自动化,
- 采用开源堆栈(K8s + Docker)进行容器化,
- 利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。
2.云元素的四要素
-
微服务:几乎每个云原生的定义都包含微服务,跟微服务相对的是单体应用。微服务的理论基础是
康威定律
,指导服务怎么切分,大概意思是组织架构决定产品形态。微服务架构的好处就是按功能切分之后,服务解耦,内聚更强,变更更易;另一方面也可以根据DDD来划分服务。
-
DevOps:这是个组合词,Dev + Ops,就是开发和运维合体,不像开发和产品,经常刀刃相见,实际上 DevOps 应该还包括测试,DevOps 是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付的能力。
-
持续交付:是不误时开发,不停机更新,小步快跑,反传统瀑布式开发模型,这要求开发版本和稳定版本并存,需要很多流程和工具支撑。
-
容器化:Docker 是应用最为广泛的容器引擎,在思科、谷歌等公司的基础设施中大量使用,是基于
LXC
技术。容器化为微服务提供了实施保障,起到应用隔离作用,K8S是容器编排系统,用于容器管理,容器间的负载均衡,由谷歌开发,Docker 和 K8S 都是使用 Go语言 编写的,是非常好用的工具。(补充:LXC(Linux Containers)是一种基于Linux内核的容器化虚拟化技术。它允许在一个主机上运行多个相互隔离的Linux系统和应用程序实例。)
整理完毕,完结撒花~ 🌻
参考地址:
1.【云原生-介绍】到底什么是云原生?下一个内卷?https://blog.csdn.net/u010800804/article/details/120428072
更多推荐
所有评论(0)