扫码了解/点击链接 云上自动化运维CloudOps
|
阿里云开发者“藏经阁” 海量电子手册免费下载 |
版本说明
一、前言:提出CloudOps成熟度模型CARES
1. 背景:DevOps与云不谋而合,亟待融合
DevOps已经成为了近年来运维的主要趋势之一,越来越多的企业在拥抱和实践DevOps文化,也越来越多的企业在公有云中使用DevOps,但是绝大部分企业都认为自己没有发挥和使用DevOps的核心能力。本章节将分享我们对这个问题的看法,并提出我们的解法:CloudOps。
1) DevOps越来越被广泛使用
DevOps本质是为了协同公司内多个不同团队快速朝着同一个业务目标前进,而衍生出来的一系列流程和自动化工具,强调的就是组织和业务的敏捷性。
DevOps理念囊括团队文化、组织协同和研发运维多个方面,希望消除研发、运维之间的利益差异和差距,促进团队协作,专注于端到端的能力交付和系统建设,让软件交付的全生命周期中的开发、部署、维护和扩展等各个步骤更加有效率,降低故障次数和故障时长,充分体现了以产品和效率为中心来进行软件开发和交付。
通过DevOps理念的实践,企业提高了研发效率,缩短了业务从研发到上线的周期,从而提升应用交付质量和交付效率。
DevOps模型定义了几个成功的关键分组,这些对于应用成功和提升效率非常有帮助。
• 敏捷开发的过程管理:实现高效协同,定义人与人之间的协同,业务和技术之间的协同,组织和团队的治理以及需求管理等多个要素和因子。
• 持续交付:通过定义更好的CI/CD工具来完成灵活变更和持续交付部署,更好地构建环境以及提升可视化能力。
• 技术运营提升:可以快速构建所需要的基础设施和资源保证,对于监控预警、问题发现、容量管理、变更管理和成本管理等,提供体系化的支撑。
随着DevOps越来越成熟,众多的企业通过DORA指标来衡量交付的效率,以及交付和变更的质量,主要包括部署频率(Deployment Frequency)、变更提前期(Lead Time for Changes)、平均恢复时间(Mean Time to Recovery)和变更失败率(Change Failure Rate)这四个维度,这几个指标体现了企业对应用交付的敏捷程度以及对于故障处理的时效性和效率。
2) 云上运维面临的挑战
在DevOps文化被广泛采访的同时,也有越来越多的企业借助云计算来实现数字化转型。云平台提供了巨大的计算力资源,规模化的弹性优势、丰富的标准化云产品、自动化工具,自助服务的模式不仅能帮助企业IT设施云化,按需取用随取随用的业务场景和自助服务的模式大大增强了企业基础设施需求和变更的敏捷性,借助于云平台和开源的监控以及运维自动化能力可以大幅提升应用的可观测性,提升故障的发现率,降低故障的恢复时间。
然而,研究表明,越来越多的企业在公有云中使用DevOps,但是绝大部分企业都认为自己没有发挥和使用DevOps的核心能力。
这是因为,将传统的DevOps直接搬到云上,并不能充分利用云的优势,因为相比于传统的DevOps的运维模式,云上自动化运维的模式和思维仍然有着不小差异。这也是部分企业上云之后,建立一套云原生自动化运维体系的挑战。
• 操作对象的差别
。 传统运维:直接操作的是物理的计算、网络、存储的硬件。
。 云端运维:大多通过软件暴露接口或OpenAPI来进行操作经过抽象的资源。
• 资产和资源的区别
。 传统运维面向的服务器是企业资产,需要提升单机的利用率,并提前很久规划资源。
。 云端运维则是在弹性租赁资源,除了提升单机利用率,还可按需扩缩容,利用OpenAPI和应用分组来管控资源。
• 统一化规模化差异
。 传统运维一般操作的规模相对较小,管理的机房相对明确和有限。
。 云端运维可快速通过资源的弹性能力轻松的管理数百台、跨机房的服务器。
• 强调安全可审计
。 云端操作来源和对象相对复杂,对操作审计和操作来源及报警的时效性要求比较高。
。 云端可将服务通过命令直接暴露在公网中,需要更多安全和网络规划能力来降低系统风险。
。 高频的可编程自动化运维需要有比较好的审计和问题追踪能力,避免越权和不容易被追踪的问题。
可见,DevOps需要根据云的特性进行一系列改造,才能与云进行更好地融合。