第14章-云原生(Cloud Native)架构设计理论与实践

22 阅读4分钟

第一节 云原生架构产生背景

  • Cloud:指其应用软件是在云端而非传统的数据中心
  • Native:代表应用软件从一开始就是基于云环境、专门为云端特性而设计,可充分利用和发挥云平台的弹性+分布式优势,最大化释放云计算生产力
  • DevOps:可以看作是开发、技术运营和质量保障三者的交集,促进之间的沟通、协作与整合。,从而提高开发周期和效率。
  • 云原生技术价值:
    • 能够实现DevOps和持续交付;
    • 企业通过云原生构建一个完整的数字孪生的新体系

第二节 云原生架构内涵

一、云原生架构定义

  1. 代码结构发生巨大变化
  2. 非功能性特性大量委托
  3. 高度自动化的软件交付

二、云原生架构原则

1. 服务化原则

使用服务化的目的还在于从架构层面抽象化业务模块之间的关系,标准化服务流量的传输,从而帮助业务模块进行基于服务流量的策略控制和治理,不管这些服务是基于什么语言开发的

2. 弹性原则

指系统的部署规模可以随着业务量的变化而自动伸缩,无须根据事先的容量规划准备固定的硬件和软件资源。

3. 可观测性原则

SLO(Service Level Object):服务等级目标
对业务健康度和用户体验进行数字化衡量和持续优化

4. 韧性原则

核心目标:提高软件的平均无故障时间(Mean Time Between Failure,MTBF)
韧性包括:服务异步化能力、重试/限流/降级/熔断/反压、主从模式、集群模式、AZ内的高可用、跨region容灾、异地多活容灾等。

5. 所有过程自动化原则

IaC(Infrastructure as Code)
OAM(Open Application Model)

  • 标准化企业内部的企业内部的软件交付过程
  • 在标准化的基础上进行自动化,通过配置数据自描述和面向终态的交付过程,让自动化工具理解交付目标和环境差异,实现整个软件交付和运维的自动化。

6. 零信任原则

核心思想:默认情况下不应该信任网络内部和外部的任何人、设备、系统,需要基于认证和授权重构访问控制的信任基础,诸如IP地址、主机、地理位置、所处网络等均不能作为可信的凭证。
核心问题:身份

7. 架构持续演进原则

  1. 增量迭代
  2. 目标选取
  3. 组织(架构控制委员会)层面的架构治理和风险控制

三、主要架构模式

1. 服务化架构模式

微服务、小服务

2. Mesh化架构模式

image.png

image.png

3. Serverless模式

image.png

4. 存储计算分离模式

image.png

5. 分布式事务模式

  • 微服务模式
    • 提倡每个服务使用私有的数据源,但往往大颗粒度的业务需要访问多个微服务,必然带来分布式事务问题,否则数据就会出现不一致。
    • 架构师根据不同的场景选择合适的分布式事务模式

image.png

6. 可观测架构

image.png

7. 事件驱动架构 (EDA,Event Driven Architecture)

  • 本质:是一种应用/组件间的集成架构模式
  • 事件具有schema,可以校验event的有效性
  • 事件驱动架构不仅可以用于(微)服务解耦,还可应用于下面的场景中

image.png

四、典型的原生架构反模式

  1. 庞大的单体应用
  2. 单体应用“硬拆”为微服务
  3. 缺乏自动化能力的微服务

云原生架构相关技术

一、容器技术

1. 价值与背景

image.png

image.png

2. 容器编排

Kubernetes

image.png

image.png

二、云原生微服务

  1. 微服务发展背景
  2. 微服务设计约束
  3. 主要微服务技术

三、无服务器技术

1. 技术特点

Serverless 包含以下特征

image.png

image.png

2. 技术关注点

  1. 计算资源弹性调度
    1.1 容错
    1.2 资源利用率
    1.3 性能
    1.4 数据驱动
  2. 负载均衡和流控
  3. 安全性

四、服务网络(Serverless mesh)

1、技术特点

image.png

2. 技术关注点

云原生架构案例分析

1.某旅行公司云原生改造

image.png

2.云原生技术助力某汽车公司数字化转型实战

image.png

3.某快递公司核心业务云原生改造

image.png

4.某电商业务云原生改造

image.png

5.某体育用品公司基于云原生架构的业务中台构造

image.png

image.png

案例

云上智能家居管理系统

image.png

image.png

image.png

image.png