【阿里云】云原生架构白皮书_70页_2mb
报告摘要
云原生架构总结
核心内容
云原生架构是一种基于云原生技术的新型架构理念,旨在通过剥离非功能性代码、提升自动化水平、增强弹性与可观测性,让企业应用更好地利用云计算的优势,实现更敏捷、更低成本、更灵活的业务扩展。云原生技术与架构正成为企业数字化转型的关键支撑。
主要观点
-
云原生的必要性
- 传统IT架构无法充分发挥云计算的潜力,导致资源浪费与运维复杂。
- 云原生架构能够帮助企业应对业务的快速变化,提升系统弹性、可用性、安全性和可观测性。
-
云原生的核心技术
- 容器技术:实现应用的标准化打包与部署,提升交付效率与资源利用率。
- 微服务架构:通过服务化拆分,提升系统的灵活性与可维护性。
- Serverless:让开发者专注于业务逻辑,屏蔽底层资源管理,实现弹性伸缩与按需计费。
- Service Mesh:将服务治理、流量控制等非功能性能力下沉到独立进程,提升系统的可观测性与可管理性。
- 开放应用模型(OAM):通过标准化应用定义与运维能力,提升应用管理的抽象层次与可复用性。
-
云原生架构原则
- 服务化原则:通过服务拆分,提升系统模块的独立性与复用性。
- 弹性原则:实现资源的自动伸缩,提升系统的适应性。
- 可观测原则:通过日志、追踪、指标等手段,实现对系统的全面监控。
- 韧性原则:提升系统的容错能力,保障业务连续性。
- 自动化原则:通过 CI/CD、GitOps、OAM 等工具实现交付与运维的自动化。
- 零信任原则:通过身份认证与访问控制,提升系统的安全性。
- 架构持续演进原则:支持系统在业务迭代中不断优化与重构。
关键信息
主要架构模式
- 服务化架构:将应用拆分为微服务或小服务,提升系统的模块化与独立性。
- Mesh化架构:将中间件功能从业务代码中解耦,实现更灵活的流量控制与服务治理。
- Serverless 架构:减少运维负担,实现按需计算与自动弹性伸缩。
- 存储计算分离:通过云服务存储数据,提升系统的可扩展性与灵活性。
- 分布式事务模式:通过不同机制(如 TCC、SAGA、BASE)保障数据一致性。
- 事件驱动架构:通过事件处理实现异步交互与快速响应。
典型云原生架构反模式
- 庞大的单体应用:缺乏模块化与自动化,难以应对快速迭代与扩展。
- 过度服务化:导致模块管理复杂,运维成本上升。
- 缺乏自动化能力的微服务:增加开发与运维负担,影响交付效率。
云原生技术详解
容器技术
- 定义:容器是一种标准化的软件单元,将应用与依赖项打包,实现跨环境运行。
- 价值:提升部署密度、弹性、可移植性。
- 工具:Docker、Kubernetes。
- 发展趋势:容器技术正在成为云原生的基础设施,推动更高效的应用交付。
云原生微服务
- 背景:随着业务复杂度提升,微服务成为应对挑战的主流架构。
- 设计约束:
- 服务个体约束:每个微服务应有清晰的职责与边界。
- 服务间横向关系:通过服务发现与治理实现解耦。
- 数据层纵向约束:提倡数据隔离,避免数据耦合。
- 典型技术:Apache Dubbo、Spring Cloud、Eclipse MicroProfile、Tars、SOFAStack、Dapr。
Serverless
- 技术特点:
- 免运维、按需付费、自动弹性伸缩。
- 支持事件驱动与快速响应。
- 常见场景:
- 小程序/Web/Mobile/API后端服务。
- 大规模批处理任务。
- 事件驱动的在线应用与离线数据处理。
- 技术挑战:
- 冷启动、数据库连接成本等。
- 对比:
- 弹性计算(ECS):基于虚拟机,资源利用率低。
- Serverless 应用(SAE/Knative):基于容器,资源利用率高。
- FaaS:基于函数,适合事件驱动场景。
开放应用模型(OAM)
- 背景:为实现“以应用为中心”的目标,OAM 提供了更高层的抽象。
- 核心概念:
- 组件(Component):描述应用的业务模块。
- 运维特征(Trait):描述应用的非功能性能力。
- 应用配置(Application Configuration):将组件与特征组合,形成可交付的应用实例。
- OAM Kubernetes 插件:
- 无缝对接现有 Kubernetes API 资源。
- 提供 Workload 与 Trait 的标准化交互机制。
- 支持组件版本管理、依赖关系处理、运维策略定义。
Service Mesh 技术
- 技术特点:
- 将服务治理、流量控制、安全、可观测等能力下沉到独立进程。
- 通过 Sidecar 实现无侵入式管理。
- 主要组件:
- 数据平面:如 Envoy、Istio。
- 控制平面:负责策略配置与管理。
- 发展趋势:
- 数据平面与控制平面的协议标准化。
- 通过 SMI、xDS 等接口实现更广泛的兼容性与复用性。
- 服务网格成为微服务治理的重要基础设施。
云原生产品与案例
云原生产品家族
- 容器产品:如 ACK、ECI。
- 微服务产品:如 Spring Cloud Alibaba、Nacos、Sentinel。
- Serverless 产品:如 SAE、Knative、函数计算。
- ServiceMesh 产品:如 Istio、MOSN。
- 消息产品:如 RocketMQ、Kafka。
- 云原生数据库产品:如 PolarDB、MongoDB。
- 云原生数仓产品:如 MaxCompute、Flink。
云原生架构实践案例
- 申通快递:实现核心业务系统云原生化,提升业务处理效率。
- 完美日记:通过微服务与 Serverless 技术实现电商业务的快速迭代。
- 特步:构建业务中台,实现零售与公共云的协同。
- 中国联通:实现传统业务的云化,提升系统可用性与扩展性。
- Timing App:通过 Serverless 实现高并发与低延迟的业务支持。
云原生未来发展趋势
- 容器技术:继续推动标准化与生态成熟。
- 新一代应用编程接口:支持更灵活、更高效的云原生应用开发。
- Serverless:成为主流计算模式,支持更多场景。
- OAM:推动云原生应用的标准化与抽象化。
- Service Mesh:实现更精细的流量治理与服务监控。
- 云原生生态:持续演进,推动技术与平台的深度融合。
总结
云原生架构正在成为企业数字化转型的核心支撑,它通过服务化、自动化、弹性化与可观测性,帮助企业构建更灵活、更高效、更安全的IT系统。随着容器、微服务、Serverless、Service Mesh 和 OAM 等技术的成熟,云原生正在加速普及,成为企业实现创新与增长的关键技术路径。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载