阿里巴巴|阿里巴巴DevOps实践指南(二十五)| 阿里巴巴 DevOps 工具体系( 二 )
开发和测试所关注的是如何快速安全的将业务需求转变为线上可以被使用的服务 。 一个或多个服务的组合我们称之为“应用” , 而应用可以运行在一系列云资源之上 , 因此它会变成一系列资源的逻辑归组 。 我们会建立应用的开发、测试、运维流程 , 并将这些流程配置到一个“应用管理平台”之上 , 这就是面向“应用”的用云界面 。
在阿里巴巴 , 我们通过“云资源管理平台”和“应用管理平台”实现了产研人员与云的有效连接 , 并通过平台的流程抽象 , 实现了对云技术细节的屏蔽 , 提升了各角色用云的效率 , 并将企业“资源”与“应用”两种最重要的资产沉淀下来 。
DevOps 工具的云原生趋势 随着 kubernetes、容器化、Serverless、Service Mesh 等完全基于云的技术体系逐步成为业界事实标准 , 云原生化成为了众多企业技术升级的目标 。 DevOps 工具体系需要进行升级以适应云原生的发展趋势 。
Kubernetes 是云原生的代表技术 , 首先它从容器编排能力开始不断演化 , 不但实现了对底层物理资源的有效屏蔽 , 还发展出非常强的可编程的扩展能力 。 基于此能力发展出了一些列中间件、运维工具 , 甚至是编程框架;其次它具有面向终态的特性 , 这种声明式的资源运维模式与传统面向过程的运维模式有着本质区别 , 有机会彻底摆脱人的控制 , 实现无人值守的变更 。 因此云原生的 DevOps 工具不但需要适配云原生的技术和产品 , 而且要能够继承面向终态的思想 , 来进一步提升研发运维效率 。
阿里巴巴将 GitOps/IaC 理念与云原生技术相结合 , 并融合传统应用管理经验产生了新一代云原生研发运维平台 。 相比传统模式 , 新平台具备以下几个特点 。
应用终态运维 开发人员可以通过代码去描述应用的交付过程和运行时状态 , 系统根据变更内容自主决定执行策略 , 将应用状态逐步逼近终态 。 在此过程中系统可以接收用户指令或者监控数据的变化 , 来自主改变变更路径 , 确保系统安全可靠 。
分层定义和管控 架构师、SRE、测试工程师、安全工程师都可以对应用的描述代码进行模块化定义 , 在代码上实现 import功能 , 引入各个角色的预定义内容和管控规则 。 应用负责人可以在规则允许的范围内对应用进行细节定义 。 这样的分层设计一方面可以减少应用定义的复杂度 , 另一方面可以满足企业分层管控的要求 。
配置收敛统一 将包括交付流程、规则配置、配置项、资源配置等方方面面的内容 , 通过代码这个唯一形式来定义 , 可以实现运维定义的收敛 , 大幅降低开发理解各种云产品的复杂度 。 而且可以形成统一操作界面 , 防止不同系统不同权限策略带来的不一致风险 。
变更流程一致性 任何配置的变更都简化为代码变更后 , 可以通过统一的 CICD 流程安全可靠地推进到生产环境 。 这种流程一致性可以最大程度上保障质量和控制风险 , 甚至可以为运维变更准备自动化测试用例 。
总结 阿里巴巴的业务仍在高速发展 , 云的技术尤其是云原生领域也在快速成熟 , 不管是软件开发方法还是工具体系都需要及时应对挑战 , 不断地降低技术门槛 , 不断地提升效率 , 不断地降低风险 。 同时云原生带来的标准化和开放性 , 也让阿里云云研发团队有机会不断地将内部的实践产品化 , 通过“云效平台”对外输出 , 服务于广大云上开发者 。 期待我们的这些工具和实践可以让大家“用好云” , 并与我们一起分享云所带来的效能红利 。
本文为阿里云原创内容 , 未经允许不得转载 。
- 阿里巴巴|电商转折点出现?神秘消失23天的李佳琦,意外暴露了阿里的问题
- 如何在 Notion 类产品中使用卡片笔记写作法:理念与实践
- 阿里巴巴|李佳琦消失扯下阿里“遮羞布”,原来淘宝根本就没有护城河
- 阿里巴巴|低调了三年的阿里如今又重新走上了神坛,马云藏了十年的底牌再也藏不住了
- 阿里巴巴|蚂蚁和阿里,准备彻底分家
- 阿里巴巴|马云现身西班牙开12亿豪华游艇
- 阿里巴巴|线上酒店,把线下渠道搬到线上,同样可以得到商机
- 阿里巴巴|享受退休生活的阿里巴巴创始人马云现身西班牙马略卡岛
- 任正非|京东618增长率历年最慢,阿里巴巴表示:难兄难弟
- 阿里巴巴|发生了什么?李佳琪神秘“消失”,阿里“遮羞布”被撕开
