Go语言高并发与微服务实战 - 学习笔记
文章目录
- Go语言高并发与微服务实战 - 学习笔记
- 第1章 云原生架构
- 1.2 云原生是什么
- 1.2.2 云原生的定义
第1章 云原生架构
1.2 云原生是什么
1.2.2 云原生的定义
自从云原生提出以来,云原生的定义就一直在持续地更新。这也说明了云原生的概念随着技术的发展而不断地被深刻认知。
Pivotal是云原生应用的提出者,并推出了Pivotal Cloud Foundry云原生应用平台和Spring 开源Java开发框架【牛逼】,成为云原生应用架构中的先驱者和探路者。
早在2015年,Pivotal 公司的Matt Stine写了一本叫做《迁移到云原生应用架构》的小册子,其中探讨了云原生应用架构的几个主要特征:
- 符合12因素应用
- 面向微服务架构
- 敏捷架构
- 基于API的协作和抗脆弱性
而在 Pivotal的官方网站上,对云原生(Cloud Native)的介绍包括4个要点,
包括:DevOps、持续集成、微服务架构和容器化
云原生计算基金会(CNCF)最开始(2015年成立之初)对云原生的定义则包含以下3个方面:
- 应用容器化
- 面向微服务架构
- 应用支持容器的编排调度
到了2018年,随着云原生生态的不断壮大,加入CNCF 的企业和组织越来越多,且从Cloud Native Landscape中可以看出云原生项目涉及领域也变得很大,CNCF基金会中的会员以及容纳的项目越来越多。
CNCF 给出的云原生景观图,其中包括云原生的各种层次的提供者和应用:
- IaaS 云提供商(公有云、私有云);
- 配置管理,提供最基础的集群配置;
- 运行时,包括存储和容器运行时、网络等;
- 调度和管理层,协同和服务发现、服务管理;
- 应用层。
之前的定义已经限制了云原生生态的发展,CNCF 为云原生进行了重新定位:
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。
云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。
这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。
我们通过将最前沿的模式民主化,让这些创新为大众所用。
云原生实际上是一种理念或者说是方法论,云原生应用就是为了在云上运行而开发的应用。