阿里巴巴云原生架构设计
ACNA(Alibaba Cloud Native Architecting)架构设计方法
ACNA 是一个 「4+1」 的架构设计流程,「4」 代表架构设计的关键视角,包括:
- 企业战略视角
- 业务发展视角
- 组织能力视角
- 云原生技术架构视角
「1」 表示云原生架构的架构持续演进闭环。
ACNA 除了是一个架构设计方法,也包含了对云原生架构的评估体系、成熟度衡量体系、行业应用最佳实践、技术和产品体系、架构原则、实施指导等。
云原生技术架构视角
服务化能力
用微服务或者小服务构建业务,分离大块业务中具备不同业务迭代周期的模块,并让业务以标准化 API 等方式进行集成和编排;服务间采用事件驱动的方式集成,减小相互依赖;通过可度量建设不断提升服务的 SLA 能力;
弹性能力
自动根据业务峰值、资源负载扩充或者收缩系统的规模;
无服务器化程度
在业务中尽量使用云服务而不是自己持有三方服务,特别是自己运维开源软件的情况;并让应用的设计尽量变成无状态的模式,把有状态部分保存到云服务中;尽量采用 FaaS、容器 / 应用无服务器的云服务;
可观测性
IT 设施需要被持续治理,任何 IT 设施中的软硬件发生错误后能够被快速修复,从而不会让这样的错误对业务带来影响,这就需要系统有全面的可观测性,从传统的日志方式、监控、APM 到链路跟踪、服务 QoS 度量;
韧性能力
除了包括服务化中常用的熔断、限流、降级、自动重试、反压等特性外,还包括高可用、容灾、异步化的特性;
自动化水平
关注整个开发、测试和运维三个过程的敏捷,推荐使用容器技术自动化软件构建过程、使用 OAM 标准化软件交付过程、使用 IaC(Infrastructure as Code)/GitOps 等自动化 CI/CD 流水线和运维过程;
安全能力
关注业务的数字化安全,在利用云服务加固业务运行环境的同时,采用安全软件生命周期开发,使应用符合ISO27001、PCIDSS、等级保护等安全要求。这个维度作为基础维度,要求在架构评测中关注但是并不参与评分。
架构持续演进闭环
**关键输入:**企业战略视角、业务发展视角;
**关键过程:**识别业务痛点和架构债务、确定架构迭代目标、评估架构风险、选取云原生技术、制定迭代计划、架构评审和设计评审、架构风险控制、迭代验收和复盘。