以阿里云为例,企业上云使用云采用框架(Cloud Adoption Framework,简称CAF),为企业上云提供策略和技术的指导原则和最佳实践,帮助企业上好云、用好云、管好云,并成功实现业务目标。本云采用框架是基于服务大量企业客户的经验总结,将企业云采用分为四个阶段,并详细探讨企业应在每个阶段采取的业务和技术策略;同时,还提供了一系列最佳实践、文档和辅助工具,帮助云架构师、云管理团队等干系人能够实现组织协同达成目标。
一、什么是云采用框架CAF
云采用框架(Cloud Adoption Framework,简称CAF)为企业上云提供策略和技术的指导原则和最佳实践,帮助企业上好云、用好云、管好云,并成功实现业务目标。
本云采用框架是基于服务大量企业客户的经验总结,将企业云采用分为四个阶段:上云战略、上云准备、应用上云和运营治理,并详细探讨企业应在每个阶段采取的业务和技术策略;同时,还提供了一系列最佳实践、文档和辅助工具,帮助云架构师、云管理团队等干系人能够实现组织协同达成目标。
ITIL(Information Technology Infrastructure Library) 是IT服务管理的经典方法论,被企业广泛采用。ITIL中核心的概念是IT服务,IT服务是用来支持企业业务发展的技术服务,它的全生命周期包含服务战略、服务设计、服务转换、服务运营以及服务的持续改进五个阶段,其中
- 服务战略阶段:定义服务、明确服务的价值以及服务管理与业务之间的关系。
- 服务设计阶段:定义服务的目标和要素、模型和风险,定义管理服务的流程。
- 服务转换阶段:提供发展和改进能力将服务交付到运营阶段。
- 服务运营阶段:在服务交付和支持中保证效率和效果,为客户提供价值。
云服务是当下最流行的IT服务之一,云服务的采用应遵循上述生命周期。我们的云采用框架就是以这样的理论体系为指导,定义了企业引入云服务的四个阶段:
- 在上云战略阶段,领导层需要思考上云能为业务带来什么价值,并在公司层面确定相应的战略。
- 在上云准备阶段,IT团队需要制定云采用的顶层设计,确保组织协同和可管可控。
- 在应用上云阶段,开始迁移原有的系统上云或者在云上开展新的业务。
- 在运营治理阶段,企业不断发现和解决运营过程中的问题和风险,提升服务质量。
二、企业上云的主要动机
我们可以根据上云的业务对上云动机进行分类。如果上云的业务是一个在云下已经存在的业务,那么上云主要是把云下的应用迁移到云上,这称为业务迁移上云。如果上云的业务是一个新构建的业务,首次部署运行就在云上,这称为业务创新上云。
业务迁移上云
业务迁移上云是最为常见的一类上云动机,也是云计算技术商业化后最早期的企业普遍采用的上云方式。业务迁移上云的主要目的是:
- 加速资源的交付效率,提高对业务需求的反应速度。
传统IDC采购周期从一个月到几个月不等。如果涉及到出海,对于企业来说IDC的规划甚至长达数年。而云上资源的交付效率近乎实时。 - 降低成本。
云计算将IT资产的成本由传统的Capex资产折旧模型转变为Opex的按量付费模型。这样做一方面减少企业的一次性IT投入,另一方面也可以让企业按时按量购买需要的资源,以节省成本。 - 使用云提供的最新技术。
云厂商通常在产品技术的投入非常大。因此,云厂商提供的云服务通常在行业中比较领先,例如我们常说的云原生服务,如容器、中间件。 - 提高服务的安全性。
云厂商提供的是规模化在线服务。在安全性方面,云厂商有大量的数据能够帮助客户更好的应对互联网上的攻击。
业务创新上云
随着数字化转型的浪潮,当前许多企业开始业务创新。云上提供了较为丰富的PaaS和SaaS服务,因此云也是这部分转型的最佳选择。业务创新上云的主要目的是:
- 云上提供丰富的创新能力,例如IoT、大数据、业务中台,能够大幅降低企业业务创新的门槛。
- 需要将业务快速推向新的市场。
三、上云所需的企业组织模型
企业上云和用云的整个生命周期,需要专业团队进行合理的规划、实施以及持续优化云采用方案,推进企业更好的利用上云的优势促进业务发展。企业通常至少有一个云管理团队,或由相关负责人组建一个云卓越中心(Cloud Center of Excellence,简称CCoE)负责规划和对接上云的整体方案,包括在公司层面确认上云的整体计划、步骤,以及收集业务团队的具体需求。
上云所需的企业组织模型
首先,我们看一下一个典型的企业组织架构。为了便于理解,我们对这个组织结构进行了适当的简化。在这个架构中,不同的团队对公司的整体目标进行拆解,例如业务团队主要贡献公司的营收、流入目标,财务、法务等团队对公司的整体运营风险进行控制,产品技术团队则为业务团队提供技术支撑。
核心职责
企业采用云服务的过程中有以下核心工作项:
- 上云策略:从公司战略层面确定企业上云的动机和期望的业务结果。在充分论证企业上云的收益和风险后,最重要的是在公司上下充分传达和教育,确保公司高层、业务、研发、运维、财务、人力资源等各个相关团队统一认识,明确上云战略,各团队能够配合做出相应的计划和调整。制定企业上云计划,包括业务范围、上云的计划节奏、各阶段目标以及最终结果。协调各部门准备相应的预算、调配人员和组建必要的团队。
- 上云准备:准备上云的基础环境,对云服务进行学习和测试,选择小规模的业务进行迁移验证。设计业务上云的整体架构,其中包括迁移方案和基于云技术的创新。规划业务上云的流程,协调业务部门配合实施业务上云。分阶段逐步实施业务迁移上云,并在过程中调整方案,确保业务连续性和稳定性。
- 应用上云:梳理企业应用系统清单,调研应用上云兼容性等相关特征,筛选需要上云的应用,制定应用的上云策略。
- 持续治理:充分预见和评估企业安全合规等风险,规划企业IT治理的整体方案、策略和基本规则,包括资源结构、身份权限、费用账单、合规审计、网络架构、安全策略以及监控规则等。在企业上云和用云过程中,通过治理规则预防、发现和及时治理风险。
为了适应云采用框架,组织需要进行以下准备:
- 企业管理层:企业管理层需要明确云在公司的战略地位以及各个团队应该如何使用云。
- 云卓越中心:该团队可以是虚拟的组织,设计提供云服务的模式和管理体系,并提供相应的技术准备。其中的成员包括
- 架构师和专业技术人员,负责上云架构设计和业务上云迁移工作;
- 安全、合规等领域专家,负责设计企业IT治理方案、预估风险和制定治理规则;
- 财务专家,负责制定财务的管理流程,成本分摊原则。
- 云管理团队:在企业业务全面上云之后,持续优化上云架构,为新业务提供云上环境。建立企业云上运维体系,搭建运维平台,以及通过自动化运维的方式,对云上环境进行持续治理和管理。根据新业务需求,分配所需云资源和所需权限,并对资源进行初始化配置后交付。应用运维团队只需用云,无需关注基础设施搭建。综上,平台运维工作也可细分为架构优化、云平台建设、资产管理、权限管理、云自动化等多种职责。
四、云上管理和治理框架
定义
如果把上云框架的搭建比作建设社区,那么企业的中心IT团队就是社区的总设计师。一个好的社区通常具备较为完善的顶层设计,最终才能提供优质服务给社区租户。社区规划首先要考虑的是基础设施的布局和建设,包括道路的规划、门禁的管理、停车场的布局、楼房规格的规划等。其次,社区一般也会提供通用服务,例如垃圾分类、水电维修等,以及制定相应的社区规约来管理租户,例如装修时间规定、噪音规定。作为增值服务,高档社区还会提供统一的不同类型的样板间,比如统一水电、装修等。
在阿里云,我们建议企业在第一个应用上云前,需要有一整套顶层设计和一系列基础框架,为后续的业务上云扫清障碍。否则,可能会导致后续业务上云面临成本、网络、安全、效率等多方面的问题。业界通常把这些基础框架叫做Landing Zone,我们也遵循这一命名方法。
如上所述,在成熟的运维模型中,通常由企业的中心IT团队负责集中管理和管控,然后将云环境交付到业务团队。为了高效地提供安全、稳定的云环境,中心IT团队需要搭建一套企业级的管理和治理框架作为云环境的基础设施,为企业上云打好基础。
例如,某跨国企业使用阿里云支撑公司多个业务系统,其中包含公司的互联网业务和ERP,以及内部的OA等系统,这些系统由不同的团队负责。为了更高效地使用云,公司成立新的“云平台”部门负责和云的对接。“云平台”的内部定位是公司负责提供云能力的部门,以此加速IT和业务升级。具体而言,“云平台”部门负责云上资源的快速交付、成本控制、质量保证,同时赋能业务部门在安全的前提下进行创新。“云平台”在阿里云提供的Landing Zone的基础上,构建了整个云服务体系。
架构
那么,一个完整的Landing Zone,究竟包括哪些方面?在参考了众多企业客户的实践之后,我们定义了Landing Zone,其包含如下几个功能模块。
下表简要描述了上述功能模块。
Landing Zone模块 | 描述 |
资源规划 | 规划云上账号及其组织结构。根据公司的运维模式,定义所需要的管控关系。 |
财务管理 | 管理云平台的合同、优惠、付款关系、账单,以及认证公司在云平台的实体、发票抬头等财务相关的属性。 |
网络规划 | 规划云上VPC的拓扑结构、混合云网络的互联、网络的流量走向、相关的安全措施,以及如何构建高可用和可扩展的网络架构。 |
身份权限 | 规划谁能够访问云,并通过单点登录SSO和细粒度授权实现人员按需访问。 |
安全防护 | 通过在云上构建基础的安全环境,帮助业务系统在云上快速的安全落地。 |
合规审计 | 设计治理的目标和流程,并通过相应的工具来实现对于治理规则的监督。 |
运维管理 | 构建以CMDB为核心的运维管理体系,包含标准的发布变更流程,应用和基础设施的统一监控,集成企业的ITSM系统,提供自助服务。 |
自动化 | 定义自动化场景和目标,并通过相应的工具实现自动化。常见的场景如Landing Zone自身的搭建以及CI/CD流水线的自动化。 |
五、企业应用上云规划
随着企业信息系统的持续建设,IT与业务不断的融合,企业应用类型及模板不断发展,如何从大量企业应用系统中筛选需要上云的应用,确定应用上云的策略及优先级,是上云实施前需要做的事情。所以,建议企业在上云迁移实施前,对企业总体应用进行上云规划。以企业上云战略及规划为指导方向,梳理企业应用系统清单,调研应用上云兼容性等相关特征,制定应用的上云策略,以及应用上云迁移优先级。阿里云上云评估模型如下图所示。
上云兼容相关特征
上云兼容特性主要包含基础设施相关兼容性以及应用架构兼容性特征;
基础设施兼容性特征
- 硬件依赖性
- 是否有特殊硬件要求,比如USB加密狗等;
- 性能要求
- 是否有特殊性能要求,比如运行环境CPU、内存规格,IO或网络要求等,云上是否能满足;
- 操作系统要求
- 是否有特殊版本操作系统要求,云上是否能提供;
应用架构兼容性特征
- 集中式/分布式架构
- 应用是否分布式架构,以及使用的分布式架构框架,是否有对应的PAAS产品支持兼容
- 源代码可控性
- 源代码是否可操作及维护,是否有能力支持上云迁移或改造;
- 技术组件上云兼容性
- 包含数据库、存储、中间件等技术组件,是否有对应兼容的云产品;
其他特征
- 业务/技术痛点或诉求
- 是否有业务或技术上的痛点或诉求,比如当前集中式架构迭代速度无法支持业务快速发展,需要做微服务改造;
- 资源/数据增长需求
- 当前基础设施环境,是否满足业务预期的资源或数据增长需求,以及数据增长要求对架构提供优化需求,比如数据库容量无法满足业务未来数据增量,在上云同时,需要做水平拆分;
- 安全合规要求
- 是否有行业特征的安全合规要求,云的安全合规等级是否满足行业要求;
- 容灾要求
- 是否容灾或数据灾备要求,云产品能力是否支持;
上云策略
上云规划阶段,需要确认应用的上云策略,是否平迁或改造上云,根据阿里云的以往项目实践,我们建议的上云策略包含以下几点。
保持现状
保留应用程序在当前的IT环境,作为非云基础设施的一部分;
平迁上云
应用比较容易移植到云环境上,使用云产品可替兼容替换技术组件,少量修改应用配置后重新部署到新的云平台。
优化上云
通过使用云上PaaS产品及服务,对应用进行局部优化,提升性能或稳定性。
重构上云
应用组件不适配云的架构,或者不符合成本效益,因此需要对应用进行重构,基于新的云平台构建云原生架构的应用。
决策流程
根据业务调研阶段输出的应用系统清单及应用特征数据,每个应用最终对应上云评估策略的中一个类别。其决策流程可以参考下图。
考虑到企业应用系统规模较大,各方面资源无法保障所有应用系统并行上云。所以,我们建议制定应用上云优先级,并明确迁移批次及计划,使得所有资源能够有效被利用,并降低上云风险。
我们建议应用上云优先级的制定,以“速赢”为原则,即优先迁移上云难度低且上云收益高的应用。根据应用的上云难度及上云价值收益,可以将应用上云优先级,划分低中高三个象限,应用上云优化级制定方法如下图所示。
应用上云批次确认后,根据企业上云战略及规划,制定企业应用上云总体实施计划,示例如下图所示。
六、企业应用上云实施流程
阿里云基于业界最佳实践和大量上云项目的经验累积,总结出以下迁云流程,这一过程建立在完成了企业应用上云规划后,以应用为单位进行进一步的迁移计划和实施。
在上云实施阶段,应用调研的目标,是为了解应用的应用架构以及使用的技术组件,以制定云上目标详细方案,包含云上应用架构设计,产品选型及容量评估、迁移方案以及割接方案,所以这一阶段调研的信息比较详细。
应用架构及依赖
- 应用架构
- 应用模块及模块间关系,节点配置及数量;应用开发语言及框架。
- 应用依赖
- 其他应用间的依赖关系,以及外部依赖,主要用于割接方案参考;
技术组件
- 数据库
- 数据库类型,版本,数据量,性能要求等;
- 中间件
- 中间件类型,版本,集群规模及容量【可选】,如消息队列、缓存等;
- 存储
- 使用存储设备的接口协议,及数据量;
应用性能基线
- 应用的性能指标要求,用于测试验证阶段性能测试目标参考;
调研工具
如果企业系统非常庞大,应用之间耦合多,各系统的负责部门不同,人工收集的方式难免会有疏漏,难以完整厘清所有应用系统以及系统间的复杂依赖关系。我们建议使用阿里云提供针对企业应用上云场景提供应用发现服务(Application Discovery Service),满足企业在迁云阶段的评估、规划、建设、迁移的需求评估。采用无侵入式采集技术,不影响在线业务的性能前提下从主机和进程两个维度构建架构拓扑,自动分析识别主机和进程信息、资源使用水位以及各应用和组件之间的依赖关系。更多详情,请参见应用发现服务。