云原生简介

官方定义

https://github.com/cncf/toc/blob/main/DEFINITION.md

云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。

这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。

云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。

定义的理解

从定义来看,可以简单归纳下面三个方面。

1. 在何处运行

公有云、私有云、混合云。

2. 具备哪些属性

容错性好,可管理,可观察,松耦合,自动化,频繁和可预测的交付。

3. 厂商中立的开源生态

不依赖于某个具体厂商的云环境,架构实现不被厂商锁定。

云原生概览

图翻译自 https://livebook.manning.com/book/cloud-native-spring-in-action 这本书中的插图

云原生包含了多个方面,对企业来说,目标是最关键的部分:

  1. 速度:更快、更频繁的交付。交付周期更短,新特性上线更快。
  2. 弹性:保证服务的高可用。
  3. 扩容缩容:根据实时负载,自动添加或减少云资源。
  4. 成本:按需付费,节约成本。

其他方面都是为了实现最终的目的:

  1. 云:在哪儿运行,公有云、私有云、混合云。aaS、CaaS、PaaS、FaaS、SaaS等服务。
  2. 拓扑模型:通过容器进行轻量级资源隔离,保证部署环境的一致性。通过服务编排调度容器,管理集群。
  3. 应用属性:为了实现弹性、伸缩,需要具备的属性。可扩展性、松耦合、弹性、可管理性、可观察性。
  4. 实践:如果实现这些,通过自动化、持续交付和DevOps文化。
  5. 架构:应用服务要做到高内聚、低耦合,必须无状态,这样才能在伸缩时增减实例。数据服务是有状态的,做数据、消息、文件的持久化存储。服务直接通过HTTP,socket,gRPC,消息等方式进行通信。

云原生架构涵盖了当前很多成熟和流行的技术,不仅对公司有益,对每一个参与其中的开发、设计、需求、运维等人员,都能带来新的认知和业务、技术方面的提升,抓住机遇,深入学习和实践。


云原生简介
https://blog.mybatis.io/post/27368e76.html
作者
Liuzh
发布于
2022年7月15日
许可协议