目录
(一)导论——云计算和云原生
1. 云计算
1.1 什么是云计算
云计算通过互联网按需提供IT资源(如:服务器,存储、数据库、网络、软件、分析和智能),并且采用按照使用量计费的定价方式,提供快速创新,弹性资源和规模经济,帮助降低运营成本,是基础设施更有效地运行,并能根据业务需求的变化调整对服务的使用。
特点:
- 提升了开发速度和效率;
- 弹性;
- 成本,按照使用量付费,降低了成本;
- 性能和可靠:高可用,性能优化等功能由云服务供应商提供;
1.2 云部署类型和云服务类型
云部署类型
公有云:公有云资源(例如服务器和存储空间)由第三方云服务提供商拥有和运营,这些资源通过 Internet 提供。在公有云中,所有硬件、软件和其他支持性基础结构均为云提供商所拥有和管理。
私有云:私有云由专供一个企业或组织使用的云计算资源构成。私有云可在物理上位于组织的现场数据中心,也可由第三方服务提供商托管。但是,在私有云中,服务和基础结构始终在私有网络上进行维护,硬件和软件专供组织使用。
混合云:混合云是云计算的一种类型,它将本地基础结构(或私有云)与公有云结合在一起。使用混合云,可以在两种环境之间移动数据和应用。
1.3 云服务类型
-
IaaS:(Infrastructure as a Service),即基础设施即服务。
- 直接提供IT基础设施,并对资源使用量或者占用量进行计费;
- 直观理解,就是只提供了虚拟化的硬件;
-
PaaS:(Platform as a Service)的缩写,是指平台即服务。
- 把服务器平台作为一种服务提供的商业模式;
- 硬件基础上增加了操作系统和中间件,运行时;
-
SaaS:(Software as a Service)的缩写,软件运营服务。
- 让用户能够通过互联网连接和使用基于云的应用程序,PaaS实质上也是SaaS的一种类型;
- 开箱即用的服务;
具体差异见下表:
√ 代表云服务供应商提供,* 默认为用户管理
本地 | IaaS | PaaS | SaaS | |
---|---|---|---|---|
应用 | * | * | * | √ |
数据 | * | * | * | √ |
运行时 | * | * | √ | √ |
中间件 | * | * | √ | √ |
操作系统 | * | * | √ | √ |
虚拟化 | * | √ | √ | √ |
网络 | * | √ | √ | √ |
存储 | * | √ | √ | √ |
服务器 | * | √ | √ | √ |
2. 云原生
基于云的能力和特点,应用被设计为在云上以最佳方式运行,从而充分发挥云的优势。
2.1 定义
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
利用这些技术,可以构建松耦合的、弹性的、易于管理的、可观测的应用系统;结合自动化流水线,工程师可以利用最少的资源,快速而高效的实现高价值的应用升级。
2.2 特点
- 简单高效,化繁为简
- 把底座交给云,把运维交给云,利用云提供的能力——关注你的应用,而不是应用的依赖、环境和周边;
2.3 云原生框架
- 云原生应用
- 微服务架构
- 12 + 3要素
- Serverless
- 云原生资源和运行环境
- 容器集群治理;
- 容器化;
- 弹性;
- 应用编排;
- 云原生基础设施
- 基础设施即代码
- 不可变基础设施
- 云原生集成
- 服务发现
- ServiceMesh
- 云原生安全
- 权限控制
- 命名空间隔离
- 云原生运维
- 可观测性
- 混沌工程
- 云原生xxx
2.4 云原生的常见模式
- 架构模式
- 基于DDD
- 同步使用API、异步使用消息
- 状态外置、配置外置
- 资源消耗模式
- 弹性计算
- 按需消费
- 使用云服务
- 数据模式
- 按服务设计数据
- 读写分离
- 最终一致性
- 交付模式
- 高度自动化
- 设计、开发、构建、发布分离
- 环境模式
- 通过API与环境交互
- 环境可描述、可编排