2021-06-17 14:50:26
在云原生架构普及的背景下,模型化应用交付能力是云原生 DevOps 的核心支撑,其通过标准化、自动化和视角分离的机制,解决了混合环境部署中的复杂性挑战,显著提升了应用交付的效率与可靠性。以下是具体分析:
一、云原生 DevOps 的变革背景与核心需求云原生带来的全面变革云原生不仅重构了基础设施和应用架构,更推动了研发理念、交付流程和 IT 组织方式的转型。DevOps 文化及其自动化工具成为云原生落地的关键支撑,通过持续交付流水线实现快速响应业务需求的目标。
云原生加速了开发与运维角色的融合,但混合环境部署的复杂性对应用交付提出了更高要求。传统 DevOps 的局限性
环境割裂:不同环境(开发、测试、生产)需独立配置运维能力,云资源与 DevOps 平台体验割裂。
流程繁琐:应用启动后需手动配置日志、安全策略等附加功能,依赖外部平台创建过程。
技术债务:传统架构难以适配微服务与容器化需求,需向 GitOps、DevSecOps 扩展。
OAM(Open Application Model)的视角分离OAM 提供云原生应用的建模语言,将研发与运维关注点分离:
研发视角:聚焦应用功能开发,无需理解 Kubernetes 底层复杂性。
运维视角:通过模块化、可扩展的特性组件(如负载均衡、日志分析)支撑复杂交付场景。案例:阿里云云效应用交付平台 AppStack 全面支持 OAM,实现应用部署架构无绑定、无侵入。
KubeVela:下一代应用交付控制平面KubeVela 基于 OAM 实现,提供开箱即用的混合环境交付能力:
多集群交付:支持独立纳管多个集群或集成 OCM、Karmada 等工具,通过 Workflow 定义交付顺序与条件。
统一模型管理:以应用为中心,集成 Terraform 编排云资源,支持上百种云服务部署、绑定与管理。
GitOps 增强:提供声明式交付策略(如金丝雀发布)、混合环境部署规则及 Kustomize 风格差异描述。
KubeVela 1.1 版本聚焦混合环境交付,内置丰富工作流步骤(Step),支持灵活扩展。多环境、多集群应用交付
需求:面向 Kubernetes 的多集群交付已成为标准需求。
解决方案:KubeVela 支持独立纳管集群或集成多集群管理工具,通过 Workflow 控制交付流程(如顺序、条件)。示例:用户可定义“先交付测试集群,验证通过后再部署至生产集群”的流程。
以应用为中心的云资源交付
分类管理:
组件:数据库(如 Alibaba-RDS)、中间件、SaaS 服务。
运维特征:日志分析、监控报警。
基础设施:SLB 负载均衡、NAS 文件存储。
优势:开发者通过 Serverless 方式管理资源,避免操作不同云产品控制台。
GitOps 持续交付实践
端到端能力:
定义 CD 流水线,处理部署依赖关系与拓扑结构。
统一云服务声明与绑定,提供开箱即用策略(如蓝绿发布)。
简化操作:通过 Kustomize 风格 Patch 描述多环境差异,无需学习底层细节。
KubeVela 1.2 版本将发布以下功能:
模型化应用交付能力通过 OAM 的视角分离与 KubeVela 的统一控制平面,解决了云原生环境下应用交付的复杂性、环境割裂与流程繁琐问题。其核心价值在于: