版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 举报,一经查实,本站将立刻删除。如若转载,请注明出处:http://56bg.com/_bin__xian_/6675.html
定制报告-个性化定制-按需专项定制研究报告
行业报告、薪酬报告
联系:400-6363-638
《华为云:2023大型商业零售电商平台云迁移框架白皮书(214页).pdf》由会员分享,可在线阅读,更多相关《华为云:2023大型商业零售电商平台云迁移框架白皮书(214页).pdf(214页珍藏版)》请在本站上搜索。 1、 大型商业零售电商平台云转型最佳实践大型商业零售电商平台云转型最佳实践 云云迁移迁移框架框架白皮书白皮书 Cloud Migration FrameworkCloud Migration Framework WWhite hite P Paperaper 文档版本文档版本 V1.0V1.0 发布日期发布日期 2022023 3-0 08 8-2020 1 1 序序 言言 百联集团在建设成为面向未来的数字化商业体的战略目标指引下,通过与华为的紧密合作,迈出了全面数字化转型的第一步打造云底座。“道阻且长,行则将至。行而不辍,未来可期”,我们也希望借此报告发布,分享我们的实践经验总结,助力中国企业坚2、定转型升级信心,明晰创新发展路径,践行科学发展精神。孙伟 百联集团副总裁 华为云持续践行“一切皆服务”,通过全栈创新加速企业数字化转型升级。华为与百联的合作旨在共同推动数字化商业体的转型与发展,此次合作也使我们有机会共享彼此的知识和经验,将我们的理论框架、知识体系和落地实践分享出来,形成大型零售电商平台云转型白皮书,旨在为中国零售行业提供一份高质量的指南,为他们的转型升级之路指引方向。石冀琳 华为云副总裁、全球 Marketing 与销售服务部总裁 2 2 编制委员会编制委员会 主要参编单位和人员:主要参编单位和人员:百联:王善良(主编)、张国炜、李祥宝、郭君、汪正、蒋帅、袁伟、徐松、王远、谢3、俊民 华为:贾小江(主编)、郭喜平、何凯、李伟、董洪均、史章斌、黄灵杰、张博文、杨帆、马新刚 编委会名单:编委会名单:百联:孙伟、王晓琰、华磊、张栋艺、杨峰 华为:石冀琳、张修征、郭奕昱、刘正宝、张英梗、王斌、徐敬滨、张东生、张明煌、钱琪、曹照连、方磊、胡迪辉、刘江江、齐舟、陈琦隽、徐殿军 致致 谢:谢:白皮书撰写期间,亦得到百联厉波、王佳露,华为刘宗辉、林华鼎、黄勤来、王有龙、刘丽丽、苏战、张顺、张雷、时涓涓、周练、刘科、张文强、李康、周纪、孙慧、刘思圆 的帮助和建议。3 3 使用说明使用说明 本白皮书适用于企业上云场景,白皮书站在企业的视角详细介绍了上云迁移的全过程,包括企业上云的驱动力和4、价值评估、上云准备、云上架构设计、小范围试点、可执行的批次规划、实施大规模上云迁移、云上运维和治理。白皮书提供了一套经过实践验证的标准化的上云流程和方法,对于企业上云,特别是大企业全量上云,具有参考和借鉴意义。目标读者:目标读者:本白皮书的目标读者是企业的 CTO、运维总监、云架构师、业务架构师以及其他与上云相关的人员。建议架构师可重点阅读第 5 章(云上架构设计);迁移实施相关的人员可重点阅读第 8 章(应用上云迁移小循环)和第 10 章(大规模上云迁移经验)。目标企业目标企业:由于不同企业的研发能力、IT 运维能力和治理能力存在有差异,导致他们选择的上云方式也有所不同。对于业务系统主要是自5、研的企业来说,通常有自己的运维团队,企业 IT 能力也比较强,可以主导上云工作,建议精读此白皮书,对企业主导上云工作有借鉴意义。对于业务系统主要是外部采购或由供应商定制开发的企业来说,企业 IT 能力通常比较弱,系统主要依赖第三方厂商代维,企业无法主导上云工作,上云迁移主要依赖于第三方供应商,为了企业能更好地监控并配合供应商完成上云任务,相关负责人也需要大致了解白皮书的内容,熟悉上云迁移的整体流程。4 4 目目 录录 序序 言言.1 编制委员会编制委员会.2 使用说明使用说明.3 目目 录录.4 1 云迁移框架概述云迁移框架概述.12 1.1 企业上云趋势.12 1.2 企业上云的挑战.13 6、1.3 云迁移框架介绍.15 2 上云调研分析上云调研分析.18 2.1 调研思路.18 2.2 调研内容.19 2.3 调研方法.19 2.3.1 调研技术架构.20 2.3.2 调研组件信息.21 2.3.3 调研其它需求.22 2.4 关联分析.22 3 上云评估规划上云评估规划.26 3.1 企业上云的驱动力评估.26 3.1.1 常见的上云驱动力.26 3.1.2 识别企业上云动机.27 3.2 云成熟度评估.28 3.2.1 评估方法.28 3.2.2 评估维度说明.28 3.3 上云可行性评估.30 3.4 上云策略规划.30 3.5 高阶方案规划.31 3.5.1 方案范围.37、1 3.5.2 高阶方案示例.32 5 5 3.5.2.1 基础环境规划示例.32 3.5.2.2 应用部署架构示例.35 3.5.2.3 迁移方案示例.36 3.6 企业上云的收益评估.37 3.6.1 降低 TCO.37 3.6.1.1 降低资源配置成本.37 3.6.1.2 降低灾备建设成本.37 3.6.1.3 降低运维人力成本.38 3.6.2 提升系统可用性.39 3.6.3 加快业务创新.39 3.6.4 增强安全能力.40 3.6.5 增强运维便利性.40 4 企业上云准备企业上云准备.42 4.1 干系人识别.42 4.1.1 内部干系人.42 4.1.2 外部干系人.43 8、4.2 组建 CCoE 团队.44 4.2.1 什么是 CCoE.44 4.2.2 为什么要构建 CCoE.45 4.2.3 如何构建 CCoE.46 4.3 技能准备.47 4.3.1 做哪些技能准备.47 4.3.2 如何做技能准备.48 4.4 运维平台准备.48 4.5 项目管理准备.49 4.5.1 概述.49 4.5.2 目标制定.50 4.5.3 过程管理.51 4.5.4 有效沟通.52 4.6 上云动员会.53 5 云上架构设计云上架构设计.55 5.1 架构设计概述.55 5.2 基础环境设计.55 6 6 5.2.1 基础环境介绍.55 5.2.2 统一账号权限.56 59、.2.2.1 组织映射.57 5.2.2.2 账号规划.58 5.2.2.3 权限设计.59 5.2.2.4 合规使用.59 5.2.3 统一网络管理.60 5.2.3.1 整体网络设计.60 5.2.3.2 迁移网络设计.62 5.2.3.3 迁移带宽评估.63 5.2.3.4 专线部署建议.63 5.2.4 统一安全管控.64 5.2.4.1 整体安全设计.64 5.2.4.2 应用安全设计.66 5.2.5 统一资源治理.67 5.2.5.1 资源治理原则.67 5.2.5.2 资源共享.68 5.2.5.3 资源合规.68 5.2.5.4 资源分组.69 5.2.5.5 资源标签.7010、 5.2.5.6 资源命名.71 5.2.5.7 资源配额.73 5.2.5.8 资源控制.74 5.2.6 统一运维监控.75 5.2.6.1 统一监控及告警.75 5.2.6.2 统一日志存储.75 5.2.6.3 统一补丁更新.77 5.2.7 统一财务管理.78 5.2.7.1 成本计划.78 5.2.7.2 成本分配.78 5.2.7.3 成本分析.81 5.2.7.4 成本优化.82 5.3 应用部署架构设计.85 5.3.1 应用部署架构概述.85 7 7 5.3.2 可用性设计.87 5.3.2.1 可用性定义.87 5.3.2.2 AZ 故障域说明.88 5.3.2.3 云上11、高可用方案.88 5.3.2.4 双 AZ 高可用设计.89 5.3.2.5 两地三中心高可用设计.90 5.3.3 可扩展性设计.92 5.3.3.1 云上可扩展性.92 5.3.3.2 可扩展设计.92 5.3.4 性能设计.93 5.3.5 参考架构.94 5.3.5.1 应用部署架构示例.94 5.3.5.2 参考架构库.96 6 上云迁移试点上云迁移试点.99 6.1 为什么要上云试点.99 6.2 如何选择试点应用.100 6.3 上云试点执行.100 6.4 上云试点总结.101 7 上云批次规划上云批次规划.102 7.1 相关术语说明.102 7.2 为什么要做批次规划.1012、2 7.3 迁移批次规划的方法.103 7.3.1 迁移分组.103 7.3.2 迁移分批.103 7.3.3 迁移优先级.104 7.4 批次规划样例.105 8 应用上云迁移(小循环)应用上云迁移(小循环).106 8.1 概述.106 8.2 调研.107 8.3 设计(迁移方案).108 8.3.1 迁移方案概述.108 8.3.2 接入层迁移方案.109 8.3.3 应用层迁移方案.110 8 8 8.3.3.1 平迁部署在主机上的应用.110 8.3.3.2 平迁部署在容器中应用.110 8.3.3.3 主机上的应用容器化上云.111 8.3.4 中间件层迁移方案.111 8.3.13、4.1 Redis 迁移方案.111 8.3.4.2 消息中间件迁移方案.112 8.3.5 数据层迁移方案.113 8.3.5.1 结构化数据迁移方案.113 8.3.5.2 非结构化数据迁移方案.114 8.3.6 迁移工具兼容性查询.115 8.4 设计(切换方案).115 8.4.1 如何选择停服不停服.115 8.4.2 停服切换方案.117 8.4.2.1 停服时长评估.117 8.4.2.2 减少停服时长的方法(分钟级).117 8.4.2.3 四种停服切换方式.118 8.4.2.4 一把切(应用层和数据层整体停机后切换).118 8.4.2.5 应用层灰度切流,数据层整体切换14、.119 8.4.2.6 应用层灰度切流,数据层分批切换.121 8.4.2.7 按照业务域分批切换.123 8.4.3 停写不停读切换方案.124 8.4.3.1 四种停写不停读切换方案对比.124 8.4.3.2 网关拦截.125 8.4.3.3 写服务关停.126 8.4.3.4 应用改造.126 8.4.3.5 中间件层/数据层配置只读.127 8.4.4 不停服切换方案.127 8.4.4.1 应用层切换不停服方案.127 8.4.4.2 数据层或应用整体切换不停服方案.128 8.4.5 设计 Runbook.128 8.4.5.1 Runbook 设计原则.128 8.4.5.215、 Runbook 角色设计.129 8.4.5.3 Runbook CheckList 设计.130 9 9 8.4.5.4 Runbook 操作步骤设计.131 8.4.5.5 Runbook 参考模板.132 8.5 部署(目标环境和迁移环境).132 8.5.1 云资源开通及配置.132 8.5.2 迁移工具部署.133 8.6 迁移.134 8.6.1 接入层迁移实施.134 8.6.2 应用层迁移实施.135 8.6.2.1 主机迁移.135 8.6.2.2 容器迁移.137 8.6.3 中间件层迁移实施.138 8.6.3.1 Redis 迁移.138 8.6.3.2 消息中间件迁16、移.140 8.6.4 数据层迁移实施.141 8.6.4.1 对象存储迁移.141 8.6.4.2 文件存储迁移.143 8.6.4.3 数据库迁移.144 8.6.5 迁移实施常见问题及应对.148 8.7 验证.148 8.7.1 数据验证.148 8.7.1.1 数据验证标准.148 8.7.1.2 数据验证方法.149 8.7.2 业务验证.150 8.7.2.1 功能验证.150 8.7.2.2 性能验证.154 8.8 切换.157 8.8.1 切换演练.157 8.8.1.1 什么要演练.157 8.8.1.2 演练流程.158 8.8.1.3 演练准备.158 8.8.1.417、 演练实施和复盘.160 8.8.2 正式切换.161 8.8.2.1 切换前准备和检查.161 8.8.2.2 Runbook 切换操作.163 1010 8.9 保障.164 9 应用现代化上云应用现代化上云.166 9.1 什么是应用现代化.166 9.2 基础设施现代化.168 9.2.1 容器化改造上云.168 9.3 应用架构现代化(微服务改造/优化).168 9.3.1 微服务改造上云(单体-微服务).168 9.3.2 微服务架构优化.170 9.4 开发与运维现代化.171 9.5 治理与运营现代化.172 9.6 新技术使能业务现代化.172 10 大规模上云迁移经验大规模18、上云迁移经验.176 10.1 大规模迁移介绍.176 10.2 大规模迁移成功经验总览.177 10.3 如何提前拉通专线.178 10.4 如何做技术评估.179 10.4.1 研发侧技术评估.179 10.4.2 运维侧技术评估.181 10.5 如何做上云适配改造.181 10.6 如何选择停机窗口.182 10.7 如何分析业务影响.184 10.7.1 线下业务影响分析.184 10.7.2 线上业务影响分析.185 10.7.3 业务降级演练.185 10.8 如何组织切换演练.186 10.8.1 会场布置.187 10.8.2 全员宣讲.188 10.8.3 明确纪律.18819、 10.8.4 确定分工.189 10.8.5 过程管理.190 10.8.6 优化 runbook.191 10.9 如何做风险管理.192 10.10 如何制定测试策略.195 1111 10.11 如何做复盘分析.196 11 云上运维及治理云上运维及治理.199 11.1 云运维概述.199 11.2 云运维组织.201 11.3 云运维流程.202 11.4 云运维平台.203 11.4.1 ITSM.204 11.4.2 CMDB.204 11.4.3 ITOM.205 11.4.4 运维平台选择.205 11.4.5 运维平台集成.207 12 附录附录.210 12.1 缩略语20、列表.210 1212 1 云云迁移迁移框架框架概述概述 1.1 企业上云趋势 当今世界正经历百年未有之大变局,过去三年全球经济形势发生了深刻的变化,越来越多的企业将传统的线下业务转移到线上,借助科技手段来应对这种变化。在当前形势下,企业数字化转型已从一个选择性的优势项,变成了企业生存发展的必需项。企业数字化转型往往以“上云”作为起手式,先业务上云,再云上创新,乘云启航,逐步实现企业数智化转型战略。企业上云的现状可以概括为“从被动到主动,然后成为一种新常态”。企业上云的趋势可以概括为如下六点:1.企业上云已经从潮流变为标配。企业上云已经从潮流变为标配。原先很多企业还在观望和犹豫,而现在上云已成21、为大部分企业的共识。云服务的用户也从开始的小型和中型企业逐渐扩展到大型企业,且涵盖了各个行业,包括制造业、零售、医疗健康、教育、媒体和娱乐等,云服务提供商的业务量也大幅增长。根据 Gartner 的最新预测,到 2023 年,全球最终用户在公有云服务上的支出预计将增长 21.7%,达到 5973 亿美元。企业越来越多的业务计划或者已经迁移到云端。2.从基础设施迁移到深度用云。从基础设施迁移到深度用云。上云不再仅限于简单的基础设施迁移,企业使用的云服务逐渐由单一的基础设施即服务(IaaS)发展到平台即服务(PaaS)和软件即服务(SaaS),越来越多的企业应用逐步深入使用云上中间件、大数据、容器22、、微服务、人工智能和其它高阶服务。另外,从技术角度看,无论是 IaaS、PaaS 还是 SaaS,云计算技术都已经非常成熟,同时各云服务提供商都提供了专业的迁移工具和支持服务,大幅度降低了上云迁移的难度和风险。3.从边缘业务到核心业务上云。从边缘业务到核心业务上云。随着数字化转型的推进,核心业务系统的灵活性、可扩展性和创新能力变得越来越重要。越来越多的企业开始意识到将核心业务上云所带来的好处。随着企业对云计算的信任度不断增加,企业上云的趋势正在逐渐从边缘业务扩展到核心业务。这些核心业务可能涵盖企业的关键流程,如客户关系管理、供应链管理、财务和人力资源等领域。云平台提供了大数据分析、人工智能、机23、器学习等先进技术和工具,使企业能够更好地利用数据和智能化技术来推动业务增长和创新,使企业能够更好地应对市场变化。4.云的新技术成为推动企业上云的重要力量。云的新技术成为推动企业上云的重要力量。首先,云原生技术,如容器、微服务、持续集成/持续部署(CI/CD)、基础设施即代码(IaC)等,将使企业更好地利用云环境,提高效率,降低成本。其次,人工智能技术(AI)的发展推动了云计算向更高层次发展,加速了各行各业的数智化进程,助力企业更好地理解和利用数据,提高决策效率和准确性。最后,随着 5G 和物联网(IoT)的发展,边缘计算将成为未来云计算的重要趋势,通过将数据存储在更靠近的数据源,边缘计算可以大24、大提高服务质量,降低延迟。5.云相关的法规政策更加明云相关的法规政策更加明朗化朗化。随着云计算的普及和发展,各国政府和监管机构对云相关的法规政策逐渐完善和明朗化。这些政策旨在确保数据安全、隐私保护和业务运营的合规性,为企业上云提供清晰的指导。比如,许多国家都制定了数据保护法和隐私法规,以规范云服务提供商在处理个人1313 数据时的责任和义务,例如欧盟的 GDPR;还有一些国家或行业对存储和处理敏感数据设置了数据本地化要求,要求企业将数据存储在特定的地理区域内,例如,中国实施了中华人民共和国网络安全法,对关键信息基础设施的数据本地化提出了要求;还有云安全认证标准,比如 ISO 27001、CSA25、 STAR 等。具体的法规政策因国家和地区而异,因时而异,法规也在不断演变,企业上云时应了解并遵守适用的法规政策,确保合规性和数据安全。6.企业上云企业上云是是渐进式渐进式的的。企业上云并不是一蹴而就的,而是一个渐进式的、持续深化的上云过程。企业通常先进行试点上云,然后逐步将更多核心业务、甚至业务创新环节,都迁移到云端,释放出更多的业务价值。总的来说,企业上云已成为新常态,不断发展的云计算技术将引领企业进入新的商业时代。而企业则需要更深入的理解云计算,学习上云和用云的方法,将业务搬迁上云,更好地利用云的技术,实现业务的快速发展和持续创新。1.2 企业上云的挑战 企业上云是指将企业的应用、数据甚26、至大数据平台搬迁到云上的过程。虽然云具有很多优势,但是上云却不是一件容易的事,企业在上云过程中会面临着许多痛点和挑战。1.1.上云适配改造上云适配改造 企业从传统的本地数据中心架构转向云架构,或者从一个厂家的云架构转向另外一个厂家的云架构,这个过程可能会面临一些上云适配改造工作,比如版本不一致导致的版本升级改造,SDK 接口不一致导致的兼容性的适配改造、异构数据库搬迁导致的数据格式的转换等。2.2.人员技能和组织变革人员技能和组织变革 上云需要企业内部人员具备云相关的知识和技能,由于云与传统 IT 存在差异,不同云厂家的云也存在差异,员工需要学习云相关技术,适应云上新的工具和流程。培训和人员准27、备是一个重要的挑战,企业需要制定相应的培训计划和知识共享机制,鼓励员工接受新的工作方式和技术。同时,上云也可能涉及到组织和文化的变革,包括 CCoE 跨部门的合作,敏捷开发和 DevOps 文化的引入等。3.3.数据数据安全和合规安全和合规 数据安全和合规对企业非常重要。企业上云后,数据会存储在云服务提供商的基础设施中,企业需要评估云服务提供商的数据保护机制,并与合规团队密切合作,制定企业的安全和合规措施。不同行业和地区可能有特定的监管要求和法律法规,企业可能面临数据隐私保护、数据存储地点限制、数据监管审核等方面的挑战,企业需要确保数据上云符合相关的合规要求。4.4.成本成本控制控制 虽然云计28、算提供了弹性和按需付费的优势,但是企业仍然需要管理云资源的使用,并持续优化企业用云成本。云费用控制、资源优化和合理的预算是成本控制的一个挑战,企业需要合理估算云成本、控制资源的使用和选择适合的定价模型。另外,上云过程中的成本管理也是一大挑战,包括数据传输费用、应用重构或改造费用、员工培训费用、上云迁移演练和测试环境费用、外部供应商费用等。举一个例子,如果企业的业务系统是独家采购自第三方供应商,则第三方供应商可能会收取较高的上云服务费用。1414 5.5.数据数据的一的一致性致性 在数据迁移过程中保持数据的完整性和一致性是企业上云的一个重要挑战。迁移现有数据到云平台,可能会面临数据格式转换、兼容29、性和一致性的问题,企业需要制定合适的迁移方案,选择正确的数据迁移工具和校验工具,并进行充分的测试和验证。6.6.关联分析和批次关联分析和批次规划规划 关联分析和批次规划是企业上云的一大难点,对于大规模全量搬迁上云的企业来说,为了降低迁移风险,通常需要将迁移划分为多个批次进行,而批次规划首先依赖的就是应用的关联分析结果。在上云迁移过程中,企业需要正确的梳理各种关联关系,包括应用与数据层的依赖、应用与中间件的依赖,系统内部应用间的通信依赖,本系统与第三方系统或第三方终端的集成依赖等,这些关联关系通常非常复杂,并且很多企业都缺乏全面和准确的文档记录,这使关联分析变得非常困难。7.7.云服务云服务商商30、选择选择 企业选择的云服务提供商可能会对企业产生长期影响,一旦企业将核心应用和数据迁移到某云上,后续再想切换云服务商可能会很困难,其切换过程可能和首次上云同等复杂和困难。因此,选择合适的云服务提供商,并建立良好的合作关系是上云的关键。不同云服务提供商之间可能存在差异,如定价、功能、性能和技术支持等。企业需要充分评估不同云厂家之间的区别,并制定合适的合作和管理策略。8.8.业务连续性业务连续性 上云过程中,企业需要确保业务的连续性和高可用性,并管理潜在的风险,降低业务中断时长和影响。企业需要采取适当的风险管理措施,包括进行业务影响分析并制定应对措施,同时业务上云后的高可用方案、应用的故障恢复机制31、等也是需要考虑的。9.9.云运维监控云运维监控 业务上云后的运维和监控是一个挑战。企业需要建立完整的云运维监控体系,确保云资源的性能可实时监控、安全可实时观测、告警可实时通知,日志可实时查看等。云服务提供商通常会提供基础的监控能力,如资源层面的 CPU、内存、IOPS、网络带宽等监控,但企业可能仍然需要借助额外的工具和技术来保障应用层面的告警、监控和日志能力。10.10.项目管理项目管理 上云迁移是一项复杂的工作,从架构设计到应用迁移、从安全性到合规性、从管理到监控,企业需要综合考虑各种影响因素,并建立一个全面的上云规划和执行框架,确保上云迁移顺利进行。在上云过程中,企业需要投入一定的资源,大32、规模上云通常需要一个专职的项目经理,负责周边部门协调,管理上云规划、架构设计、迁移实施、测试验证、演练切换等一系列上云活动。同时,企业还需要挑选骨干人员进行新技术的学习和储备。所以上云迁移是一个系统性工程,不仅仅是搞定技术迁移方案,也需要系统性的进行项目运作,获得企业领导层的支持和投入,协调周边部门或第三方相关资源配合。总体来说,企业在上云过程中面临着许多痛点和挑战,涵盖了技术、人员、安全、成本、数据管理、供应商管理、业务连续性等方面。企业需对以上的多个痛点和挑战有足够的认识与准备,才能确保上云项目的顺利进行和成功实施,必要时可以引入专业的上云顾问,并与云服务提供商紧密合作才可以克服这些挑战,33、并获得上云所带来的各种优势和收益。1515 1.3 云迁移框架介绍 企业上云对于中型或大型企业来说绝非易事,上云不仅是一个技术问题,同时也是一场变革,涉及到企业 IT 治理体系的变化、组织架构的适配、技能的转型、文化和思维方式的塑造、持续的运营运维优化等。这些方面对企业上云提出了很大的挑战,企业迫切需要一套方法论进行指导,确保上云之路更加顺畅。为此,我们编写了华为云上云迁移框架白皮书,为企业上云提供总体建议和方法指导。云迁移框架(Cloud Migration Framework,以下简称 CMF)是站在客户视角的上云迁移方法论,它来源于华为云的经验和百联等大型企业上云的优秀实践,为企业上云提34、供完整的上云指导。企业上云的整体思路是,先整体规划,然后小范围试点,最后再大规模上云。按照这个思路,我们把企业上云的生命周期分为 8 个阶段,分别是调研分析、评估规划、上云准备、云上架构设计、上云迁移试点、整体批次规划、大规模上云迁移和云上运维与治理,其中调研分析贯穿整个上云周期,整体框架如下:其中有 5 个阶段是全局任务,即项目级的任务,包括评估规划、上云准备、云上架构设计、整体批次规划、云上运维与治理。有 2 个阶段是应用级的任务,即每个应用迁移都要执行一个小循环。小循环内按调研、设计、部署、迁移、验证、切换、保障 7 个步骤有序运转,上图中的上云迁移试点和大规模上云迁移都是循环执行小循环35、迁移流程。(一一)企业上云的过程包含如下企业上云的过程包含如下 8 8 个阶段:个阶段:1.1.调研分析调研分析 调研工作持续整个上云周期,整体调研思路是由粗到细持续迭代,比如评估规划阶段只需要调研到全景(打开到业务域),在迁移实施阶段要打开到每个业务系统和应用系统模块,并调研详细的信息。2.2.评估规划评估规划 评估规划,首先要识别企业上云的动机,上云后想要实现的业务收益,然后结合企业的云成熟度现状,制定合适的上云策略,并规划整体上云的蓝图。1616 3.3.上云准备上云准备 上云准备是企业在正式上云之前要做的相关准备工作。首先是组织准备,企业首先要构建自己的云转型团队 CCoE,负责整个上36、云工作和云的能力建设。其次,组织一个正式的动员会,上云是一把手工程,需要中高层参与,召集云厂商和各集成商做到三个对齐“组织对齐”、“目标对齐”“责任对齐”。4.4.云上云上架构设计架构设计 云上架构设计包括基础环境设计和应用部署架构设计两部分。基础环境设计:企业上云首先要准备好基础环境,基础环境构建好以后,上云工作才能正式开始。基础环境在业界也叫做 LandingZone(着陆区),基础环境设计包括 6 个方面,即账号和权限设计、整体网络设计、整体安全设计、资源治理设计、运维监控设计、财务管理设计。应用部署架构设计:应用部署架构是应用在云上的技术架构。应用部署架构要从应用的四层技术架构来设计,37、即接入层、应用层、中间件层和数据层。需要设计每一层的云服务技术选型,同时还要考虑架构设计的 6 要素,即可用性、性能、可扩展性、安全性、成本和可运维性。其中,安全性、成本和可运维性这 3 个要素可以参考基础环境的设计,应用部署架构设计时可重点关注可用性、性能和可扩展性这 3个要素。5.5.上云迁移试点上云迁移试点 在正式上云之前先要进行小范围试点,为大规模上云奠定基础,上云试点主要是做好团队磨合、方案磨合、技能磨合,并验证企业上云的价值,通过试点增强各业务部门上云的信心。试点一般选 13 个合适的应用上云,执行上云迁移的小循环(调研、设计、部署、迁移、验证、切换、保障)。6.6.整体批次规划整38、体批次规划 整体批次规划是指将企业的应用程序和数据分阶段地迁移到云平台的计划和安排。批次规划将复杂的迁移过程分解为更小的可管理的步骤,使企业能够更好地管理和控制上云过程,降低了上云的风险。批次规划既是科学又是艺术,企业可以先基于关联关系进行分组,然后参考优先级和分批的原则,并结合上云试点的结果,输出可执行的整体批次规划。7.7.大规模上云迁移大规模上云迁移 大规模上云迁移是按照整体批次规划,滚动执行上云迁移小循环的过程,每个小循环都包括 7 个阶段:调研、设计、部署、迁移、验证、切换、保障。大规模上云有 3 种方式:1)应用迁移上云:是指将应用的运行环境迁移到云上,迁移的对象包括接入层、应用层39、、中间件层和数据层,采用的上云策略是 Re-host 或 Re-platform,主要是平迁,包含少量上云适配改造,遵循应用迁移小循环流程。2)大数据迁移上云:是指将大数据平台的运行环境迁移到云上,包括数据迁移和任务迁移,采用的上云策略是 Re-platform,包含大数据任务的适配改造,遵循大数据迁移流程(待发布)。3)应用现代化上云:是指将传统应用进行云原生改造上云,采用的上云策略 Re-architect,包括数据库改造、容器化改造、微服务改造等,遵循云原生的框架和方法。应用现代化改造通常需要较长的周期,企业可以结合上云的里程碑、改造工作量和开发人力综合决定是先改造再上云,还是先平迁1740、17 上云再现代化改造。对于新型业务,企业也可以直接使用公有云的新技术(AI、区块链、元宇宙等)快速开展业务创新,使能应用现代化。8.8.云上运维与治理云上运维与治理 聚焦上云后的治理和持续运维,包括成本管理、安全基线、可观测性运维、运维治理的自动化。(二二)学习和复盘学习和复盘 在整个上云迁移过程中要不断学习和复盘,尤其是大规模迁移,通过持续学习和复盘,企业可以不断改进上云方案,推动上云迁移项目成功,提高云化转型的质量和效果。1.学习内容包括云计算基础,云产品知识,云服务的日常使用,架构设计方法,迁移方案和切换方案的最佳实践等。2.复盘包括上云试点复盘、切换演练复盘、每一批应用迁移结束后的复41、盘、项目管理复盘等。(三三)上云项目管理上云项目管理 对于大规模的上云迁移,需要指定专职的项目经理。项目经理在企业大规模上云迁移中扮演着关键的角色,有效的规划、协调、管理和控制迁移过程是项目顺利、高效地完成的保证。项目经理的专业经验和技能对于成功推动大规模上云迁移与实现预期的上云转型目标至关重要。(四四)企业企业上云的三转上云的三转 当企业决定进行云化转型时,除了技术层面的考虑外,还需要关注以下三个方面的转变,即转意识、转组织和转能力,整个上云迁移的过程都在落地和践行“三转”。1.转意识(转意识(Transition of MindsetTransition of Mindset):):企业需42、要理解并接受云计算的概念、优势和价值,并意识到云化转型对整个组织和业务的深远影响。这包括培养对云计算的认知和理解,打破传统的 IT 思维方式,鼓励创新思维和敏捷方法,并推动全员参与和支持云化转型的意识。2.转组织(转组织(Transition of OrganizationTransition of Organization):):企业需要重新评估和调整组织结构,以适应云化转型的需求。这可能包括建立专门的云团队或中心,负责云化项目的规划、实施和管理。同时,需要修改相关流程和职责,定义清晰的角色和职责,以确保云化转型的有效推进和持续运营。3.转能力(转能力(Transition of Capab43、ilityTransition of Capability):):企业需要培养和发展与云计算相关的技术能力,包括云架构设计、云平台管理、自动化运维、安全与合规等方面的知识和技能。同时,企业还需要进行员工培训和知识共享,以提高整体团队的云计算能力和素质。通过“三转”的综合推进,企业可以更好地适应和应对云化转型带来的挑战和机遇。转意识帮助企业建立正确的云计算思维方式,转组织确保组织结构和流程适应云化转型,转能力提升企业人员的技术和能力水平,从而成功的实现企业上云转型。1818 2 上云调研分析上云调研分析 调研会持续整个上云过程,本章主要介绍调研分析的整体思路和方法,在上云的每个阶段都可以参考此方44、法进行调研。如果上云工作不是企业自己主导,企业也可以基于此调研思路更好地配合第三方进行高效调研。2.1 调研思路 调研的总体思路是先易后难,先粗后细,持续迭代,具体含义如下:1.1.先易后难:先易后难:是指调研方法的难易,调研有多种方法,我们要优先选择简单快速的调研方式 2.2.先粗后细:先粗后细:是指调研到的信息详细程度,评估规划阶段获取的信息比较粗,实施阶段获取的信息最为详细。3.3.持续迭代:持续迭代:是指调研不是一次完成的,需要持续迭代,尤其在大规模迁移阶段,详细信息的调研可按迁移批次有序执行。基于上述思路,上云迁移时一般通过如下 6 步法进行每次调研工作:1.根据上云阶段,确定调研目45、的,梳理需要调研的信息。1919 2.对齐已有信息,避免重复调研。3.对准调研目标,识别还缺哪些信息,为什么要调研这些信息,以及这些信息的获取方式。4.基于企业组织架构和分工,判断能提供这些信息的干系人。5.制定调研访谈提纲和调研模板,制定沟通策略和计划。6.依照干系人认可的授权方式获得需要的信息,并进行信息的整理,完成调研。2.2 调研内容 调研工作持续整个企业上云迁移的阶段,每个阶段要调研的信息各有侧重和不同,比如:1.应用架构和技术架构的调研持续整个上云过程,在评估规划阶段只需要调研业务全景图,打开到业务域即可,而在迁移试点和大规模上云阶段,则需要打开到每个应用系统的应用架构和技术架构,46、并收集每个应用系统的技术组件的详细信息,如组件版本信息,组件相关配置参数等。2.IT 治理现状和需求的调研是全局的,通常在云上架构设计阶段进行。2.3 调研方法 调研方式有很多,企业要结合自身的实际情况,从调研的效率、调研获取信息的完整度和真实度三个方面评估,选择最合适的调研方式。通常情况下,优先推荐 CMDB 调研法,CMDB 中缺少的信息再通过云管平台或调研访谈的方式补齐。如下是常见的调研方式,建议企业遵循由易到难的调研思路进行调研,有些服务商可能会提供大量的调研表格去让企业反馈,这是低效的、易错的,若企业有类似 CMDB 等信息化系统,建议优先通过CMDB 等信息化系统支持调研,为了安全47、起见,企业可以提供只读账号让调研人员自行登录 CMDB 获取信息或者企业直接导出相关信息给调研人员。2020 不同的调研方式获取信息的效率、完整度和真实度是有区别的,总体来说,CMDB 法是最高效的调研方式,如下图:对于应用的迁移需要调研的信息主要集中在单个应用级别,主要调研详细的技术架构、组件信息和其他迁移需求,具体方法如下:2.3.1 调研技术架构 调研应用的详细技术架构调研应用的详细技术架构:收集接入层、应用层、中间件层和数据层的详细信息,收集三种关联关系(共享数据、共享服务器、应用间通信依赖),可以参考下表收集应用的详细技术架构:也可参考下图绘制应用的详细技术架构图:2121 调研方式48、:调研方式:2.3.2 调研组件信息 调研技术组件的详细信息调研技术组件的详细信息:调研单个应用的 4 层技术架构所涉及的各个组件的详细信息(包括资源规格、版本、容量、配置)主机详情信息 数据库详情信息 2222 中间件详情信息 调研方式:调研方式:1.首选 CMDB 法;2.如果 CMDB 无法获取,次选 CMP 云管平台法,从现网云管平台或虚拟化管理软件获取;3.如果 CMDB 和 CMP 都行不通,可以安装信息收集工具(比如华为云 RDA)进行采集;4.如果以上方法都不可行,则采用人工访谈的方式调研信息。2.3.3 调研其它需求 调研内容:调研内容:当前应用上云的需求和约束条件,比如迁移49、时间窗、切换时间窗、目标架构的要求(功能、性能、可用性、安全、成本、可扩展性、可运维性)、回退要求,业务的关联关系确认。调研方式:调研方式:人工访谈或 WorkShop 头脑风暴,可以与前面 2 项调研内容合并调研,减少调研次数。2.4 关联分析 关联关系分析是批次规划和切换方案的重要输入,也是上云迁移的难点,影响上云迁移的关联关系主要有三种,如下图:2323 关联分析有如下 4 种方法,上云迁移过程中,企业可以根据自身的实际情况选择合适的分析方法:1.CMDB 法:适用于客户有 CMDB 系统,CMDB 系统中通常有应用间的通信依赖,应用与数据库的依赖,应用与中间件的依赖等,可直接通过 CM50、DB 获取依赖关系,如下图所示。2424 2.关联分析工具法:可以通过专门的关联分析工具进行关联分析,比如华为云的 MgC 工具,也可以采用业界的一些关联分析工具,如下表:3.WorkShop 头脑风暴法:可以通过组织专题会议,引导熟悉业务系统的骨干人员梳理关联关系。2525 4.配置分析法:配置分析法是一种通过分析应用系统的配置文件来探索关联关系的方法,它可以帮助我们了解应用之间的相互调用关系、应用与数据库之间的连接以及其它关联关系。以下是配置分析法的基本步骤:1)收集配置文件:收集配置文件:首先需要收集和获取与目标应用系统相关的配置文件。这可能包括 DNS 配置、ELB 配置、NAT 配置51、以及 Nginx.conf 等。2)解析配置文件:解析配置文件:对于每个配置文件,需要编写脚本或使用现有工具来解析其内容,脚本可以根据文件格式和语法规则,提取出关键信息并进行处理。3)提取关联信息:提取关联信息:在解析配置文件时,需要识别出与其他组件或资源相关的信息,例如,可以查找应用之间的相互调用关系,比如从一个应用到另一个应用的 URL 或 API 调用;还可以查找应用与数据库之间的连接信息,如数据库地址、用户名和密码等。4)构建关联图谱:构建关联图谱:将提取到的关联信息组织成图谱或关系模型,这可以是有向图、无向图或其他合适的数据结构,用于表示应用间的关系和依赖。5)分析关联关系:分析关联52、关系:对于构建的关联图谱,可以使用图论算法或其他分析方法来探索关联关系,这可以帮助我们发现隐藏的依赖。通过配置分析法,我们可以深入了解应用系统内部的关联关系,从而更好地理解整体架构和运行方式,这对系统迁移等方面具有重要的价值,然而,需要注意的是,配置文件可能会受到变更和更新的影响,因此在进行关联分析时需要及时更新和验证配置信息的准确性。2626 3 上云评估上云评估规划规划 识别企业上云的主要动机,评估企业的用云现状和上云可行性,制定上云策略和高阶方案,用于指导企业的后续上云实施工作。3.1 企业上云的驱动力评估 在企业上云之前,首先要明确企业上云的动机,基于企业上云的初心来规划整体上云策略和53、蓝图,制定企业上云的业务目标,重点关注上云为业务创新带来的价值,从而在公司层面确定企业上云的总体战略、蓝图规划、上云节奏。3.1.1 常见的上云驱动力 三年疫情导致全球经济形式变差,很多企业开始重视固定资产的投资和管理,减少当期固定资产投资,更多的机会转向公有云服务。驱动企业上云的动机一般有:关键事件驱动、优化驱动、创新驱动。1.关键事件驱动关键事件驱动:关键事件驱动指的是特定事件或情况促使企业采取上云行动。2.优化驱动:优化驱动:优化驱动的目标是通过上云来提高效率、优化架构、降低成本。2727 3.创新驱动:创新驱动:创新驱动的目标是借助云计算技术推动业务的创新和发展。关键事件驱动、优化驱动54、和创新驱动有时是相互重叠的,一个因素可能同时属于多个驱动力。企业在决策上云时,应综合考虑多个驱动因素,并根据自身需求和目标做出权衡和决策。3.1.2 识别企业上云动机 要识别企业上云的动机,首先应该了解企业的业务情况,了解其业务的特点,以及其当前的 IT 环境。然后,根据企业的业务情况和 IT 环境,分析企业上云的动机。企业的上云动机会决定后续的上云策略,识别企业的上云驱动力,可以参考以下方法:1.分析业务需求:分析业务需求:了解企业的当前业务需求和未来发展计划。是否有关键事件(例如扩张、合规要求、灾备需求等)需要满足?是否需要优化资源利用率或降低成本?是否有意愿推进创新和数字化转型?这些需求55、将提供线索来确定企业的上云驱动力。2.考察现有考察现有 ITIT 基础设施:基础设施:评估企业所持有的 IT 基础设施(例如服务器、数据中心、网络等)的状况和成本效益。如果企业正在面临硬件老化、高成本维护或扩容困难等问题,它们可能成为优化驱动和关键事件驱动上云的因素。2828 3.研究市场趋势:研究市场趋势:了解业界对于云计算的发展态势和趋势,包括其他类似企业是否已经或正在上云,相关行业采用云计算的程度等。这可以提供洞察力,判断是否需要跟随市场潮流上云。4.与企业决策者沟通:与企业决策者沟通:与企业的决策者、IT 团队或其他相关部门进行对话,了解他们对于上云的看法和目标。询问他们对于关键事件驱56、动、优化驱动和创新驱动的认知,并尝试理解他们对云计算的期望和期限。5.考虑组织文化和领导力:考虑组织文化和领导力:企业的组织文化和领导力对于上云决策至关重要。如果企业强调创新和敏捷性,有强大的数字化转型战略或实践,那么创新驱动可能更为重要。如果企业注重成本控制、效率和稳定性,那么优化驱动可能更为突出。综合考虑以上因素,可以帮助识别企业的上云驱动力。重要的是要了解企业的特定情况和目标,并根据其独特的需求和优先事项来评估驱动力,以便制定适合的上云策略和计划。3.2 云成熟度评估 很多企业在全量上云之前,可能已经做过一些上云尝试,部分业务可能已经部署在私有云或公有云上,企业可能已经具备一定的云计算能57、力。云成熟度评估是对企业当前用云的程度和能力进行评估,帮助企业了解其用云水平,识别潜在的改进点,后续可以针对性的制定云转型策略和上云规划。3.2.1 评估方法 云成熟度评估可以参考如下方法进行:1.确定评估的范围和目标:确定评估的范围和目标:首先需要明确评估的目标和评估的范围。例如,可以选择评估整个企业的云能力,或者仅评估某个部门或某个业务线的云能力。2.确定评估维度和指标:确定评估维度和指标:云成熟度模型通常包括多个维度和指标,例如云战略、云技术、云安全、云治理等,企业需要根据实际情况选择适合的指标。3.收集数据:收集数据:收集与评估指标相关的数据,可以通过问卷调查、访谈、会议、查阅文献资料58、等方式进行收集。4.评估结果:评估结果:对收集到的数据进行分析,了解企业在各个评估指标上的得分情况,找出企业在云方面的短板和改进方向,评估结果可以用图表等形式呈现,以便于理解和分析。5.改进建议改进建议:根据评估结果,提出改进建议,这些建议可以包括技术、组织、流程等方面的改进措施,以及这些改进措施的优先级。通过云成熟度评估,可以全面了解企业在云计算方面的现状和发展需求,有针对性地提出改进措施,从而更好地利用云计算技术带来的优势,推动企业的数字化转型和创新发展。3.2.2 评估维度说明 云成熟度模型包括多个维度和指标,通常从如下几个维度进行评估:1.云战略评估:云战略评估:评估企业在云战略方面的59、成熟度,包括是否制定了云战略、蓝图和目标,并且将其纳入到企业整体战略中。2929 2.云技术能力评估:云技术能力评估:评估企业在云技术架构方面的成熟度,包括基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)等不同层次的技术能力。3.云业务应用评估:云业务应用评估:评估企业在云原生应用方面的成熟度,包括业务的云原生化程度,以及企业在云原生应用开发、容器化、微服务、DevOps 和 CICD 等领域的实践能力。4.云安全能力评估:云安全能力评估:评估企业在云原生安全方面的成熟度,包括网络安全、数据安全、应用安全等方面的实践情况,以及企业在安全合规、风险管理和安全文化等方面的60、表现。5.组织管理能力评估:组织管理能力评估:评估企业在组织管理方面的成熟度,包括云原生团队建设、云流程规范等方面的实践情况,以及企业在云原生文化、领导力和创新力等方面的表现。6.云运维治理能力:云运维治理能力:评估企业在云运维和治理方面的成熟度,包括:资源管理、成本管理、应用部署、自动化测试、监控、故障排除等。下表是评估维度和指标的一个样例,企业可以根据实际情况进行调整,以更符合企业的现状和需求。可以基于指标进行逐项评估,起步是 1 分,行业领先是 5 分。1 分 (起步)Initiating 2 分 (局部突破)Emerging 3 分 (全面开展)Performing 4 分 (成为竞争61、优势)Advancing 5 分 (行业领先)Leading 分类分类 指标指标 得分得分 总分总分 云战略 云战略 云蓝图 云目标 云技术 IAAS 使用能力 PAAS 使用能力 SaAAS 使用能力 云业务 云原生程度 容器应用能力 微服务应用能力 CICD 能力 云安全 数据安全能力 网络安全能力 应用安全能力 安全管理能力 组织管理 云化组织 云化流程 3030 云运维治理 资源管理 成本管理 监控告警 自动化 这些方面的评估可以帮助企业了解云能力的现状和短板,帮助企业制定相应的云转型战略,进一步提高企业的云能力水平。3.3 上云可行性评估 企业上云的可行性评估,可从以下几个维度进行:62、1.业务成本:业务成本:在企业上云之前,需要评估企业从 IDC 迁移到云的转换成本。评估成本时,需要考虑企业的业务规模、经营业务、技术水平、客户需求等情况,以及各云服务提供商的价格,并结合企业的业务情况,选择合适的上云方案,计算出上云的成本。如下是常见的上云成本考虑因素:2.业务收益:业务收益:在企业上云之前,需要评估企业上云后跟之前相比,将获得哪些业务收益,包括成本、效率、可用性、安全性、可运维性、敏捷性等。3.信息安全:信息安全:企业上云之前,需要评估上云后的数据安全能否满足相关安全合规政策和标准。4.技术评估技术评估:企业上云之前,需要评估云服务能否满足当前的技术要求,比如兼容性(小型机63、、第三方数据库、硬件加密机)、性能等。如果涉及到业务适配改造,需要评估改造成本与投入。3.4 上云策略规划 上云迁移 6R 策略是指将现有的应用程序和数据迁移到云端的六种不同方式,如下图所示:3131 企业的上云动机是迁移 6R 策略选择的第一驱动力,在规划 6R 策略前,首先要清晰定义企业的业务上云驱动,常见的企业上云动机和推荐的上云策略如下:另外上云策略是否可行,还受到很多其它因素的制约,比如技术满足度、开发预算、上云周期等,需企业综合评估后进行合理规划。3.5 高阶方案规划 3.5.1 方案范围 如果把上云迁移比作搬家的话,上云就是把业务系统从迁移源端(比如 IDC)搬到目标端(比如华为64、云),因此业务上云方案包括两部分,即云上架构设计和迁移方案设计,其中云上架构设计又包括基础环境设计和应用部署架构设计,如下图:3232 1.云云上架构上架构设计:设计:包括基础环境设计和应用部署架构设计,其中基础环境是整个云上目标架构的底座。企业上云时,先要做好基础环境设计,然后才是设计每个业务在云上的应用部署架构。2.迁移方案迁移方案设计设计:包括上云策略、批次规划、试点应用推荐、迁移方案和切换方案。3.5.2 高阶方案示例 3.5.2.1 基础环境规划示例(一一)账号与权限规划账号与权限规划示例示例 1.集团对应主账号集团对应主账号,可以创建和管理企业的组织结构、子账号,统一对子账号进行财65、务管理,并为子账号设置组织策略限定其权限范围,一个组织单元可以包含多个子账号。2.子账号子账号,可以作为账单实体,按照业务单元、产品、运行环境、成本中心等规划账号。3.企业项目企业项目,对资源进行逻辑分组和标签,基于分组进行成本分摊、限定授权范围和资源筛选,一个账号可以包含多个企业项目。3333 按照最小授权原则,对各账号进权限设置:(二)整体网络规划示例 3434 VPCVPC 划分原则划分原则 1.根据环境进行 VPC 规划,不同环境的规划不同的 VPC。2.规划一个运维 VPC,承担与线下 IDC 或办公区网络的互联中转作用,可减少专线数量。3.强隔离业务可单独规划一个 VPC。VPCV66、PC 规划规划 1.网络互联 VPC:云上和线下互联,IDC 通过专线接入网络互联 VPC,网络互联 VPC 再通过 VPC Peering 实现和其它业务 VPC 的互联。2.生产 VPC:部署各业务域生产系统,通过 VPC peering 按需打通和其它 VPC 的连接,VPC 内可规划不同的子网,通过网络 ACL 和安全组实现隔离。3.开发 VPC、测试 VPC、预发 VPC:开发、测试和预生产各自独立规划一个 VPC,部署对应的开发、测试和预生产系统,3 个环境相互隔离。3535 3.5.2.2 应用部署架构示例 方案说明:方案说明:1.IDC 和公有云之间通过专线连接。2.前端通过负67、载均衡服务 ELB 在双 AZ 分发流量,ELB 结合 AS 支持弹性伸缩,灵活配置自动伸缩策略,可支撑亿级用户并发。3.业务系统以集群方式跨 AZ 部署。4.Kafka、RabbitMQ、Redis、数据库中间件跨 AZ 高可用部署。5.MySQL 推荐使用 RDS for MySQL 云数据库,支持一主多读部署模式,替换 MHA 中间件;跨AZ 部署高可用,秒级主备切换。6.MongoDB 推荐使用公有云 DDS-MongoDB 数据库,跨三个可用区部署,支持弹性扩容。7.IDC 机房作为灾备中心,将容器镜像、数据库数据同步到线下 IDC。3636 3.5.2.3 迁移方案示例 迁移方案说68、明:迁移方案说明:1.接入层:接入层:全局服务,涉及 BLB 和 APISIX 网关,提前在华为云上完成部署、配置和验证 2.应用层:应用层:通过自动化部署工具(提前完成华为云 CCE Turbo、内网 DNS 等服务对接)实现容器化应用的重新发布到华为云 3.中间件层:中间件层:1)Redis:缓冲中间件,通过 DCS 工具完成全量+增量迁移 2)Kafka/RabbitMQ:消息中间件,一般不迁移,待消费者服务消费完通道内的消息后,整个消息中间件直接切换到华为云 4.数据层数据层:1)PostgreSQL、MySQL、MongoDB:通过 DRS 工具完成全量+增量迁移 2)对象存储:通过69、 OMS 工具完成对象存储数据全量+增量迁移 3)文件存储:通过 rclone 等工具完成文件数据全量+增量迁移 3737 3.6 企业上云的收益评估 重度用云的时代已经来临,企业上云前要制定可衡量的业务目标,不仅要关注成本节约、效率提升方面的目标,更要关注云为业务创新创造价值的目标,企业上云后的收益可以从如下维度评估:3.6.1 降低 TCO 3.6.1.1 降低资源配置成本 通过“IDC 按峰值配置-云上按需配置”的转变,优化资源配置方式,减少资源配置浪费。企业上云前,通常是在 IDC 自建 IT 系统,而这个 IT 系统必须按照企业最大的业务需求来设计,因为企业需要应对业务高峰,IT 资70、源通常是参考业务峰值配备的,大部分时候这些资源可能是不需要的,而IDC 物理资源共享起来又比较困难,因此造成一定的浪费,IT 资源成本很高。企业上云后,IT 成本从 Capax 模式转变为 Opex 模式,IT 资源可以按需付费,资源可以实现弹性伸缩,按实际资源的使用量来收费,因此上云后可以降低这部分成本,使企业在不过度配置 IT 资源的情况下,动态满足业务对 IT 资源的诉求。具体上云后能降多少 IT 成本,跟企业的业务峰值特点、IDC 的资源现状、上云后的弹性伸缩策略都有关系。因此,需要充分进行业务调研,按照业务需求设计云上目标架构,选择合适的云服务规格,选择合适的包年包月和按需资源的比例71、,并且设置合适的弹性伸缩策略,做好 FinOps 才能实现降成本目的。3.6.1.2 降低灾备建设成本 企业上云后,业务连续性方案的构建成本,比如本地备份、同城容灾、两地三中心,云上相比 IDC 将大幅降低。云上构建灾备方案的成本比 IDC 降低大约 30%50%左右,云上灾备方案相对于 IDC 灾备方案在节约成本的同时,还具有安全性和便利性方面的优势,具体体现在:(一一)本地备份:本地备份:企业需要在 IDC 购置大量硬件设备,而且需要提前购置,即使当前还用不到那么大备份存储容量,同时供电成本高,并且需要专人负责这些设备的维护和更新,将来扩容也很慢,需要走一系列软硬件采购和3838 安装流程72、;而采用云备份,企业不需要关注底层资源的容量问题,使用云服务,按需计费,不会浪费,也不要关注设备的维护问题,省钱又便捷。(二二)同城容灾:同城容灾:IDC 构建同城双活需要购买设备、租用机房、配置线路等一系列硬件和软件资产的投入,而云上构建同城双活的方案则是通过云计算平台将资源虚拟化后进行配置,不需要像 IDC 一样购买设备、租用机房和配置线路等硬件资源。1.基础设施成本降低:基础设施成本降低:不需自建或租用容灾机房,不会造成计算资源浪费,比如,如果是主备容灾,IDC 的容灾资源通常是空闲的,造成资源浪费。而公有云可以按需使用计算和存储资源,可以策略性地选择将容灾站点的 ECS 关闭以降低成本73、,或者容灾节点先用小规格的 ECS,后续按需变更规格。2.无专线费用:无专线费用:IDC 自建同城容灾,需要在两个数据中心之间拉通专线,成本高;而云上构建同城容灾,同一 Region 的不同 AZ 机房之间默认是打通的,且是高速内网,不收费。3.降低容灾配置降低容灾配置成本成本:IDC 构建同城容灾方案,通常需要对应用的 4 层架构进行复杂的配置,需要分别考虑接入层、应用层、中间件层和数据层的灾备方案,并且需要购买相应的灾备硬件和软件,成本较高。而公有云原生具备同城容灾的特性,数据层的 RDS 可以直接选择购买跨 AZ 的主备部署实例,不需要任何额外配置;中间件 DCS 也可以选择跨 AZ 主74、备部署实例;应用层可以选择跨 AZ 部署,是同一个内网;接入层 ELB 也是部署在多个可用区,多活模式且互为备份。4.降低容灾管理和运维成本:降低容灾管理和运维成本:公有云原生具备同城灾备特性,不需要用户进行底层配置、管理和运维。相比 IDC,公有云的同城灾备管理和运维更加简单,不需要考虑专线运维、不需要考虑数据库、中间件的容灾管理和运维,不需要考虑负载均衡器的设备管理和运维。(三三)两地三中心:两地三中心:公有云上构建两地三中心方案时,两地的方案优势可以参考同城容灾的描述,差异点主要在于异地专线部分,云上的两地专线费用会更低一点。云服务商都会提供 Region 间的高速专线连接,比如华为云的75、CC 服务,会提供不同种类和规格的网络高速专线,用户可以根据自己的需求选择合适的服务。相比较而言,用户自己在两地拉专线的费用可能较高,涉及到专线设备的采购、维护和升级等方面的费用。此外,用户自己在两地拉专线还需要考虑跨地域的政策和规定,可能需要申请相关的审批手续。如果是采用公有云服务,则这些都不需要考虑,只需按需使用。具体成本会降低多少,跟服务提供商、专线带宽、使用时间、地理位置等因素而有所不同。但云上构建两地三中心的便利性是一大优势。总体来说,公有云上构建灾备方案相对于 IDC 构建灾备方案,基础资源的利用率更高,不浪费,成本有一定降低,容灾网络成本更低,管理和运维成本低,同时扩展性好、更便76、捷。具体成本降低的幅度,还需要根据企业的实际情况和选择的云服务来进行评估。3.6.1.3 降低运维人力成本 云上运维服务相对于传统的 IDC 运维服务,可以降低运维服务的投入,提高服务质量和效率。云运维相比传统运维可以降低一定的成本,但具体降低多少成本取决于企业的具体情况和实际需求。3939 1.运维范围变小:运维范围变小:传统运维需要管理机房,运维物理设备,包括服务器、网络、存储、安全设备等。企业业务全量上云后,基础设施的管理和运维交给了云服务商,企业将不再需要做底层基础设施的运维。2.2.运维效率提升:运维效率提升:1)扩展效率更高:云运维可以弹性扩展资源,可以根据实际业务需求快速扩展计算77、和存储资源,而传统运维则需要预先规划、购买和部署硬件资源。2)运维自动化:云运维更加注重自动化管理,服务提供商通常会提供自动化的运维工具和服务,实现自动化部署、监控、备份等操作,而传统运维需要手动进行这些工作。3.6.2 提升系统可用性 企业上云后,应用的可用性将大幅度提升,计划外的停机时间将大幅度减少,具体可用性可以提升多少,与企业 IDC 的现状和上云后的云服务选择有关。企业应用上云以后,天生就具备同城容灾特性,以很少的成本,实现从 IDC 本地高可用,扩展到云上的同城高可用。1.数据层可用性提升数据层可用性提升:企业上云后,数据层可以实现从 IDC 本地高可用到同城两地/三地高可用,比如78、可以创建跨 AZ 的 RDS 数据库主备实例,并且还可以额外创建只读副本,大幅提升可用性;OBS存储支持跨 AZ 多副本存储,即使一个数据中心损坏也不影响数据的访问,比如华为云 OBS 的数据持久性高达 99.9999999999%,业务连续性高达 99.995%,远高于传统架构。2.中间件层可用性提升:中间件层可用性提升:中间件层可以创建跨 AZ 的主备或集群部署的缓冲中间件或消息中间件云服务,比本地部署,可用性有大幅度提升。一个数据中心故障,不会影响业务访问。3.应用层高可用提升:应用层高可用提升:应用层可以跨 AZ 部署,云服务商提供了负载均衡服务,可以自动分发流量到不同数据中心的服务器79、上,确保服务的可用性和性能。此外,负载均衡还可以实现自动故障转移和容错功能,比本地可用性有大幅度提升。4.接入层可用性提升:接入层可用性提升:云服务的负载均衡支持同时部署在多个可用区,多活模式且互为备份,相比IDC 的本地负载均衡,提供更高的可用性。总之,上云之后,业务系统的接入层、应用层、中间件层和数据层的可用性都提升到了同城多数据中心高可用级别,相比 IDC 的本地部署,可用性有大幅度提升。上云之后,业务可以非常方便的实现同城高可用,可以理解为,上云之后,原生就具备同城高可用特性,同时两地三中心的实现也比线下要快捷、方便、省钱的多。3.6.3 加快业务创新 云通过提供基于互联网的灵活、可扩80、展、安全的计算资源和服务来支持业务创新和快速上线。以下是云实现业务更快创新和加快上线时间的几个方面:1.首先,云提供了快速部署和弹性扩展的能力。云服务可以根据客户需要快速部署新的资源,同时可以根据需求进行弹性扩展,从而满足不断变化的业务需求。这使得客户可以更快的推出新产品和服务,以满足市场需求。2.其次,云提供了丰富的开发工具和服务,如 API、SDK 等,可以帮助客户更快的开发和部署应用程序。云还提供了多种不同的服务模型,如 SaaS、PaaS 和 IaaS,以满足不同客户的需求,从而加4040 速了应用程序的开发和部署,尤其是大数据、AI、区块链等服务,企业可以直接调用,以使能新业务的开发81、、测试和商用。3.同时,云还提供了全球范围内的网络和基础设施,企业可以在全球范围内部署和管理应用程序,可以根据业务需求选择不同区域的数据中心,从而将应用程序部署到离用户更近的地方,提供更快的响应时间和更好的用户体验。4.最后,云还提供了强大的安全和合规功能,如身份验证、访问控制、加密等,可以保护企业的数据和应用程序的安全性和合规性。这使得企业可以更加自信的开发和部署新的应用程序,从而更快地推出新产品和服务。综上所述,云通过提供灵活、可扩展、安全的计算资源和服务来支持创新和快速上市,帮助企业更快的推出新产品和服务,满足不断变化的市场需求。3.6.4 增强安全能力 企业上云后,相比 IDC,安全能82、力有以下几个方面的增强:1.更强的更强的防护防护能力能力:云提供了多层安全防护,包括物理安全、网络安全、主机安全、数据安全等方面。云服务提供商会为客户提供多重安全措施来保护客户数据的安全,如防火墙、入侵检测、DDoS 防护等。相比在 IDC 自建安全方案,云的能力更强、更容易获得。2.安全合规性更高:安全合规性更高:云平台通常具备更加严格的安全合规性要求,包括数据加密、身份验证和访问控制等。这些要求可以确保企业数据的安全性和隐私性。云服务提供商通常会获得多种安全合规认证,如 PCI DSS、ISO 27001、CSA STAR 等。这些认证证明了云服务提供商在安全和合规性方面的能力和质量,客户83、可以放心地将数据和应用程序放在云计算平台上运行。3.严格的访问控制和身份验证:严格的访问控制和身份验证:云计算提供了多种访问控制和身份验证的方式,如账号密码、多重身份验证、访问控制列表等。客户可以根据需要对用户进行身份验证、授权和权限管理,从而确保只有授权的用户才能访问和使用应用程序和数据。4.实时安全监控和告警:实时安全监控和告警:云提供了实时监控和告警功能,可以帮助客户实时了解应用程序和数据的状态,及时发现和处理安全问题。云服务提供商还可以提供安全事件的警报和通知,帮助客户快速响应和处理安全事件。5.专业安全团队:专业安全团队:云平台通常拥有专业的安全团队,能够提供更加专业的安全服务和支持84、,及时解决安全问题,帮助企业构建更加安全可靠的云计算环境。总之,相比 IDC,企业上云后可以获得更多的安全防护、访问控制、安全合规性认证以及实时监控和告警等功能,从而增强了企业的安全能力。3.6.5 增强运维便利性 企业上云后,不需要做基础设施运维,相比 IDC 运维更加便利:1.基础设施免运维:云平台提供了服务化的管理方式,客户可以使用云服务提供商提供的服务来管理和部署应用程序和基础设施,如 RDS、DCS 等,客户只需关注应用程序的业务逻辑,无需关注基础设施的管理和维护。4141 2.可视化运维:云提供了可视化的管理界面,客户可以通过云服务提供商提供的控制台来管理和监控应用程序和基础设施。85、控制台提供了丰富的功能和工具,如监控、日志、诊断、自动扩展等,可以帮助客户快速发现和处理问题。3.自动化运维:云平台提供了自动化运维的功能,客户可以通过 API、脚本等方式进行运维自动化。客户可以使用云平台提供的自动化工具和服务,如华为云 AOS 等来快速创建、部署和管理基础设施和应用程序。4.弹性扩展更便捷:云计算平台提供了弹性扩展的能力,客户可以根据业务需求自动扩展应用程序和基础设施,从而提高响应能力和可用性。客户无需考虑底层基础设施的管理和维护,可以专注于开发和部署应用程序。5.运维支持服务:云服务提供商提供了丰富的常见问题解决方案,客户可以通过查看文档、FAQ、论坛等方式快速解决问题,86、云服务提供商还提供了技术支持服务,客户可以通过电话、邮件等方式获得技术支持。同时,云服务商还会提供更高级别的支持服务,比如华为云的企业级支持计划,购买了企业级支持计划的企业将获得更多的支持服务,比如专属的 TAM 等。综上所述,企业上云后可以通过自动化运维、可视化管理、弹性扩展、服务化管理和常见问题解决方案等方式增强运维便利性,降低运维技术门槛。4242 4 企业上云准备企业上云准备 企业决定全面上云后,在正式开始之前,需要进行一系列准备工作,以确保云转型工作能够顺利进行。首先,需要识别干系人并组建上云团队,负责统筹和领导企业的云转型工作。其次,做好技能准备,企业需要评估现有团队的技术能力,并87、通过培训、认证等方式提高员工的云计算知识和技能,同时还要熟悉云服务商的技术特性和上云实践。最后,组织上云动员,向企业内部员工和关键利益相关者传达上云的重要性、目标和收益,做好“三个对齐”,增强团队的合作意愿和参与度。4.1 干系人识别 企业上云,尤其是大规模全量上云工作,会涉及到许多内部和外部干系人,这些干系人在不同的阶段和层面上会发挥重要作用,对企业上云的成败有决定性影响,因此在组建上云团队前,我们需要先识别干系人,这些干系人,是企业组建自己的上云团队 CCoE 的重要来源。4.1.1 内部干系人 企业上云涉及许多内部干系人,每个干系人在不同阶段扮演着重要的角色。以下是一些常见的内部干系人和88、他们在上云过程中的职责:1.高层管理人员:高层管理人员:高管层是企业上云的决策者和推动者,确定上云战略和目标,提供资源和支持。2.运维团队:运维团队:运维团队负责现有基础设施和系统的管理和维护,在上云时,他们的职责包括评估现有环境的可迁移性,规划和执行上云策略,设计上云架构,搭建和维护云基础设施,确保其高可用性、安全性和性能,保障平稳迁移,并提供上云后的日常运维和技术支持。3.开发团队:开发团队:开发团队负责应用程序的开发和部署,在上云时,他们负责将企业的应用程序迁移到云平台,对应用程序进行上云适配改造或重构,确保应用程序能够适应云环境,并利用云平台提供的服务和功能。4.测试团队:测试团队:测89、试团队负责验证和确保上云后应用程序的功能、性能和可靠性,制定测试计划、设计测试用例和执行策略,确保应用程序在云环境下正常运行,并符合预期的质量标准。5.财务部门:财务部门:财务部门负责预算规划、成本控制和效益评估,在上云时,他们需要参与预算的编制和审批、评估上云的成本效益、跟踪和管理云资源的费用使用情况,并与供应商进行合同谈判和管理。6.子公司:子公司:对于大型的集团型企业而言,子公司也是重要干系人,他们需要匹配集团的上云战略,并参与到上云的规划和执行中。4343 4.1.2 外部干系人 企业上云涉及到许多外部干系人,他们在上云过程中发挥着重要作用,企业需要与这些外部干系人建立紧密的合作关系,90、并在整个上云过程中保持密切的沟通和协调,确保上云计划的成功实施。以下是一些常见的外部干系人及其在企业上云过程中的职责:1.云服务提供商:云服务提供商:云服务提供商是企业上云的关键合作伙伴,他们负责提供云基础设施和相关服务,包括计算、存储、网络等资源,他们的职责包括:提供稳定、可靠的云基础设施和服务 协助企业进行上云架构的规划和设计 提供上云迁移的技术指导和实践 2.咨询公司:咨询公司:企业可能会聘请第三方咨询公司来提供企业上云的咨询,他们的职责包括:分析企业现有的业务架构、技术架构,评估上云的可行性 分析企业需求,制定上云战略和蓝图规划 设计上云的高阶方案 3.应用系统开发商应用系统开发商/供91、应商:供应商:如果企业的业务系统是第三方定制开发的或者采购自第三方供应商,那么应用系统开发商/供应商在上云过程中也会扮演重要角色,他们的职责包括:数据迁移和集成服务,将现有系统和数据迁移到云平台 应用程序开发和定制,根据企业的上云需求开发和定制云应用程序 应用程序的集成和测试,并提供技术支持和维护 4.监管机构:监管机构:某些行业可能受到特定监管要求的约束,企业上云时需与监管机构合作,确保合规性。他们的职责包括:提供相关的法规和合规指导 审查企业的上云计划和实施情况 监督数据隐私和安全合规性 5.5.外部组织外部组织:某些企业在上云期间需要评估对外部业务的影响,比如对于零售企业来说,可能会涉及92、第三方销售渠道(比如某团购平台),上云切换时需要评估对第三方销售渠道的业务影响,并制定应对措施。请注意,具体的外部干系人和其职责可能因企业的规模、行业和上云策略而有所不同。因此,在实际情况中,企业需要根据自身需求和情况确定相关的外部干系人,并明确他们的职责和合作方式。4444 4.2 组建 CCoE 团队 企业上云首先要组建一支专业的上云队伍,识别出干系人以后,可以结合业界最佳实践,组建上云的CCOE 团队,来负责推动企业云转型战略的落地。4.2.1 什么是 CCoE CCoE 是 Cloud Center of Excellence 的缩写,即云卓越中心,不同企业可能会根据其具体需求和组织结93、构来命名这个团队,比如有些企业也命名它为云中心团队、云中心运营团队、云治理团队、云办公室、云创新中心或云能力中心等,虽然叫法不同,但他们都是负责制定和推进企业云转型策略、规范上云和用云过程、提供云运维和治理的最佳实践等。CCoE 是企业上云旅程的起点,它是一个跨部门的团队,它的成员来自我们前面识别的干系人部门。CCoE 主要包括如下职责:1.1.云战略和规划(云战略和规划(Cloud Strategy and PlanningCloud Strategy and Planning):制定云战略、目标和愿景 制定上云迁移的路线图 进行业务和技术可行性研究 确定适合企业需求的云服务模型和提供商 监94、测和评估市场上的新兴云技术和趋势 2.2.云架构和设计(云架构和设计(Cloud Architecture and DesignCloud Architecture and Design):针对不同类型的工作负载,制定云架构和设计原则 选择合适的云服务和工具,以支持架构需求 设计弹性和可伸缩的云架构,以满足业务需求 提供云基础设施和平台的架构设计指导 对云应用程序进行架构评估和优化 3.3.云运营和管理(云运营和管理(Cloud Operations and ManagementCloud Operations and Management):选择和实施合适的云管理工具 定义服务级别协议(SL95、A)和监控机制 制定云运营管理策略和最佳实践 监控云环境的性能、可用性和安全性 实施自动化和编排工具,提升效率和可靠性 4.4.云安全和合规性(云安全和合规性(Cloud Security and ComplianceCloud Security and Compliance):制定和实施云安全策略和控制措施 4545 管理云环境的身份验证、访问控制和数据保护 进行风险评估和漏洞管理,以降低安全风险 确保云服务符合合规性要求和相关法规 建立安全监控和事件响应机制 5.5.云培训和技能发展(云培训和技能发展(Cloud Education and Skill DevelopmentCloud E96、ducation and Skill Development):提供云计算相关的培训和认证计划 建立云技能发展计划,培养组织内部的云专家 组织内部的云社区和知识共享活动 建立云知识库和文档中心 推广云计算最佳实践和经验分享 以上 5 个方面构成了 CCoE 的总体框架,具体的落地方案可能因不同企业的需求和实践而有所不同,实际执行时可以根据企业的需求和实际情况进行调整和定制,做出符合企业特点的方案,帮助企业顺利进行云转型。4.2.2 为什么要构建 CCoE 构建 CCoE 可以帮助企业更好地规划和管理云转型过程,提高上云效率和降低 IT 治理成本,加强安全和合规,促进创新和竞争力的提升,它是企业97、实现云战略和数字化转型的关键组成部分。为确保企业上云转型成功,企业需要构建 CCoE 团队。CCoE 团队可以为企业上云提供战略引导、技术专业支持、资源整合和管理,以及安全合规保障。这个团队的存在可以加速上云过程,降低风险,并确保企业能够充分发挥云计算的优势和潜力,实现成功的云转型和数字化转型。CCoE 可以给企业带来如下好处:1.统一的云战略和路线图:统一的云战略和路线图:构建 CCoE 可以帮助企业制定统一的云战略和路线图,明确组织对云的愿景和目标。它能够帮助企业更好地规划和管理云转型过程,减少云迁移过程中的风险和不确定性。2.上云期间更上云期间更好的好的协作:协作:CCoE 通过建立一个98、跨部门的协作平台,促进不同部门之间的沟通和协作。它能够帮助企业建立云决策机制,对云相关项目进行协调和管理,确保整个组织在云转型过程中的一致性和协同性。3.提高效率和降低成本:提高效率和降低成本:CCoE 可以通过推广和应用最佳实践,提供云相关的培训和咨询,帮助企业高效地采用云技术,并降低云转型过程中的成本和风险。它能够帮助企业实现规模经济效益,提高资源利用效率。4.强化安全和合规:强化安全和合规:构建 CCoE 有助于企业建立和实施统一的安全和合规策略。它可以提供安全咨询和培训,确保企业在云环境中能够满足法规和标准的要求,保障数据和系统的安全。4646 5.提升创新能力:提升创新能力:CCoE99、 可以帮助企业更好地应用和推广云的创新技术和最佳实践,促进新业务模式的创新和实验。它能够帮助企业快速响应市场需求,加速产品和服务的上市时间,提升企业的竞争力。4.2.3 如何构建 CCoE CCoE 构建的前提是企业已经制定了云转型战略,并且获得企业高层支持。企业上云的规模决定了CCoE 团队的大小,参与上云的业务模块越多,CCoE 团队就越大。CCoE 一般包括如下角色:赞助人:赞助人:来自企业高层,是企业数字化和云化转型的高层赞助人。领导者领导者:企业云转型的领导者,是云战略专家,了解云的先进技术,并对业务有深刻理解。云架构师云架构师:具备云的专业知识,确定上云的技术路线,提供云的最佳实践100、和模板,负责上云架构设计和上云迁移工作。运维专家:运维专家:提供上云之后的运维模型和最佳实践,建立企业云上运维体系,搭建运维平台,以及通过自动化运维的方式,对云上环境进行持续治理和管理,包括架构优化、平台建设、资产管理、权限管理、云自动化等,比如根据业务需求分配云资源和所需权限,并对资源进行初始化配置。安全专家:安全专家:负责上云的安全标准、规范和准则的制定,确保云上运营运维安全。合规专家:合规专家:确保企业上云后满足相关法规、行业标准和内部合规要求,以最大程度地降低风险并保护企业利益。财务专家:财务专家:负责制定上云成本分摊原则,进行成本优化和控制治理。业务业务专家专家:多名来自各业务团队的101、上云代表,是各业务团队的上云负责人,负责上云工作在本业务部门的落地和执行。测试专家:测试专家:企业上云时,对业务进行全方位的功能、性能、可用性测试。CCoECCoE 团队的参考架构如下:团队的参考架构如下:CCoE 是一个跨部门的虚拟团队,成员并不一定都来自企业内部,前期可以通过咨询公司或云厂商承担部分职责,运作成熟后再逐步自主承担,CCoE 是一个持续存在的组织,不止负责上云工作,还负责上云后的持续运营、运维和治理,以及新技术的更新迭代和持续优化。4747 4.3 技能准备 企业上云时,团队成员需要具备一定的云技能和知识,以便更好地支持企业的上云过程,因此,在企业上云之前,建议对团队成员进行102、培训,做好相关技能准备,以确保他们具备必要的云技能来支持企业的云转型。4.3.1 做哪些技能准备 企业上云对不同团队成员的技能的要求会有所差异,以下是各个部门在上云过程中可能需要具备的一些云相关技能和知识,仅供参考,实际情况可能会因不同企业的具体需求而有所变化。1.1.企业高层:企业高层:负责决策和资源支持,他们需要掌握以下技能。了解云的基本概念和优势,理解云转型对企业的战略意义 了解云的商业模式和运营方式,能够进行战略决策 2.开发团队:开发团队:开发团队需要在云上进行应用程序开发和部署,他们需要掌握以下技能。了解云的基本概念和架构,理解云服务模型(如 IaaS、PaaS、SaaS)以及其应103、用场景 熟悉使用云平台提供的工具、API 和 SDK,能够与云进行集成和交互,能够使用云平台进行云原生应用的开发和部署 掌握云原生开发的能力,包括容器化、微服务架构、CI/CD 等 了解云网络和云安全的基础知识,以确保应用程序的高可用性和安全性 3.3.测试团队:测试团队:测试团队需要在云环境中对应用程序进行测试和验证,他们需要具备以下技能。能够在云上搭建和管理测试环境,包括虚拟机、容器等资源的使用和配置 掌握云平台的监控和日志分析工具,能够进行性能测试和故障排查 了解云环境下的测试流程,能够进行云上应用程序的功能测试、性能测试和安全测试 掌握云平台提供的自动化测试工具和服务,能够在云上进行自104、动化测试的编写和执行 4.运维团队:运维团队:运维团队需要监控和维护云环境中的应用程序和基础设施,他们需要具备以下技能。掌握云平台的基础设施管理,包括虚拟机、存储、网络等资源的配置和监控 掌握云平台的自动化运维工具和技术,能够进行自动化部署、调优和故障处理 掌握云平台提供的自动弹性伸缩和负载均衡功能,能够进行资源的调度和优化 了解云平台的安全策略和权限管理,能够进行合理的访问控制和安全配置 5.5.财务部门:财务部门:财务部门需要负责上云的预算和成本管理,他们需要具备以下技能。了解云计算的成本模型和计费方式,能够进行云服务的成本估算和预算规划 掌握云平台提供的费用计量和消费分析工具,能够进行资105、源利用率和成本优化分析 4848 4.3.2 如何做技能准备 企业可以制定详细的上云培训计划,可以包括多种形式,包括集中授课、实验账号演练、在线文档学习,专家经验分享,并且最好通过云厂商相应级别的认证考试,支撑好企业全业务上云,培训资源可以通过如下方式获取:1.云计算基础知识自学:企业员工可以通过阅读相关书籍、文档、博客等方式进行学习,自学云计算的基本概念、架构。2.参加云计算培训课程:企业可以参加各种云计算培训课程,包括免费公开课、购买云厂商的认证培训等,学习云计算的具体技术和实践,如华为云的解决方案认证培训 HCIA/HCIP/HCIE。3.进行实践和练习:企业可以通过搭建云计算环境、部署106、应用程序、维护和管理云环境等方式来进行实践和练习。可以选择一些云服务提供商提供的试用版本,进行免费试用,也可以购买一些云服务,进行实际的应用开发和测试。4.邀请专家讲座:企业可以邀请上云方面经验丰富的云计算架构师来培训员工,了解上云的流程、风险、注意事项及最佳实践。5.参加社区活动:企业可以参加云计算社区的活动,如技术交流、讨论、分享等,与其他云计算从业者进行交流和学习。6.获得相关认证:企业可以获得相关的云计算认证,如华为云 HCIP/HCIE 认证等,证明自己掌握了云计算的相关技能和知识。4.4 运维平台准备 在企业上云前,需要提前做好企业现有的运维平台与公有云的对接集成,实现快速自动化部107、署和集中运维管理,一方面可以提高上云时的部署和迁移效率,另一方面迁移期间的问题处理更加高效。建议做好以下运维系统与公有云的对接:1.1.统一日志平台对接公有云统一日志平台对接公有云 对接方式:对接方式:通过配置日志收集代理或使用公有云提供的 API 将公有云的日志数据传输到统一日志系统中。作用和价值:作用和价值:实现公有云日志的统一汇总和管理,提供集中化的日志分析、搜索和监控功能。这样可以方便运维人员对云上应用进行故障排查、性能优化和安全分析。2.2.统一告警统一告警平台平台对接对接公有公有云云 对接方式:对接方式:通过配置告警通知规则或使用公有云提供的 API 将公有云的告警信息发送到统一告108、警系统中。作用和价值:作用和价值:实现公有云告警的集中管理和处理,将云上的各种异常情况和事件与企业现有的告警平台进行整合,方便及时发现和响应问题,提高故障处理效率和系统可靠性。4949 3.3.自自动化部署动化部署平台平台对接对接公有公有云云 对接方式:对接方式:利用云平台提供的 API 或命令行工具与自动化部署系统进行集成,并配置相应的资源编排模板或脚本,实现在上云期间通过自动化平台发放云资源并自动化部署微服务应用。作用和价值:作用和价值:在上云迁移期间,可以实现在上云迁移期间的自动化资源管理和应用部署,减少手动操作和人工干预,提高上云的效率和一致性,同时降低了上云过程中的误操作风险。4.4109、.CMDBCMDB 对接公有云对接公有云 对接方式:对接方式:将企业现有的配置管理数据库(CMDB)与云平台进行对接,通过集成 API 或其他方式,将云上资产的信息同步到 CMDB 中,实现云上资产的统一管理。作用和价值:作用和价值:通过对接 CMDB 和云平台,可以实现对云上资源的统一管理和跟踪,包括资源配置、关联关系、变更记录等。这样可以提高对云上资源的可视化管理,并支持后续的容量规划、资源优化和安全管理。5.5.ITSMITSM 对接公有云对接公有云 对接方式:对接方式:将企业现有的 ITSM 系统与云平台进行集成,例如通过插件、API 等方式实现工单、变更管理的联动。作用和价值:作用和110、价值:ITSM 工具用于管理和跟踪 IT 服务请求和问题,通过与 ITSM 系统的集成,可以将云上资源的变更、故障等事件与企业现有的问题管理、变更管理流程进行关联,提高运维的响应速度和问题解决效率。比如 JIRA 可以实现上云期间业务测试问题的统一记录和管理,提供全面的事务视图和报告,促进跨团队的协作和问题解决,加快上云工作的进展。总之,提前准备好运维平台,实现公有云与企业现有运维体系的无缝衔接,可以提高上云迁移的可控性、稳定性和效率,同时减少迁移期间的风险和工作量。4.5 项目管理准备 4.5.1 概述 对于大规模的上云迁移项目,在项目启动前,需要根据项目实际情况,制定出切实可行的管理制度,111、这些制度在项目中要始终如一的执行,比如项目启动制度、项目动员会、每日报告制度、周例会制度、里程碑会议制度、每月例会制度、问题管理制度、变更管理制度、文档管理制度、项目结束制度、人员进出制度、权限管理制度、信息安全制度等。项目经理(PM)在项目管理中扮演着关键的角色,以下是一些经验和建议,可以帮助 PM 有效的管理大规模上云迁移项目:1.充分了解业务需求和迁移目标:充分了解业务需求和迁移目标:PM 应该与业务部门和利益相关者紧密合作,全面了解业务需求,并明确迁移目标。这将有助于确定项目的范围、优先级和关键成功指标,并确保迁移与业务目标的契合。5050 2.制定详细的项目计划和时间表:制定详细的项112、目计划和时间表:根据项目目标和复杂性,制定一个详细的项目计划,包括迁移的阶段、任务和关键里程碑。建立合理的时间表,并与团队成员共享,以确保每个人都了解任务和期限,并能够做好时间管理和资源分配。3.组建高效的项目团队:组建高效的项目团队:PM 需要组建一个高效的项目团队,包括具有相关技能和经验的成员。确保团队成员之间的角色和职责明确,并能够有效协作和沟通。PM 还应提供必要的培训和支持,确保团队具备所需的知识和技能。4.有效的项目沟通:有效的项目沟通:建立良好的沟通机制和渠道,确保在项目团队内部和与利益相关者之间进行及时、清晰和准确的沟通。定期召开项目会议,共享项目进展、问题和决策,以促进团队合113、作和项目的透明度。5.风险管理和问题解决:风险管理和问题解决:PM 应该制定风险管理计划,识别和评估潜在风险,并制定相应的风险应对策略。同时,PM 需要建立问题解决机制,跟踪和解决项目中出现的问题。及早发现和解决问题,以避免其对项目进展和成果的不良影响。6.资源管理和优化:资源管理和优化:PM 需要合理规划和管理项目所需的资源,包括人员、预算、技术设备和云服务等。确保资源的合理利用和优化,以满足项目的需求,并最大程度地提高效率和成果。7.持续改进和学习:持续改进和学习:上云迁移是一个持续演进的过程。PM 应积极推动团队的持续改进和学习,包括识别和应用最佳实践、评估项目绩效并提供改进建议。利用经114、验教训和项目的反馈,不断优化项目管理方法和流程。8.监控和报告项目进展:监控和报告项目进展:PM 需要定期监控项目的进展和状态,并及时报告给利益相关者。利用适当的项目管理工具和技术,跟踪项目里程碑的达成情况,及时识别时间和质量偏差,并采取相应的纠正措施。9.管理变更和期望:管理变更和期望:上云迁移项目可能面临变更请求和需求的变化。PM 应制定变更管理计划,评估和管理变更的影响,确保变更得到适当的评估、批准和跟踪。同时,积极管理并与利益相关者共同管理期望,确保对项目范围和资源的合理管理。10.建立良好的团队文化:建立良好的团队文化:PM 需要营造一种积极、协作和开放的团队文化。鼓励团队成员分享经115、验和知识,提供支持和反馈,激励团队达到共同的目标。建立团队的认同感和归属感,定期组织团建活动,以增强团队的凝聚力和项目的成功。通过应用上述项目管理经验,PM 能够有效地管理并成功交付大规模上云迁移项目,提高项目的效率和成果,同时降低风险和问题的影响。4.5.2 目标制定 项目经理需要理解上云迁移的定位和价值,做到知其然也知其所以然。项目经理需要与企业的中高层对齐项目目标和里程碑,明确项目需要的资源和需要配合的周边部门,明确项目在企业中的重要性,以便在项目遇到瓶颈时求助中高层以获得协助和指导。明确企业内部对项目结果的预期,是全量系统上云还是部分系统上云,是以应用平迁为主还是需要辅以应用升级改造,116、并确定验收标准。5151 4.5.3 过程管理(一一)制定可衡量的制定可衡量的任务任务 迁移项目的过程管理,需要时刻保持任务跟进,针对一个长期跟进的任务,需要可量化、可追踪,明确操作步骤和责任人以及完成时间,举例如下:任务名称任务名称 量化标准量化标准 输出迁移方案 输出迁移方案的文档 扩容或新建专线 专线扩容至XXXMb,新建XXX条XXXMb的专线 完成上云代码改造项 需要改造XXX项 第三方进行上云相关修改 需要XXX个第三方配合改造XXX项 梳理测试用例(功能、性能、自动化)功能用例XXX个,性能用例XXX个,自动化用例XXX个 上云前小规模测试(部署类、连通类、兼容类)得出明确的结论117、:XXX应用可以使用云服务,XXX应用需要做修改等 部署演练环境 部署XXX个应用或微服务、XXX套数据库、XXX套中间件 部署生产环境 部署XXX个应用或微服务、XXX套数据库、XXX套中间件 测试(切换前,功能、性能、自动化)生产环境的用例必须通过XX%,演练环境的用例必须通过XX%输出runbook runbook必须要细化到命令 切换演练 明确可以演练的步骤,通过演练优化时间 灰度切流 灰度引流生产环境流量 切换100%流量 切换100%流量 (二二)识别、跟进闭环风险和问题识别、跟进闭环风险和问题 在上云迁移过程中,需要特别关注相关的风险识别及跟进闭环,主要可以从以下几个方面开展:1118、.识别和评估风险:在项目开始之前,与团队成员一起识别潜在的风险,并对其进行评估,确定风险发生的可能性和影响,并为每个风险制定适当的应对计划和应对责任部门及责任人。5252 2.监控和控制风险:通过监控风险指标和进行风险评估,及时识别新的风险和变化的风险,在风险发生时,采取适当的措施来控制和降低风险的影响。3.设定问题解决机制:建立一个有效的问题解决机制,确保项目团队能够及时处理和解决出现的问题。这可能包括设立问题反馈通道、制定问题解决流程、明确问题负责人等。4.跟踪问题解决状态:记录和跟踪所有的问题,包括问题状态、解决方案、解决进展。使用问题跟踪工具或项目管理软件,确保问题得到适当的处理,并在119、解决之前及时进行跟进。5.定期沟通和报告:定期与团队成员和利益相关者沟通,并向他们报告项目的风险和问题情况。提供透明的信息和及时的更新,确保所有相关方都了解项目的风险和问题,并参与解决。6.学习和持续改进:在项目执行过程中,通过回顾风险和问题的处理方式,总结经验教训,并在未来项目中吸取这些经验教训。持续改进过程管理方法和流程,提高项目的执行效率和质量。(三三)有效开会有效开会 1.会前准备会议材料 根据会议主题准备会议材料 设置会议提醒,避免与会者遗忘 材料提前发送,提醒与会者,会前阅读材料,会上直接讨论 2.会中控制会场节奏 紧扣主题,遇到弱相关问题或与主题无关问题,及时制止,另行安排专题会120、议讨论。议题接近结束时间时,及时提醒与会者。3.会后输出纪要并跟踪闭环 纪要包含议题、与会者、结论、遗留事项。遗留事项必须责任到人,明确完成时间并跟踪闭环。(四四)紧密跟踪任务紧密跟踪任务 针对计划,每日跟踪完成进展,且发送日报。针对会议遗留任务,明确责任人和完成时间点,跟踪完成情况。针对风险和问题,跟踪处理进展。4.5.4 有效沟通 企业上云由于涉及的组织和人员较多,要做好沟通管理,制定沟通计划,明确沟通的机制,使相关干系人对上云目标、进度、风险等有清晰的理解和认识,为共同目标达成而协同努力。建议设置专职的 PM负责例行管理,并针对各个事项安排到人,沟通协作贯穿全过程,在沟通的过程中,需明确121、以下几点:1.清晰明确的沟通目标:清晰明确的沟通目标:确保所有沟通都有明确的目标和目的,明确沟通的内容。2.制定不同层级的沟通会:制定不同层级的沟通会:1)项目组通过周例会审视进度、问题和风险,支撑上云目标达成 2)管理层通过月度例会进行整体审视、关键事项决策、问题推动 3)通过专题会议,审视核心交付物,如上云架构、切换方案、实施标准等 5353 3.定期沟通:定期沟通:制定详细的沟通计划,包括固定的沟通时间和频率,以确保与项目团队、利益相关者之间的沟通顺畅和及时。如:项目前期可开展周例会,项目冲刺阶段开展日站会等。4.选择适当的沟通方式:选择适当的沟通方式:根据需要和情况选择合适的沟通方式,122、包括会议、电子邮件、在线协作工具、通讯工具等。有些信息可能需要面对面会议来达成共识,而其他信息则可以通过电子邮件或在线协作工具进行,同时需保持信息沟通过程中的透明性及时效性。针对不同场合及目的选取不同的沟通方式。如:各部门正式沟通采取会议方式,并留存会议纪要,日常沟通统一通讯工具(微信、飞书等),紧急事项及时电话沟通等。5.及时提供反馈和更新:及时提供反馈和更新:定期向项目团队和利益相关者提供项目的进展和更新。及时提供重要的信息和决策,以便所有人都能了解项目的状态。4.6 上云动员会 1.1.WhyWhy:为什么要组织上云动员会:为什么要组织上云动员会 组织上云动员会的目的是统一思想、建立信心123、,公司从上到下达成共识。通过上云动员会,将上云过程中的利益相关者聚集在一起,让大家对上云迁移要达成的目标、整体里程碑、项目运作规范、上云迁移的流程和高阶方案有个统一的认识。1)统一认知和目标:上云涉及到不同部门和员工的参与,而他们对云的理解和认识程度可能不一致。通过上云动员会,企业可以统一员工对于上云的认知,确保所有人理解上云的目的、上云策略和计划。动员会可以激发员工的信心和动力,提高员工支持和积极参与上云的意愿。2)加强沟通和协作:上云涉及到不同部门和团队的合作,动员会提供了一个共同交流的机会,促进了各个部门之间的沟通和协作,有助于上云期间跨部门的高效协同和配合。3)确定责任与任务:通过上云124、动员会明确每个部门和个人在上云过程中的职责和任务,确保所有相关方都明确自己的角色,并协调好资源和人力分配。4)说明项目规范:向项目人员说明项目的运作规范,以便项目经理有效地对项目实施管理。5)了解上云迁移流程和高阶方案:让全员了解上云迁移流程和高阶方案,这样在项目运作过程中,项目组成员才能有效的配合,对每个阶段该做什么、为什么这么做、该如何做就非常清楚。2.2.WhatWhat:动员会做什么:动员会做什么 动员会=3 对齐(组织对齐+目标对齐+责任对齐)+仪式感。1)组织对齐:成立联合项目组,针对关键岗位形成“一对一互锁”。2)目标对齐:明确上云的里程碑,颗粒度细化到每周。3)责任对齐:明确联125、合项目组中的运维、研发、测试、项目管理团队责任分工。4)仪式感:需要从人员、场地、道具和时间等方面来营造仪式感,让联合项目成员知道上云的重要性和时间感。3.3.HowHow:怎么开好动员会:怎么开好动员会 5454 需要从以下几个方面进行强准备:会议材料、地点、道具、时间、时长。1)会议材料:需要包含项目里程碑、项目组组织架构、分工矩阵、当前进展和下一步工作。2)地点:选择在大型且装修最好的会议室。3)道具:印有上云迁移等字样的横幅。注意,根据企业要求,如果企业没有拉横幅的习惯则取消。准备 PPT 作为最后合影的背景墙。其他物料:名牌、矿泉水等。4)时间:选择上午时间,让大家知道项目的重要性,126、上午是人们精神最充沛的时间。5)时长:控制在 1 个小时,时间短说不清楚,时间长人们无法集中注意力。4.4.WhoWho:哪些人参加动员会:哪些人参加动员会 建议企业高层(董事长、CEO、CTO)之一参加、各级中层主管(运维总监、研发总监、测试总监、PMO 总监等)尽量参加、各级业务骨干(由中层主管确定)必须参加、其他人员选择性参加(推荐全部参加)。5.5.WhenWhen:什么时候开动员会什么时候开动员会 当企业确定上云,各项调研、评估规划、上云准备就绪后,召开动员会,以对整个项目组进行动员和统一思想。5555 5 云上云上架构设计架构设计 5.1 架构设计概述 云上架构设计包括基础环境设计127、和应用部署架构设计两部分,如下图:1.基础环境设计:基础环境设计:企业上云首先要准备好基础环境,基础环境构建好以后,上云工作才能正式开始。基础环境在业界也叫做 LandingZone(着陆区),基础环境设计包括 6 个方面,即账号和权限设计、整体网络设计、整体安全设计、资源治理设计、运维监控设计、财务管理设计。2.应用部署架构设计:应用部署架构设计:应用部署架构是应用在云上的技术架构,应用部署架构要从接入层、应用层、中间件层和数据层来设计,包括每一层的云服务技术选型,同时还要考虑架构设计的 6 要素(即:可用性、性能、可扩展性、安全、成本、可运维性),其中重点考虑可用性、可扩展性和性能,安全、128、成本和可运维性遵循基础环境的设计进行适配即可。5.2 基础环境设计 5.2.1 基础环境介绍 基础环境在业界也叫做“着陆区(Landing Zone)”,它是一个航空术语,本意是指飞机可以安全着陆的区域。引申到企业上云场景,企业上云同样需要有一个云上的安全着陆环境(Landing Zone),来保障上云的安全、合规、高效,如下图:5656 基础环境(Landing Zone)的设计对企业上云至关重要,它是企业业务在云上的地基,基础环境没设计好就上云,就像没有经过装修直接入住毛坯房一样,会导致很多风险,参考下图类比:基础环境的设计包括如下 6 个方面:5.2.2 统一账号权限 在企业上云之初,首129、先设计和落地的是身份管理和访问控制方案,然后才能创建云资源。5757 5.2.2.1 组织映射 企业的 IT 治理架构会受到组织结构的影响,需要将企业的 IT 治理架构映射到云上,下图是一个典型的企业 IT 治理架构:需要将企业 IT 治理架构中的各个层级逐一映射到华为云上,在华为云上创建相应的对象,推荐的映射关系如下表所示:5858 只把那些负责管理 IT 项目的组织单元(如部门、分公司等)和管理 IT 资源的用户映射到云上,云上组织映射建议不超过两层,避免 IT 治理的碎片化。不管理 IT 项目的部门或分公司不需要映射到华为云。5.2.2.2 账号规划 1.组织组织 主账号可以创建和管理企130、业的组织结构、子账号、统一对子账号进行财务管理,并为子账号设置组织策略限定其权限范围。一个组织单元可以包含多个子账号。2.2.账号账号 账号是一种资源容器和安全管理边界,也可以作为账单实体。可以按照业务单元、产品、运行环境、成本中心等规划账号。一个账号可以包含多个企业项目。3.3.组织策略组织策略 组织策略可以限制子账号的权限上限,相当于安全红线,子 OU 自动继承父 OU 的组织策略,也可以为子 OU 设置额外的组织策略,OU 上的策略针对 OU 下面所有的子账号都生效。4.4.企业项目企业项目/标签标签 企业项目和标签可以对资源进行逻辑分组,并基于分组进行成本分摊、限定授权范围和资源筛选。131、中心 IT 部门负责主要的云上治理职能,如果企业规模很大,可以设计不同的 IT 职能账号,参考如下:5959 5.2.2.3 权限设计 华为云基于大量成功交付的项目,总结提炼了以下用户权限管理原则,企业可以参考:1.相关性原则:相关性原则:不要把华为云 IAM 作为企业自己的用户管理系统,无需与华为云发生交互的企业员工,就不用在华为云 IAM 上创建相应的用户或用户组。2.最小化使用根用户原则:最小化使用根用户原则:IAM 账号管理员(也叫根用户,与 IAM 账号同名)的权限很大,建议不要直接使用 IAM 账号管理员访问华为云。而是用账号管理员创建一个系统管理组和对应的 IAM 用户,授予系统132、管理组必要的管理权限,后面尽量使用系统管理组中的 IAM 用户替代华为云 IAM 账号管理员进行日常管理工作,保护 IAM 账号的安全。3.用户组授权原则:用户组授权原则:授权时建议按照用户组而不是用户进行授权,用户组的数量和用户的数量相差几个数量级,按照用户组授权可以极大简化授权操作。4.最小授权原则:最小授权原则:只授予用户组完成职责所需的最小权限,如果用户组的职责产生变化,应该及时调整用户组的权限。按照最小授权原则,优先在企业项目中对用户组进行授权,如果确实需要针对账号内所有区域或特定区域的所有资源进行统一授权,则可以使用 IAM 项目进行授权,避免在各个企业项目中逐一授权,简化授权操作133、。5.SSOSSO 集成原则:集成原则:建议使用企业自有的身份管理系统(如 Azure AD 等)与华为云 IAM 进行联邦身份认证,前者的用户通过 SSO(Single Sign-on)登录到华为云控制台进行操作。企业自有的身份管理系统能更好更及时地匹配员工的入职、转岗和离职流程,避免转岗和离职人员继续拥有访问华为云的访问权限。主账号和 IT 职能账号需要与企业自己的身份管理系统进行 SSO 集成,业务账号中除了作为逃生通道的系统管理员,没有其他 IAM 用户,所以业务账号通常不需要与 SSO 集成。6.运行环境权限管理原则:运行环境权限管理原则:生产环境要求安全稳定,其下资源由 IT 管理134、员进行统一管理;开发测试环境要求灵活,其下资源可由开发测试人员全权管理。5.2.2.4 合规使用 账号和权限的使用要合规,建议企业上云遵循如下原则:6060 1.操作日志审计:操作日志审计:开通云审计服务,记录用户对各种云资源的操作,并将这些操作记录进行集中存储、查询,用于支撑安全分析、合规审计和问题定位。在云审计服务 中开启关键操作通知,实时感知高危敏感操作;2.资源合规检查:资源合规检查:在云上创建资源合规检查规则,对账号下面的各种云资源进行合规审计,及时处理不合规的情况;3.谨慎启用访问谨慎启用访问密钥密钥:访问密钥用于 CLI、API 和 SDK 调用,非必须具备,但容易通过代码和配置135、文件泄露。为了提高安全性,仅对需要进行 CLI、API 和 SDK 访问的用户创建访问密钥,并对这些用户授予最小权限;4.不要不要将密码嵌入代码:将密码嵌入代码:当使用 CLI、API、SDK 访问云服务时,请勿直接将访问密钥嵌入到代码中,而是写到一个本地配置文件中,以避免源代码版本控制系统将访问密钥泄露出去;5.高权限用户开启多因素认证:高权限用户开启多因素认证:建议给 IAM 账号以及账号中具备较高权限的 IAM 用户开启 MFA(多因素认证)功能,在用户名和密码之外再额外增加一层保护(MFA 设备的验证码);6.设置强密码策略:设置强密码策略:为 IAM 账号及用户设置强密码策略,例如密136、码最小长度、包含不同类型的字符、密码中同一字符连续出现的最大次数、密码不能与历史密码相同;7.开启敏感操作保护:开启敏感操作保护:当用户进行敏感操作时,例如删除资源、生成访问密钥等,需要输入密码和验证码进行验证,避免误操作带来的风险和损失;8.定期修改密码:定期修改密码:如果不知道密码或访问密钥已经泄露,定期进行修改可以将不小心泄露的风险降至最低;9.清理僵尸用户:清理僵尸用户:通过用户的“最近一次登录时间”识别长期未登录的用户,及时修改他们的身份凭证,包括修改密码和删除访问密钥;另外建议设置“帐号停用策略”来控制长期未使用的用户到期自动停用。10.密码不共享原则:密码不共享原则:不要将用户的137、密码共享给其他人,而是为每个管理或使用华为云资源的人创建一个单独的用户并分配相应的权限。5.2.3 统一网络管理 5.2.3.1 整体网络设计 整体网络设计是基础环境构建很重要的组成部分,目标是构建稳定可靠、可扩展的网络基础设施,统一管理各类网络资源和相关的网络安全防护资源,确保业务访问安全可靠。整体网络设计通常分为 4 个逻辑分区,即公网接入区、网络互联区、业务部署区、公共和运维管理区。6161 (一一)公网接入区公网接入区 在该区主要部署互联网访问相关的网络资源和边界安全防护资源,功能如下:1.通过对互联网访问流量进行实时监测,及时发现和清洗 DDoS 攻击流量 2.提供南北向防火墙功能,138、包括访问控制、入侵防御、流量分析和日志审计等 3.防护 Web 应用遭受来自互联网的 SQL 注入、XSS 等应用层攻击 4.在 DMZ VPC 集中部署和管理面向互联网连接的 NAT-GW、EIP 和 ELB 5.DMZ VPC 统一管理互联网的出入口,作为互联网连接的终结点(二二)网络网络互联区互联区 在该区提供云上 VPC 之间、云上云下、云间互联等网络互联服务,功能如下:1.云上 VPC 互联,将业务账号和 IT 职能账号的 VPC 网络进行互联 2.云上云下互联,将本地数据中心和办公区接入到华为云 3.云间互联,将华为云与第三方云进行网络互联 4.多 Region 互联,将部署在华为139、云多个 Region 的业务系统进行互联 5.提供东西向防火墙功能,集中控制东西向网络的安全访问策略(三三)业务部署区业务部署区 该区主要部署各种业务系统,功能如下:1.为各个业务系统提供 IaaS 资源、PaaS 资源或自建中间件 2.在业务账号内为不同的业务系统提供隔离的 VPC 6262 3.按照应用架构分层在每个 VPC 下面再划分应用、数据等子网(四四)公共和公共和运维管理运维管理区区 该区主要部署公共服务和 IT 管理系统,功能如下:1.公共服务,如 DNS 转发器、虚拟机镜像库、容器镜像库等 2.集中的安全运营管理系统 3.集中的运维监控系统,补丁更新服务器,堡垒机等 4.集中的140、数据管理和分析平台 5.集中的 DevOps 流水线 5.2.3.2 迁移网络设计 在整体网络设计时,我们还要统一考虑迁移网络选择,我们要基于应用的上云需求,从如下几个维度,综合考虑并选择最合适的迁移网络,这些维度包括:1)网络费用 2)迁移带宽 3)数据安全性 4)网络时延 5)网络稳定性 6)网络灵活性 如下是常见的迁移网络类型的优缺点,供迁移网络选择时参考:迁移网络类型迁移网络类型 优点优点 缺点缺点 专线 1、性能稳定:时延低至毫秒级 2、带宽选择范围可达几十 Gbit/s 3、数据传输安全性高 1、成本高:一般是包年包月 2、源端和目的端私网 IP 地址不能重叠 3、开通时间长:一般141、需提前 1 个月申请 VPN 1、组网灵活,随时搭建 2、稳定性较好,安全性较好 3、成本适中:公网费用+VPN 费用 1、时延较高 2、源端和目的端私网 IP 地址不能重叠 公网 IP 1、支持源端和目的端私网 IP 一致的情况下实施迁移 1、稳定性差:带宽可能无法全部利用,迁移速率相对较慢 6363 2、带 宽 任 意 选 择(Mbit/s Gbit/s)3、即买即用,快速绑定 4、成本低 2、公网传输数据有泄漏风险 线下(数据快递 DES)1、容量大(单次 50120TB)2、成本最低 1、迁移方式不够灵活,一般用于历史数据的迁移,增量迁移局限性较大 5.2.3.3 迁移带宽评估 迁移带142、宽主要跟如下三个因素有关:1.迁移的数据总量 2.迁移的总周期 3.应用是否有跨云访问,以及跨云访问的带宽预测 可以基于这三个维度进行迁移带宽的评估,比如:5.2.3.4 专线部署建议 专业的选择跟成本、数据量、业务类型、业务重要性都有关系,可以根据企业的实际情况选择最合适的专线方案,上云迁移期间常见的专线部署方案有如下四种,请参考:1.1.方案一方案一、单根专线单根专线 受成本限制,源端和目的端只拉通一根专线 业务流和数据流(应用数据和大数据)共用一根专线 6464 2.2.方案二方案二、单根专线单根专线+VPN+VPN 源端和目的端只拉通一根专线,业务流和数据流共同使用 VPN 作为备用,143、专线中断时候只作为业务交互使用 3.3.方案三方案三、两根主备专线两根主备专线 数据流和业务流(应用跨专线调用)共用一根专线 源端和目的端拉通 2 根相同规格的专线作为主备,防止专线意外中断导致业务和迁移受阻 4.4.方案四方案四、一根迁移业务专线,一根迁移大数据专线一根迁移业务专线,一根迁移大数据专线 源端有大数据,且数据量巨大,切换前需要长时间从源端抽数据双跑,单独占一根专线 业务和业务数据迁移使用另一根专线 5.2.4 统一安全管控 5.2.4.1 整体安全设计 华为云根据自身安全实践和成功交付数百个项目的经验,提炼如下安全设计原则:1.基于合规要求确定安全方案基于合规要求确定安全方案:144、安全是一项系统工程,从建设成本和方案上看有较大的弹性空间。企业应基于业务的合规要求(如安全等级保护级别)确定安全方案。2.基于风险识别加固安全方案基于风险识别加固安全方案:企业应当从攻击者视角评估业务系统的安全性,识别安全风险,据此加固安全方案,以降低系统被攻击的可能性、提升攻击成功的难度,让攻击者发起攻击的成本超过其获得的利益。6565 3.建立纵深防御机制建立纵深防御机制:建立覆盖全技术堆栈的纵深防御机制。将多种类型的安全控制应用于所有技术堆栈,包括网络边缘、VPC、负载平衡、云存储、ECS 实例、操作系统、应用程序配置和代码等。4.数据传输和存储安全数据传输和存储安全:基于敏感级别进行数145、据分类,针对敏感数据的传输使用 TLS 等方式进行保护,敏感数据存储时要进行加密并设置访问控制权限。5.人和数据隔离人和数据隔离:利用工具和管理机制减少人直接访问和处理数据的必要性,减少处理敏感数据时出现人为错误和人为删改的风险。6.最小化授权最小化授权:基于华为云的细粒度授权机制,只授予用户或应用程序完成职责所需的最小权限,如果职责产生变化,应该及时调整权限。7.确保操作的可追溯性确保操作的可追溯性:完整记录所有用户和应用程序对云上资源、数据和应用的操作访问日志,出现安全问题时可以基于日志进行追溯。8.云原生安全防护云原生安全防护:云服务商提供了丰富的云原生安全服务(比如 WAF、DDoS 146、高防、云防火墙、密钥管理等)。这些安全云服务与云平台深度集成,在性能、弹性、便利性上有较好的优势,同时,云服务商的安全运营经验也会持续推动云原生安全服务的能力提升,因此建议企业优先选择云原生安全服务。9.木桶原则木桶原则:安全是一项系统工程,适用木桶原则,任何一项安全短板都会降低整体安全性,因此要避免安全短板的出现。基于如上设计原则,我们建议华为云上的整体安全架构参考如下:企业可以按需购买并部署对应的安全云服务以保障业务的安全,通过安全云脑服务实现安全资源的跨账号统一管理。安全云脑服务能实现安全资源、日志、策略的统一管理,同时支持用户自定义的安全编6666 排、自动化和响应(Security 147、Orchestration,Automation and Response,SOAR)。客户只需要在安全云脑服务上进行配置,即可以建立和其他账号的关联关系,管理其他账号的合规安全、数据安全、负载安全和应用安全。5.2.4.2 应用安全设计 部署在云上的应用系统的安全诉求主要有三类:1.业务连续不中断:防网络攻击、防黑客入侵、法律法规遵从等;2.数据保密不扩散:防外部获取、非授权员工不可见、云服务商不可见等;3.运维全程可管理:配置安全策略、风险识别处置、操作可审计可追溯等。应用的安全性主要从区域边界、网络通信、计算环境和管理中心这四个角度进行考虑:1.1.区域边界区域边界 边界防护:未经授权的148、访问、恶意攻击、数据泄露;访问控制:内部外部的网络访问控制策略的配置;入侵防范:防范已知及未知的病毒、恶意软件及外部黑客的威胁;安全审计:记录系统及用户的网络活动和安全事件。2.2.网络通信网络通信 网络架构:性能冗余、链路冗余、设备冗余、分区隔离;通信传输:采用密码技术保证传输过程中的数据保密性和完整性。3.3.计算环境计算环境 身份鉴别:密码复杂性及定期修改、MFA、SSO;访问控制:用户权限管理、最小化权限、冗余账号清除;安全审计:用户行为审计及审计记录、审计进程的保护;入侵防范:检测非授权访问、创建非授权端口及漏洞利用;恶意代码防范:恶意代码攻击识别与防范及最新的情报获取;镜像和容器安149、全:镜像及容器安全配置,确保容器之间的隔离和安全运行,防止容器逃逸等攻击;数据加密和数据隔离:对敏感数据进行加密,确保数据在传输和存储过程中得到保护。实施数据隔离策略,限制数据的访问范围;剩余信息保护:删除业务应用数据时,云存储中所有副本删除。4.4.管理中心管理中心 资产管理:数据资产、网络设备、主机系统等,确保各个部分资产的保护情况;权限管理:严格的权限控制机制,只有经授权才能进行相关操作,限制未经授权的访问;自动化与集成:自动化的运维和集成,方便与其他安全设备和系统集成,形成更加完善的安全防护体系;合规性与标准检测:管理中心应符合相关的法规和标准要求,对系统进行整体的安全评估和检测;集中150、管控:统一管理界面,能进行集中式的配置、监控和管理,减少管理复杂性。6767 应用安全要基于整体的安全架构进行适配,下图是应用在云上的安全架构参考:应用应用可能面临的三大安全风险:可能面临的三大安全风险:1.如果业务系统无备份,则数据有丢失风险 2.无主机安全,存在主机遭受挖矿、攻击等风险 3.无监控,存在业务节点异常无法及时感知的风险 如果服务器承载以下类型业务,建议尽量开通使用 ECS 三大护盾(云服务器备份 CSBS、云监控CES、企业主机安全 HSS)增值服务:1.承载“关键业务场景”的云服务器:直接影响企业经营生产,对中断容忍度低。2.承载“核心数据库”的云服务器:业务持续运转依赖于151、对数据的连续读取。3.存储“关键企业数据”的云服务器:硬盘数据包含是企业关键经营数据,对数据安全诉求高。4.存储“高保密数据”的云服务器:机密性数据需要额外提供安全防控保障。5.2.5 统一资源治理 资源治理包含资源共享、资源标签、资源命名规范、资源管理、配额管理、镜像管理和服务控制策略等。5.2.5.1 资源治理原则 华为云基于大量成功交付的项目,总结提炼了以下资源治理原则:1.公共资源集中部署公共资源集中部署:公共资源、共享资源集中部署在公共服务账号中,由管理员统一规划、配置和管理,按需共享给其他 IT 职能账号和业务账号使用,不在各个子账号中分别部署和管理。6868 2.网络资源集中部署152、:网络资源集中部署:网络连接资源(如 VPN、DC、CC、ER)集中部署在网络运营账号中,互联网边界安全防护的资源(如 WAF、DDoS 高防、南北向防火墙)集中部署在网络安全账号中,这些资源由相应的管理员实行专业化管理。3.业务和管理资源分开:业务和管理资源分开:运维监控、安全合规等管理类服务,部署在独立的 IT 职能账号中,由相应的管理员实行专业化管理,该类账号内不要承载业务系统,通常不需要部署 IaaS 和 PaaS 资源,除非需要用来部署第三方运维监控系统或安全管理系统。4.资源分组管理:资源分组管理:在单个账号内,使用企业项目而不是 IAM 项目进行资源的分组和管理,企业项目可以跨区153、域管理资源,支持资源的迁入迁出、项目级授权管理、资源的成本核算,比 IAM 项目更能满足企业的项目管理需求。5.资源标签管理:资源标签管理:对账号内的资源,建议可以从分类搜索筛选、成本分析、自动化操作、分类监控等维度,提前规划好标签分类、键和值。标签非常灵活,可以对不同资源做一个或多个标记,可以极大提升资源管理的效率。6.资源利用率分析:资源利用率分析:定期(月度、季度、年度)统计分析各个账号的资源利用率,及时发现资源空转、资源利用率低的情况,并及时删除空转资源、进行资源整合。7.资源配额监控:资源配额监控:持续监控各个子账号的资源配额使用情况,如果发现当前资源数量接近配额上限,需要尽快提交扩154、容配额的工单。8.关键应用反亲和部署:关键应用反亲和部署:对于重要应用,AZ 内要进行跨主机组或跨机柜的反亲和部署,通过物理节点的反亲和来保证 AZ 内的高可用。5.2.5.2 资源共享 对一个企业来讲,网络连接、镜像等基础和公共资源应该统一规划和配置,由网络管理员或公共服务管理员集中控制和管理,并根据各个子账号的需求,分配或共享给这些子账号使用。资源的跨账号共享为企业带来以下好处:1.提升资源安全性提升资源安全性:对共享资源设置一致的策略和权限,确保企业范围内遵守相同的安全规则。2.提升管理效率提升管理效率:通过集中配置和管理共享资源,可以大幅提升资源管理效率。3.减少资源消耗减少资源消耗:155、通过共享资源,各账号就不用独立创建同类资源。共享资源根据管理权归属的不同部署在不同的账号中,由相应的管理员统一管控。通常情况下,网络连接类基础资源部署在网络运营账号中,互联网边界安全防护资源部署在网络安全账号中,其他如镜像等公共资源在公共服务账号中统一管理。注意:在跨账号共享资源时,需要确保遵守适用的法规和合规要求,并进行相应的合规性评估,避免可能带来的数据隐私和安全审计方面的风险。5.2.5.3 资源合规 华为云建议从如下两个维度进行云上资源的合规管理。6969 1.资源配置合规检查:资源配置合规检查:云资源分布在多个 IT 职能账号和大量业务账号中,需要对这些账号的资源合规检查规则进行统一156、配置,保证合规检测的一致性和及时性,确保云资源满足企业、行业或者国家的安全要求。华为云的 RMS(Resource Management Service)服务提供资源合规检查功能,帮助用户快速创建一组合规规则,用于评估资源是否满足合规要求。2.资源变更记录检查:资源变更记录检查:企业需要对各账号的资源使用情况进行定期的查看和审计。各账号的资源快照需要集中存储,便于企业审计人员定期查看及工具化分析。RMS 服务还提供资源记录器的功能,启用该功能后,RMS 会定期(每隔 24 小时)对资源配置进行快照并存储。通过该功能,企业可以针对各账号的当前及历史资源使用情况进行定期审计和分析,确保各个账号对资157、源的使用符合企业要求,并可根据资源变更记录进行问题排查。5.2.5.4 资源分组 企业项目(Enterprise Project,缩写为 EP)提供了账号内逻辑资源分组的能力,为账号内归属不同企业项目的资源进行权限控制、成本归集等能力。客户可以按照业务系统或者子系统映射到企业项目,不同的业务系统或子系统的资源归属到不同的企业项目。需要注意的是一个资源只能归属一个企业项目。针对一个大型应用独占的业务账号,我们推荐将这个大型应用的每个子系统、微服务或者功能模块的资源归集到一个企业项目,如下图所示:针对多个小型应用共享的业务账号,为了做好业务系统的隔离,我们推荐将每个业务系统部署到不同的VPC,并将158、其资源归集到一个独立的企业项目,如下图所示:7070 利用企业项目对业务账号内的资源按照业务系统或子系统进行逻辑分组之后,客户可以进一步基于企业项目进行细粒度授权和成本归集。1.基于企业项目的权限控制:基于企业项目的权限控制:当多个业务系统共享一个开发或者测试子账号时,需要将某个业务系统的资源委托给 DevOps 账号的应用开发组或应用测试组进行全权管理,在该子账号中设置委托权限时,就可以将授权范围限定到对应的业务系统所在的企业项目,如上图中的 EP-App2、EP-App3、EP-App4。2.基于企业项目的成本归集:基于企业项目的成本归集:财务管理员可以在成本中心按照企业项目统计和查看每个159、业务账号下生产环境、开发环境和测试环境所消耗的成本。针对多个小型应用共享的业务账号,还可以分别统计每个运行环境的每个应用所消耗的成本。5.2.5.5 资源标签 华为云的标签是由用户定义的键和值组成,标签可以更灵活地帮助用户管理资源,包括识别资源、搜索资源和基于标签进行成本分类等。在为华为云资源创建标签策略时,华为云有以下建议:1.请勿在标签中存储用户身份信息或其他机密或敏感信息 2.对标签区分大小写格式,并跨所有资源类型一致地应用该格式 3.虽然标签有长度规格上限,但尽量不要每个标签都达到标签规格上限,标签长度能标明含义即可 4.需要提前规划用于多种用途的标签准则,如管理资源访问控制、成本跟踪160、、自动化和归属组织(一一)标签命名限制和要求标签命名限制和要求 1.每个资源最多可以有 20 个用户创建的标签。注意:以 _sys_开头的系统创建标签将保留供华为云系统使用,并且不计入此限制 2.对于每个资源,每个标签键都必须是唯一的,每个标签键只能有一个值 7171 3.标签键必须包含 1 到 128 个 Unicode 字符,并且以 UTF-8 格式表示 4.标签值必须包含 0 到 255 个 Unicode 字符,并且以 UTF-8 格式表示 5.标签键和值区分大小写,建议利用标签策略在所有资源类型中一致地实施该策略。例如,决定是使用 HuaweiCloud、huaweicloud 还是161、 Huaweicloud,应保持相同的规则。(二二)常见的标签策略常见的标签策略 1.资源治理标签:资源治理标签:用户可以配置标签来与资源一起显示,并且可以按标签进行搜索和筛选。使用 TMS服务,用户可以按资源类型和 Region 过滤资源,给多个资源批量打标签。2.成本标签:成本标签:华为云的成本中心可让用户在使用标签标识和管理资源的同时,还可以将标签激活为成本标签来归集成本。成本标签可以应用在成本分析和预算管理中。3.自动化标签:自动化标签:该类标签通常用于在自动化任务时做资源过滤筛选。自动化标签用于选择加入或退出自动化任务,或识别要存档、更新或删除的资源的特定版本。例如,用户需要在非工作162、时间关闭一些云资源以降低成本,这时候可以给这些云资源打上标签标明需要被定时关闭。(三三)通过标签分析成本通过标签分析成本 企业可以使用标签按各种维度(例如用途、环境、部门等)对云资源进行成本分类。在此之前,需要先进行成本标签激活,具体步骤请参考https:/ 资源命名 命名规范对高效管理云资源非常重要,制定标准和一致的命名规范,能使客户在云上资源的成本分析、自动化、安全控制等方面的管理更加清晰和便捷。命名原则如下:1.命名规则是可扩展的 2.确保在一定范围内的命名是唯一的 7272 3.通过资源命名便于分类,譬如为监控、安全控制等提供可见性 4.命名字段定义如下:Logical areaLog163、ical area:access(公网接入区)、connection(骨干互联区)、business(业务应用部署区)、manage(公共和管理服务部署区)appnameappname:newbie、NBMS、CCM、DCC、PULS 等 envenv:dev、uat、stage、prod、dmz、inspection 等 usageusage:app、CCE、web、db、uplink 等(一一)计算资源命名规范:计算资源命名规范:华为云资源华为云资源 资源资源命命名规范名规范 示例示例 ECS instance ecs-logical area-appname-env-region ecs164、-business-adv-dev-shanghai1 IMS image img-logical area-appname-env-usage-region img-business-adv-devdb-shanghai1 EVS volume disk-logical area-appname-env-usage-region disk-business-adv-dev-k8s-shanghai1 EVS snapshot ss-logical area-appname-env-usage-region ss-business-adv-dev-db-shanghai1 AutoScalin165、g as-appname-env-usage-region as-adv-dev-web-shanghai1(二二)存储资源命名规范:存储资源命名规范:华为云资源华为云资源 资源资源命命名规范名规范 示例示例 OBS bucket obs-logical area-appname-env-region obs-business-adv-dev-shanghai1(三三)网络资源命名规范:网络资源命名规范:华为云资源华为云资源 资源资源命命名规范名规范 示例示例 VPC vpc-logical area-appname-env-region vpc-business-adv-dev-shangh166、ai1 Subnet sn-logical area-appname-env-usage-region sn-business-adv-devdb-shanghai1 ACL acl-logical area-appname-env-usage-region acl-business-adv-dev-k8s-shanghai1 7373 华为云资源华为云资源 资源资源命命名规范名规范 示例示例 安全组 sg-logical area-appname-env-usage-region sg-business-adv-dev-db-shanghai1 ELB elb-appname-env-usa167、ge-region elb-adv-dev-web-shanghai1 EIP eip-appname-env-usage-region eip-adv-dev-web-shanghai1 NAT nat-appname-env-usage-region nat-adv-dev-web-shanghai1 5.2.5.7 资源配额 每个账号中的每种服务资源都有配额,当账号内开通的资源数量达到配额后,将无法开通新的资源实例。企业要持续监控账号的资源配额使用情况,提前识别容量风险,如果发现当前资源数量接近配额上限,需要尽快提交扩容配额的工单。资源治理人员可以通过优化顾问服务中提供的服务配额检查功能168、,做定期的配额情况巡检,查看账号内每个服务的配额以及使用情况。1.查看资源配额:登录管理控制台,在页面右上角,选择“资源 我的配额”。系统进入“服务配额”页面。2.可以在“服务配额”页面,查看各项资源的总配额及使用情况。3.如果当前配额不能满足业务要求,可以点击“申请扩大配额”,就会进入到申请工单界面,通过问题描述,提交工单,让华为云后台管理员更改配额。7474 5.2.5.8 资源控制 企业需要根据各种安全管理要求对各账号的行为做管控,确保各账号无法执行违反要求的行为。为此华为云提供了组织策略,也叫服务控制策略,可以对整个组织进行权限管控。服务控制策略是可继承的,附加在一个组织单元上的策略,169、将对其所有下层组织单元及关联账号生效。在多账号场景下,企业可以在主账号中对整个组织,或指定的业务单元做集中的策略控制。强烈建议用户不要在没有彻底测试服务控制策略对账户影响的情况下将服务控制策略附加到整个组织。用户可以先创建一个测试组织,将服务控制策略附加到该测试组织上进行充分测试验证,然后再把对应账号逐个或小批量移入该组织,确保该策略不会对业务运行产生重大影响。以下是几个典型的服务控制策略。1.1.网络变更控制网络变更控制 禁止成员账号进行网络变更,包括 VPC、网络、子网、带宽、IP、ACL、安全组的创建、变更、删除等操作。成员账号不能修改已有的网络配置,无法在成员账号中创建公网 NAT 网170、关和弹性公网 IP 等。在完成所有网络配置后,建议应用该策略。2.2.监控配置控制监控配置控制 禁止成员账号用户删除运维配置,包括监控面板、告警等操作。在运维管理员完成系统的运维配置后,建议应用该策略。3.3.RMSRMS 配置控制配置控制 禁止成员账号修改 RMS 的配置,包括合规规则,资源记录器等操作。成员账号不能修改合规规则,无法关闭资源记录器。在完成所有 RMS 配置后,建议应用该策略。4.4.MTDMTD 配置控制配置控制 禁止成员账号进行 MTD 相关操作。在完成所有 MTD 检测配置后,建议应用该策略。5.5.禁止删除日志禁止删除日志 禁止成员账号删除日志,包括 CTS、LTS、171、VPC 流日志等。在完成所有日志配置后,建议在整个组织应用该策略。7575 5.2.6 统一运维监控 5.2.6.1 统一监控及告警 云平台提供了许多自带的运维工具,可以提供资源的监控能力,对计算、存储、网络、数据库等云服务进行监控,运维人员可以配置相应的告警阈值和告警通知。除了云平台自带的工具外,企业还可以使用第三方工具进行云上的统一运维。比如,如果企业有自己的运维监控平台,可以通过 API 方式与云平台对接。企业可以在运维监控账号内集中部署企业自己的或第三方的运维监控系统,对所有业务成员账号下的资源进行集中监控和统一告警管理。5.2.6.2 统一日志存储 华为云日志服务 LTS 可以将不同172、账号下的云服务日志、用户应用程序日志统一收集到运维监控账号中。(一一)统一日志收集统一日志收集 企业可以在每个子账号中收集应用程序和云服务的日志,然后通过华为云提供的“跨账号接入-日志流映射”功能,将子账号中的所有日志接入到运维监控账号的 LTS 服务中进行集中存储、搜索和分析。在运维监控账号 LTS 存储了一段时间的日志数据也可以归档存储到更低成本的 OBS 中。7676 各子账号中收集日志后,需要将子账号中的日志集中到运维监控账号。为了实现这一点,需要在子账号的 IAM 服务中创建委托,被委托方是运维监控账号,并授予日志账号“LTS FullAccess”权限。创建委托后,在运维监控账号中173、就可以配置“跨账号接入-日志流映射”,将子账号中的日志流接入到运维监控账号中。在一个账号下日志组和日志流的数量是有限制的,建议运维监控账号的日志组名称和子账号运维监控账号的日志组名称和子账号中相同,日志流名称添加“子账号名中相同,日志流名称添加“子账号名_ _”前缀”前缀,这样可以快速明确运维监控账号日志流和子账号日志流的对应关系。1.日志组织方式:日志组织方式:可以将同一大类的云服务的日志放到同一个日志组中,例如安全相关服务的日志都放在 security 日志组中,网络相关服务的日志都放在 network 日志组中。同一大类下不同的云服务可以放到独立的日志流中,例如可以在 securtity174、 日志组中创建 WAF 日志流用来存放 WAF 服务的日志,在 network 日志组中创建 ELB 日志流用来存放 ELB 服务的日志。2.日志存储时间:日志存储时间:子账号中的日志存储时间可以设置为 90 天,这样方便每个子账号的用户搜索日志,用于各种业务场景下的运维运营工作。运维监控账号中的日志存储时间可以设置为 180 天,进行日志的集中审计,这样符合中国三级安全等保的合规性要求。3.日志转储到日志转储到 OBSOBS:每个账号能创建的 OBS 桶的数量有限,企业可以根据自己的业务需要创建一个或多个桶。在运维监控账号中,设置日志流转储到 OBS,自定义转储路径建议设置为“/日志组名称/175、日志流名称/%Y/%m/%d/%H/%m”,转储周期 30 分钟。转储到 OBS 中的好处是可以将日志归档,实现长期存储并节省成本。4.4.应用日志采集:应用日志采集:对于应用日志,华为云建议使用 ICAgent 收集,应用日志一般包括应用程序日志、客户自建网关日志、操作系统日志、容器日志等,这些日志会写入本地系统磁盘,可以通过ICAgent 将这些日志从所在主机发送到华为云日志服务。对于华为云上的 CCE 容器应用,在控制台打开日志采集开关即可收集日志到 LTS 服务。对于自建 K8S 集群,可以使用 LTS 服务提供的CRD 方式采集原生 K8S 容器日志,具体步骤请参考 https:/ 176、7777 5.5.日志分析:日志分析:日志统一收集到日志服务后,企业的日志分析团队就可以使用关键词来搜索过滤日志,可以使用 SQL 语法来分析日志,并生成可视化图表(表格、柱状图、饼图、折线图等)。企业可以将图表组合到仪表盘中,为业务团队提供运营分析。支持提取仪表盘为模板,为不同的日志流提供开箱即用的分析能力。日志分析团队还可以基于关键词或者是 SQL 语句创建告警规则,用来监控系统的运行情况,可以通过短信、邮件、企业微信、钉钉等多种方式发送告警。6.6.集成到第三方集成到第三方 SIEMSIEM 系统系统 如果企业采用了统一的 SIEM(安全信息和事件管理)系统,可以将运维监控账号中集中存储177、的 LTS日志发送到外部 SIEM 系统进行集中的安全事件和风险分析。5.2.6.3 统一补丁更新 华为云使用企业主机安全服务(Host Security Service,HSS)实现操作系统(Linux,Windows)的漏洞检查和补丁更新。漏洞检查分为定时扫描和手工扫描。扫描出漏洞需要在 HSS Console 上手工操作修复。运维人员先登录到华为云安全运营账号下,再通过账号委托方式切换到各个业务账号,到HSS 下做操作系统统一补丁更新。7878 5.2.7 统一财务管理 企业的主账号要对其下关联的子账号进行统一财务管理,包括:1.1.主子账号关联:主子账号关联:主账号可以通过创建一个华为178、云账号并与之关联,或者邀请一个现有的华为云账号与之关联。同时主账号可以根据公司业务架构在企业中心创建层级式的组织单元,子账号可以从属与某个组织单元,也可以从一个组织单元变更到另一个组织单元。2.2.账号资金管理账号资金管理:主/子账号的资金管理有以下两种方式:第一种:主账号充值后,可以划拨现金、代金券给子账号用于资源的开通。子账号也可以通过自主充值后,进行资源的开通。第二种:主账号是后付费用户,有华为云授信,此时可以给子账号划拨信用进行消费,此时子账号通过信用产生的消费由主账号统一结算。划拨信用的子账号与主账号必须是实名信息一致或者是主账号对应公司的分公司。1.1.账号商务继承账号商务继承:主179、账号可以将其商务继承给子账号,继承后子账号的消费可以使用主账号的商务。避免同一家企业针对其不同账号需要签署多个商务的麻烦,增加了便利性。2.2.账单查询账单查询:主/子账号消费后,可分别登录华为云查看自己的消费数据。主账号可以申请查看子账号消费数据,申请成功后即可查看子账号的消费数据。3.3.开票开票:主/子账号消费后,各自独立向华为云申请开发票。主账号也可以代子账号开票。5.2.7.1 成本计划 1.估算和预测成本 云服务的价格取决于规格、所在区域、计费模式等因素。对于还未使用的云服务,客户可使用华为云价格计算器在线自助估算这些云服务的成本。对于已使用的云服务,客户也可以使用华为云成本中心的180、成本分析来预测每日(最多未来 90 天)或每月(最多未来 12 个月)的云成本。该预测,主要基于客户历史成本和历史用量情况,应用机器算法进行估算。然而由于企业的业务活动是动态变化的,云服务的消费支出也会随之动态变化,导致云支出很难准确预测。2.创建预算以跟踪成本 跟踪成本计划的有效工具是预算。一旦完成成本的估算与预测,客户可以在华为云成本中心的预算管理创建精细粒度的预算来管理成本,并可以创建预算提醒,在实际或预测超过预算阈值时,自动通知利益相关人。客户还可以创建预算报告,定期(每天/每周/每月)将指定预算进展通知利益相关人。5.2.7.2 成本分配 准确有效的成本分配,有利于企业内部的成本透明181、与问责。而透明的成本责任制是企业财务管理的基础。(一一)确定成本确定成本的的组织方式组织方式 7979 企业进行财务管理之前,需要先确认云支出的组织方式,确保将企业在华为云上的支出能分摊到企业内部的组织层级结构上。比如:对于企业来说,可以使用各个子账号(IT 职能账号和业务账号)来分摊在华为云的支出,同时,还可以使用标签将组织信息标记在资源上,资源标签会随资源使用添加到成本(账单)数据上,企业可以使用标签识别不同环境(比如生产、测试)的成本,或使用标签识别不同的组织、产品、负责人。华为云成本中心为客户提供成本标签功能,企业各账号(含主账号)在成本中心将资源标签激活为成本标签后,各账号就可以在成182、本中心基于成本标签进行成本分析、预算跟踪。成本标签只能影响激活后新产生的成本数据,因此我们建议企业在上云前就进行成本标签的规划和激活。(二二)确定成本分确定成本分摊摊方式方式 华为云成本中心为客户提供了两种不同的成本类型:1)原始成本:原始成本:反映了客户的原始使用和购买情况。该成本是基于云服务官网价,应用了商务折扣、促销折扣等优惠之后的金额。2)摊销成本:摊销成本:反映了包年/包月产品的预付金额在订单有效期间内按日分摊后的有效成本。比如客户购买了有效期为一年的云服务共 365 元,则每天的摊销成本为 1 元。从财务视角来看,摊销成本为应计成本,是按照权责发生制计算的成本,因此我们更建议客户使183、用摊销成本在企业内部分摊成本。详细的成本摊销规则可参见:https:/ 不是所有成本都可以通过标签直接归集的,比如企业内部共享带宽、套餐包产生的成本,未及时标记标签产生的成本,或暂不支持标签管理的云服务产生的成本。这类共同成本如果不能适当分配,企业内部各组织就无法全面了解各自的实际成本。成本中心为客户提供一种组织成本的工具-成本单元。客户可以创建成本单元,定义规则,根据标签、企业项目、产品类型、账单类型等条件,将符合条件的成本归集到有意义的分类上,识别共同成本并定义拆分规则,将共同成本分摊到企业内部。比如,客户需要将成本在部门 A、B、C 之间分配。其中,大部分成本可以通过客户标记在资源上的标184、签(KEY=部门)来标识归属的部门;另外,A 部门还单独使用了人脸识别服务(人脸识别服务不支持标签管理),所有部门共用了共享带宽。此时客户可以创建一个名为“部门”的成本单元,并创建如下几个自定义规则:1.规则一:沿用成本标签=部门的取值进行成本归集 8080 2.规则二:产品类型=人脸识别的成本,归集部门 A 3.规则三:产品类型=共享带宽的成本,归集到共同成本 4.最后将不满足上述规则的成本,也归集到共同成本 经过上述处理之后,客户可以获取以下四个数据:部门部门 月度摊销成本净值月度摊销成本净值 部门A¥10000.00 部门B¥20000.00 部门C¥5000.00 共同成本¥1500.185、00 接下来,客户可以创建共同成本拆分规则,将共同成本分摊到部门 A、B、C。成本单元支持三种拆分规则:1.平均分配 每个目标被分摊金额=1 源成本(N 为目标数量)2.按比例分摊 每个目标被分摊金额=每个目标的实际成本所有目标实际成本之和 源成本 3.自定义比例 每个目标被分摊金额=自定义比例 源成本(每个目标自定义比例之和=100%)还是上面的例子,客户选择按比例拆分共同成本,则最终拆分结果如下:部门部门 月度摊销成本净值月度摊销成本净值 拆分百分比拆分百分比 拆分到的成本拆分到的成本 最终分配成本最终分配成本 部门A¥10000.00 28.57%¥428.55¥10428.55 部门B186、¥20000.00 57.14%¥857.1¥20857.1 部门C¥5000.00 14.29%¥214.35¥5214.35 共同成本¥1500.00-100%-¥1500.00-成本单元创建后还可以应用于成本分析、预算跟踪。8181 5.2.7.3 成本分析 了解组织内的成本趋势和成本驱动因素,是企业进一步有效管理成本、控制和优化成本的关键。1.分析成本及用量的趋势及分布 华为云成本中心的成本分析支持使用汇总和过滤机制可视化呈现客户最多 18 个月的原始成本或摊销成本,从而通过各种角度、粒度、范围深度分析成本和用量的趋势及驱动因素。企业主账号可以同时分析名下各子账号的成本和用量情况。企业187、可以使用成本中心提供的预置分析报告预置分析报告(见下表)对常见场景快速分析。报告名称报告名称 说明说明 按产品类型汇总的月度成本 了解过去6个月原始成本较高的产品类型。按关联账号汇总的月度成本 了解过去6个月原始成本较高的关联账号。每日成本 了解过去3个月的每日原始成本趋势,以及未来1个月的成本预测。月度摊销成本 了解过去6个月摊销成本的月度趋势。ECS的月度按需成本和使用量 了解过去6个月云主机每月按需原始成本和按需使用量情况。如果预置报告不能满足客户诉求,客户还可以自定义分析自定义分析,通过调整时间粒度、周期、汇总条件、过滤条件以及成本类型,来洞察成本和用量的情况。对于客户经常关注的自定义188、分析,建议保存为自定义报自定义报告告,便于再次查看相同条件下的分析数据。无论是预置报告还是自定义分析报告,报告分析结果均支持报告分析结果均支持导出导出 CSV 文件。同时,华为云还提供携带标签信息的按月/按日成本明细数据,便于客户深入分析。8282 明细说明明细说明 提供方提供方 提供方式提供方式 参考说明参考说明 携带标签和关联账号的摊销成本明细(月度明细)成本中心 导出csv、API 导出csv:https:/ API:https:/ 携带标签和关联账号的账单明细(按日)费用中心 OBS订阅-csv https:/ 5.2.7.4 成本优化 云支出的主要影响因素是费率、资源用量、产品选型和189、方案设计。因此企业在华为云上的成本优化也主要从这几个方面着手考虑。1.1.优化资源费率优化资源费率 对于长期使用的按需产品,建议客户优先采用包年包月或资源包。客户可使用华为云成本中心的按需转按需转包年包月优化评估包年包月优化评估发现节省成本的机会。该评估基于客户 ECS、EVS、RDS 历史按需资源的使用情况进行分析,为客户提供按需转包年包月的可优化资源清单和优化前后的成本对比。如果客户已购买资源包,客户还可以使用华为云成本中心的资源包使用率资源包使用率/覆盖率分析覆盖率分析,分析已购买资源包的使用情况。对于使用率过低的资源包,判断是否购买过量;对于覆盖率过低的资源包,判断是否购买不足。客户根190、据分析结果优化下一周期的资源包购买。2.2.优化资源用量优化资源用量 客户可通过 CES 监控云服务的利用率,来识别空闲资源或利用率较低的资源。释放空闲资源或降配利用率低的资源,可以减少不必要的付费用量。需要注意的是,无论是释放资源还是降配资源,都需要和业务部门确认,以确保不影响业务使用。3.3.优化产品选型优化产品选型 在满足业务目标的前提下选用低成本的云资源,如允许中断且对及时性要求不高的业务可以选用竞价实例降低成本,冷数据和归档数据可以选用对象存储降低成本。4.4.优化方案设计优化方案设计 客户可以在设计技术方案时充分考虑成本因素,在满足客户业务诉求的基础上,尽量选择成本更加合理的技术方191、案,比如设计大数据方案时选择存算分离的架构可以有效节省大数据方案的整体成本;使用OBS 托管静态网站可以有效节省购买 ECS 的成本。云上资源按需使用、按量计费、弹性伸缩,资源的合理使用决定了成本支出的大小。结合资源的售卖特性,可以优化资源使用成本。如下图:8383 1.1.华为云华为云 ECS ECS 成本优化建议成本优化建议 基于应用场景和工作负载选择合适的实例类型和规格可以帮您节省 ECS 成本支出,同时,基于具体业务持续的周期,通过选择合适的购买方式可进一步帮您节省成本,具体实践有:1)实例类型优化:实例类型优化:针对不同应用场景,华为云提供多种类型的实例,如:通用性/内存优化型实例适192、合于网站、WEB 应用或中轻载企业应用等场景,高性能计算型/存储密集型/GPU 型则用于高性能计算、视频编码、3D 渲染等场景,可根据具体应用场景,选择合适实例优化成本。假如应用场景是电商网站运营,建议使用通用性或内存优化型实例,而非计算型实例,这样更加节省成本。2)实例规格优化:实例规格优化:针对不同工作负载,华为云提供了几十种实例规格,可基于业务工作负载,选择匹配的规格优化成本。假如电商网站访问量在 50 万 PV 以内且交易量在每天 3000 单以内,建议使用 4 核 8G 规格而非 8 核 16G。3)购买方式优化:购买方式优化:当前华为云提供按需、包月、包年 3 种购买方式,基于三种193、模式支出成本对比,针对业务的使用场景和持续周期,建议的购买方式如下:若应用持续周期小于 20 天,如:短期测试、电商节假日促销等场景,建议以按需方式购买;若应用持续周期大于 20 天而小于 10 个月,如:游戏上线测试和运营等场景,建议以包月方式购买;若应用持续周期大于 10 个月,如:企业官网运营、政务民生信息查询运营等场景,建议以包年方式购买。2.2.华为云华为云 EVS EVS 成本优化成本优化建议建议 1)EVS EVS 类型优化:类型优化:华为云提供 4 种类型 EVS,其中极速 SSD 型适用于大型 OLTP 数据库、NoSQL 数据库和流处理与日志处理等场景,超高 IO 型适用于194、高性能计算、数据仓库场景,通用 SSD 型适 用于企业应用和大中型开发测试场景,高 IO 型则适用于办公应用等场景。假如使用场景是电商网站运营或企业官网运营,建议选用高 IO 型,而非超高 IO 型,这样同样容量 EVS,更节省成本。8484 2)EVS EVS 容量优化:容量优化:基于 EVS 弹性扩容的能力,应根据当月的预测容量来购买量,在其利用率达到 80%或以上时,再进行实时扩容,以保证其利用率维持 80%左右,与按全年预测的最大容量购买相比(一般其利用率达不到 50%),EVS 的费用支出将明显减少。另外,也应定期检查账号,定期删除那些独立的、无用的 EVS 卷(随 ECS 创建而创195、建,ECS 删除时未删除的 EVS 卷),会进一步减少成本。3)转换购买方式:转换购买方式:若业务已在华为云上运行一段时间,针对已开通且后续长期使用 EVS 卷,建议从按需或包月方式购买转变为包年方式购买,将明显节省成本,另外将一些不经常使用的非关键数据或归档数据转移到 OBS 存储会大幅度降低成本。3.3.华为云华为云 OBS OBS 成本优化成本优化建议建议 1)OBSOBS 类型优化:类型优化:华为云提供 3 种不同可用性、持久性标准的 OBS 服务,其中标准存储适用于大数据、热点视频等需频繁访问数据的场景,低频访问存储适用于文件同步、企业备份等不频繁访问的场景,归档存储适用于数据归档、196、长期备份等很少访问的场景。基于不同业务需求,选择合适的对象存储类型,将极大节省成本开支。对于需要备份的企业数据,建议选择低频访问存储;针对时间较久的备份数据,建议将其转移到归档存储,成本可以明显降低。2)转换购买方式:转换购买方式:针对标准存储,华为提供了多种容量规格和不同周期的存储容量包,针对已上传到标准存储且会将长期使用数据,可根据现有的数据容量,购买对应的包年容量包,成本明显降低。4.4.华为云华为云带宽优化带宽优化建议建议 带宽成本是公有云使用成本很重要的一部分,在进行云服务配置时需重点考虑。1)华为云提供静态 BGP 带宽和全动态 BGP 带宽两种选择,绝大部分情况下选择静态 BGP197、 带宽即可,如果是金融或游戏客户对带宽有极致体验诉求的可以选择全动态 BGP 带宽,静态 BGP带宽价格比全动态 BGP 带宽价格低很多。2)5M 带宽以下时选择带宽包月往往比按流量更划算,5M 带宽以上时需要根据带宽大小和预估的带宽利用率按以上方法计算得出哪种方式更划算。3)利用 ELB 实现带宽集约,以减少带宽成本。以小型游戏云架构设计为例,如果将登陆和充值区、游戏一区、游戏二区分别部署在 1 台 ECS 上,每台 ECS 配置 10M 带宽,那么总共需要 30M 带宽。不过同一时间三个区的用户访问量有差异,会造成有的带宽利用率高有的带宽利用率低。因此可以在架构设计上部署 1 个 ELB 198、在 3 台 ECS 的上方做流量分发,ELB 只需配置 20M 左右的带宽即可,通过 ELB 实现带宽集中提升带宽利用率减少带宽成本。4)合理使用 CDN 减少公网带宽使用量,降低 TCO,如果您正在通过 ECS 或 OBS 向互联网用户提供图片、视频、文件下载等静态内容,那么可以引入 CDN 服务降低流量成本。使用 CDN 除了能节省成本还能带给客户更好的体验。5)当有大量数据需上传到公有云时,使用数据快递比使用专线传输数据大幅节省成本。5.5.弹性伸缩和定期资源优化弹性伸缩和定期资源优化建议建议 企业上云后,通过配置合适的弹性伸缩策略和定期优化资源可以帮助降低成本,参考如下:1)基于负载自199、动扩缩容:基于负载自动扩缩容:根据系统负载情况自动增加或减少资源。当负载较高时,增加实例数量以满足需求;当负载较低时,减少实例数量以节省成本。8585 2)基于时间表自动扩缩容:基于时间表自动扩缩容:如果业务在某个时间段内会有更高的负载,例如每天的特定时间段或周末,可以预先设定一个计划来在这些时间段自动扩展资源,并在负载较低时恢复到正常水平。3)基于指标的自动扩缩容:基于指标的自动扩缩容:监控关键指标(如 CPU 使用率、网络流量等),当这些指标超过或低于阈值时,自动扩展或收缩资源。例如,当 CPU 使用率持续高于 70%时,自动增加实例数量来分担负载。4)弹性伸缩组使用一定的包周期实例弹性伸200、缩组使用一定的包周期实例:可以通过购买一定数量的包周期实例来降低成本,而不是完全依赖按需实例。弹性伸缩组可以同时使用包周期实例和按需实例,并根据需求设置自动缩放规则,确保系统自动调整实例数量以适应负载变化,既可以提供足够的计算能力,又可以获得较低的成本。注意,由于业务负载可能会随时间变化,这项工作需要定期进行评估和优化,以最大程度地降低成本。5)定期优化资源:定期优化资源:定期评估资源使用情况,识别空闲或低负载资源,并及时释放或调整它们的规格,这有助于避免浪费和不必要的成本。6)使用云服务提供商的成本优化工具:使用云服务提供商的成本优化工具:许多云服务提供商都提供了专门的成本优化工具,可帮助企201、业分析和优化资源使用情况。这些工具可以提供建议和推荐,帮助企业制定更合理的弹性伸缩策略。通过基于负载、时间表、指标的自动化弹性伸缩策略,以及购买预留实例和定期优化资源等方法,可以有效地降低企业上云后的成本,同时,需要密切关注云服务提供商的新功能和工具,以获取最新的成本优化建议。5.3 应用部署架构设计 应用部署架构设计的方法论来源于华为云架构师在各个领域的实战经验,基于这些实战案例,我们总结了一套方法论来指导企业进行云上应用部署架构的设计,帮助企业上好云、用好云。5.3.1 应用部署架构概述 应用部署架构按照各个组件的功能,一般可以抽象出四个层级:接入层、应用层、中间件层、数据层。8686 1202、.接入层:接入层:为外部访问提供了访问入口,云上业务部署在 VPC 私有网络中,与外部网络是隔离的,当外部需要访问 VPC 业务时,通常可以通过如下两种方式:1)专线:专线:云专线是搭建用户本地数据中心/其他云厂商与云上虚拟私有云(Virtual Private Cloud,VPC)之间高速、低时延、稳定安全的专属连接通道。可以让用户通过内网地址访问云上弹性云服务器、负载均衡等资源,也可以使云上云下进行业务互通、数据传输等。2)EIPEIP:即弹性公网 IP(Elastic IP),包括公网 IP 地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟 IP、弹性负载均衡、NAT 网关203、等资源灵活地绑定及解绑,提供访问公网和被公网访问能力。3)VPNVPN:虚拟专用网络(Virtual Private Network)用于搭建用户本地数据中心与华为云 VPC之间便捷、灵活,即开即用的 IPsec 加密连接通道,实现灵活一体,可伸缩的混合云计算环境。2.应用层:应用层:负责工作流控制,实现业务逻辑。上承接入层,处理接入层的请求,返回请求结果;下接中间件层或数据层,实现对数据的增删查改。在云上,应用承载的资源主要有:1)虚拟机:虚拟机:在云上,虚拟机又叫做弹性云服务器(Elastic Cloud Server,ECS),是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。弹性204、云服务器创建成功后,可以像使用自己的本地 PC 或物理服务器一样,在云上使用弹性云服务器。2)容器:容器:容器虚拟化技术已经成为广泛认可的容器技术服务器资源共享方式,容器技术可以在按需构建容器技术操作系统实例的过程当中为系统管理员提供极大的灵活性。3.中间件层:中间件层:负责应用软件在不同的技术之间共享资源,管理计算资源和网络通信,主要解决分布式环境下的数据传输,数据访问,应用调度,流程管理等。在云上,常用的业务中间件有:1)缓存:缓存:华为云提供的缓存中间件主要为分布式缓存服务(Distributed Cache Service,简称DCS),包含 Redis、Memcached 等。878205、7 2)消息中间件:消息中间件:华为云提供的分布式消息中间件主要包含:Kafka、RabbitMQ、RocketMQ等。4.数据层:数据层:负责系统业务数据的持久化,为上层业务逻辑的实现提供数据支持,一般是各类数据库、文件系统等。应用部署架构设计的目的是保证企业应用的性能体验、可用性和安全性,同时还要兼顾可扩展性、成本和可运维性,因此设计应用部署架构需要考虑 6 个要素,包括可用性、可扩展性、性能、安全、成本和可运维性,原因如下:1.可用性:可用性:可用性设计的目的是确保应用系统在云上的可用性和可靠性,保证系统在面临各种异常情况下仍能保持稳定运行,保障业务连续性。2.可扩展性:可扩展性:可扩展206、性设计的目的是确保应用程序能够在不同的负载下保持可用性和性能,能够基于负载进行扩展以满足这些需求,而不会导致系统崩溃或者性能下降,保障用户体验。3.性能:性能:性能设计的目的是为了确保应用在云上的部署架构能够满足用户的性能需求,包括响应时间、吞吐量、并发数等。4.安全性:安全性:安全性设计的目的是确保应用程序和数据在云环境中得到充分的保护,防止恶意攻击和数据泄露等安全问题发生。5.成本:成本:成本设计的目的是为了在保证应用性能、可用性、安全性的前提下,尽可能地降低部署和运维的成本。6.可运维性:可运维性:可运维性设计的目的是提高系统的可维护性(包括自动化部署、监控告警、日志分析、容量规划、故障207、排查等),保障系统在运行时的状态可视化,故障时的快速恢复。其中安全性、成本和可运维性这三个设计要素是全局的,在基础环境中进行统一设计,应用部署架构设计时可以直接适配使用。因此,应用部署架构设计需要重点关注的是可用性、可扩展性和性能这三个要素,下面重点介绍这三个要素的设计:5.3.2 可用性设计 5.3.2.1 可用性定义 可用性(Availability)是产品/服务在规定的条件下和规定的时刻或时间区间内处于可执行规定功能状态的能力,是产品可靠性和可维护性的综合反映。服务可用性一般会用 SLA(Service-Level Agreement)来衡量,各类云服务都有承诺的 SLA 标准。不同 S208、LA 级别对应的停机时间如下表所示:SLASLA 每周故障时间 每月故障时间 每年故障时间 99%1.68 小时 7.2 小时 3.65 天 99.90%10.1 分钟 43.2 分钟 8.76 小时 99.95%5 分钟 21.6 分钟 4.38 小时 99.99%1.01 分钟 4.32 分钟 52.56 分钟 8888 5.3.2.2 AZ 故障域说明 AZ(Availability Zone)是公有云的一个独立的故障域,一个 AZ 是由物理上互相隔离的数据中心组成,每个 AZ 都具有独立的电力供应、网络连接和硬件设施,公有云厂商通常会将不同的 AZ 部署在不同的地理位置,以提高系统的可209、用性和故障容错能力,AZ 故障域的优点包括:1.高可用性:将应用程序和数据部署在多个 AZ 上,确保即使一个 AZ 发生故障,其他 AZ 仍可提供服务,保证应用程序持续可用。2.故障容错:在一个 AZ 发生故障时,可以快速地将应用程序和数据切换到其它正常的 AZ 上,以确保服务不中断。3.地理冗余:将不同的 AZ 部署在不同的地理位置,可以防止地区范围的故障,例如自然灾害或电力中断对整个系统的影响。企业可以基于 AZ 故障域进行应用的高可用性署设计,设计时可以考虑如下方面:1.跨 AZ 部署:将应用程序的不同组件部署在多个 AZ 中,以确保即使一个 AZ 不可用,其他 AZ 中部署的组件仍能正210、常运行,企业可以使用云服务提供商的工具或容器编排工具来简化多 AZ 部署的管理。2.负载均衡:使用负载均衡将流量分发到不同 AZ 中的应用程序实例,可以设置合适的转发策略,避免单个 AZ 过载,以确保即使一个 AZ 受到高负载或故障影响,其他 AZ 也能接受并处理流量。3.数据冗余和备份:在不同的 AZ 中实施数据冗余和备份策略,确保数据的可用性和可恢复性,即使一个 AZ 的数据丢失或不可用,仍能从其他 AZ 中的冗余数据进行恢复,确保数据的可用性和完整性。4.自动故障恢复:设置自动化故障转移机制,在一个 AZ 发生故障时,自动将应用程序切换到其他可用的 AZ 上,以快速恢复服务,企业可以利用211、容器编排工具、自动化脚本或云服务提供商提供的故障转移功能来实现自动故障恢复。5.监控和警报:设置监控和报警机制,实时监测每个 AZ 中的应用程序和基础设施的健康状态,在发生故障时,及时触发告警,并通知有关人员进行故障排查和处理,以减少服务中断时间。通过基于 AZ 故障域的高可用部署设计,企业可以提高业务系统的可用性和故障容错能力,最大限度地减少服务中断和数据丢失的风险,并确保业务的连续性。5.3.2.3 云上高可用方案 公有云上业务的可用性,由应用层的可用性,架构设计的可用性、云服务的可用性共同决定。业务可用性目标的达成是一项系统工程,公有云模式下,业务的可靠性取决于客户对整体业务架构的可用性212、设计、运维规范管理(如:备份机制、日常演练、人员操作规范等)。8989 华为云上的绝大部分云服务都具备高可用性的方案,提供了从数据中心、硬件、数据、自助服务等多个层次的高可用性构建能力。华为云数据中心布局于全球,可以满足不同地域(Region)的资源需求,每个地域又分多个可用区(AZ),可用区之间的风火水电相互独立,可用区之间的故障相互隔离。企业可在此基础上构建如下场景的高可用体系:1.单 AZ 部署:通常情况云上不建议单 AZ 部署,除非是对时延特别敏感的业务,无法接受同 Region的 AZ 间时延,这种情况可以考虑单 AZ 部署,利用云服务主备、集群化部署模式来满足单个业务节点故障时快速213、恢复业务的需求,主要利用集群内节点故障自动探测和切换的方式来完成故障节点的恢复,消除业务单点,避免单点故障时业务受损。2.双 AZ(同城)高可用:对业务可用性要求比较高的业务,可以选择同城多机房的方式部署业务,这样可以避免单机房网络、物理设备、电力等故障时导致业务整体不可用;对应到华为云上用户可以采用服务跨多可用区(AZ)模式部署,各可用区之间相互隔离,当一个可用区故障时,可将业务切换到另一个可用区,快速恢复业务。云服务产品基本都具备相关的能力,用户只需在选购时选择对应的能力即可完成部署。3.两地三中心高可用:对于一些特大型或者安全要求很高的商业系统,对系统的高可用性提出了更高的要求,跨 AZ214、 的高可用方案并不能解决该地域级别的故障,如地震、洪水等。要满足此类业务场景可选择异地机房部署业务,华为云异地灾备方案在同城容灾的基础上,可再搭建异地灾备机房,满足此类业务需求。4.跨云高可用:为满足企业对多云高可用的部署需求,华为云同样支持多云容灾部署的能力,企业可以选择以华为云为主站点,其他的云厂商为备站点部署业务,借助多云来满足业务的可用性。5.3.2.4 双 AZ 高可用设计 公有云最常用的就是双 AZ 高可用方案,应用的四层架构(接入层、应用层、中间件、数据层)建议实现端到端的双 AZ 部署,如下图所示。9090 设计要点:设计要点:1.业务模块:集群部署的业务,资源分别部署到 2 215、个 AZ 内,并通过 ELB 实现双 AZ 的负载均衡;单点业务 ECS 可通过 SDRS 作 AZ 级容灾。2.云服务高可用:主备节点分别双 AZ 部署。3.数据库同步:云上使用 RDS 数据库服务,进行跨 AZ 主备部署,跨 AZ 间数据同步。4.灾难恢复切换:当 AZ 发生故障时,RDS 数据库等自动切换至备库,应用层自动或者通过 SDRS 的一键容灾切换功能切换至其他 AZ。5.容灾演练:通过应用切换或 SDRS 提供的容灾演练功能进行一键演练。注意注意:进行双 AZ 高可用设计时,如果业务对时延特别敏感(比如电信业务的 NFV 网元上云),则需要进行充分的验证和评估,并采取适当的优化216、措施,以确保业务能够在公有云双 AZ 环境中获得满意的性能和用户体验,建议如下:1.1.选择合适的选择合适的 AZAZ 云服务提供商通常会提供各个 AZ 的大致物理位置和网络延迟信息,不同 AZ 间可能在物理位置上相隔较远,导致网络延迟增加,实施跨 AZ 高可用方案要优先选择距离较近的 AZ,可以降低网络延迟并提高应用的响应速度。2.2.延迟验证延迟验证 在正式实施双 AZ 高可用方案前,需要充分的测试和验证来评估应用程序在不同 AZ 之间的延迟情况。通过模拟真实负载的压力测试,来记录不同 AZ 之间的应用调用延迟,用于评估是否满足业务的需求,并做出相应的决策。5.3.2.5 两地三中心高可用217、设计 对于业务连续性要求较高的业务,可以考虑两地三中心的高可用性方案,如下图所示。1.提供最高程度的业务连续性和数据可用性,在超大规模地域级自然灾害的时候都能保护数据和业务。9191 2.RPO 时间取决于数据库复制间隔;由于容灾站点一直运行,RTO 依赖容灾切换时间,通常取决于 DNS 缓存刷新时间,一般为分钟级,如果采用 GSLB 自动探测切换可进一步降低故障恢复时间。设计要点:设计要点:1.生产数据中心和容灾中心分别部署在华为云 2 个不同 Region。2.生产中心采用双 AZ 部署(双活、热备),容灾中心单 AZ。3.在生产和容灾中心分别部署 RDS 数据库实例,数据库 1:1:1 218、主备复制。4.生产和容灾中心产生的配置、日志、快照和备份等,通过 OBS 实现跨区复制。5.生产站点某个 AZ 故障时,切换到另一个 AZ,数据库主备切换。6.生产站点全体故障时,切换数据库的主备状态,然后将 DNS 授权修改为容灾站点(生产站点 0%,容灾站点为 100%)。7.生产站点修复后,数据库切换回主库,DNS 切换回主站点(生产站点 100%,容灾站点为 0%)。8.为提高容灾中心利用率,可将只读和数据分析业务放到容灾站点。高可用容灾能力构建是一个复杂的系统工程,涉及入口流量控制、业务层改造、中间件和数据库的控制,以及整体机制的协同,所以整个体系打造是存在一定门槛的;如果客户缺乏相219、关的经验,又期望快速构建高可用的容灾体系,可以考虑使用华为云提供的多云高可用服务(Multi-cloud high Availability Service 简称 MAS),它源自华为消费者业务多云应用高可用方案,提供从流量入口、应用层到数据层的端到端的业务故障切换及容灾演练能力,保障故障场景下的业务快速恢复,提升业务连续性。详见:华为云 MAS 高可用服务(https:/ 5.3.3 可扩展性设计 5.3.3.1 云上可扩展性 云相较于传统 IDC 非常大的一个优势具备丰富的资源和强大的扩展能力;根据业务场景的不同需求,可以将扩展能力分成如下 3 类:1.纵向(垂直)扩展:纵向(垂直)扩展:220、适用于单体应用、独立应用、有状态应用等场景下,随着业务不断发展和变化,需要快速升级硬件以应对业务变化。如在进行一些促销活动时,对资源的需求往往比正常要高出多倍,这时企业在云上就可以通过可视化界面或者 OpenAPI 快速升级资源的配置,将资源调整到更高规格的实例上(如更多的 CPU、内存、带宽、磁盘空间等),以应对活动的流量冲击;而在活动过后,又可以将规格收缩回原来的规格,达到降低成本的目的。2.横向(水平)扩展:横向(水平)扩展:适用于分布式应用、无状态应用、快速变化的应用等场景下,固定数据的资源配比显然已经无法应对业务的快速变化,此时就可以依托于云上丰富的资源和快速的水平伸缩能力来应对。对221、于企业业务突增、活动促销的场景,用户可以快速通过伸缩策略来扩容和释放资源,同时在业务稳步增长的情形下,也可弹性调整以适配资源与业务。云上扩缩容可支持如下策略:1.定时模式:创建定时任务,在指定时间执行资源扩缩容。2.指标模式:基于资源的性能指标(如 CPU 利用率、网络流量均值)创建报警任务,当指标数据满足指定的报警条件时,触发报警并执行资源扩缩容。3.固定数量模式:设置最小/最大期望资源数量,当实例数量低于下限/超过上限时,系统会自动添加/移出资源,使得资源数量等于下限/上限。4.手动模式:手动进行弹性伸缩,包括手动添加、移出或者删除已有的资源。5.3.3.2 可扩展设计 可扩展能力可分层来222、设计,下图展示了华为云各层级的产品扩展能力全貌。9393 应用上云目标架构的各层可扩展方案设计要点如下:(一一)应用应用层层可扩展设计要点可扩展设计要点:1.若应用层实现了微服务架构,通过华为云 CCE 云容器引擎服务实现业务容器化部署,可通过 CCE工作负载弹性伸缩能力实现 APP 业务的水平扩展,随着负载增加,APP 业务 POD 能自动扩展,随着负载的降低,APP 业务 POD 自动减容,支持配套应用性能监控(AOM)实现告警策略自动触发扩容或减容;2.若应用层使用 ECS 进行部署,则可通过华为云弹性伸缩服务 AS,设置对应的伸缩策略,随业务实现水平扩缩容。(二二)中间件层可扩展设计中223、间件层可扩展设计要点要点:1.消息中间件层:华为云 DMS RabbitMQ 专享版底层是集群环境,随着消息处理量和负载的增加,可以平滑的扩大规格。2.缓存中间件层:华为云 DCS Redis 主备版随着热数据容量增加可无缝支撑缓存的平滑扩容节点规格。(三三)数据数据层可扩展设计层可扩展设计要点要点:1.数据库中间件层:分布式数据库中间件采用华为云 DDM,DDM 本身集群部署,随着数据库业务增加,可平滑扩容 DDM 集群的规格,应对更大量的数据库处理。2.数据库层:华为云 RDS 数据库可平滑扩展只读数据库的实例,应对大量数据读的场景;配套 DDM实现多套实例水平扩容,将大表的数据做水平拆分224、,均匀拆分到多个数据库实例中,从而提升数据库的容量和性能。此外华为云自研 GaussDB 数据库采用存算分离架构,支持分钟级的横向扩展能力,减少业务中断时间。5.3.4 性能设计 性能是目标架构设计中需要考虑的非常重要的一个方面。上一小节介绍了可扩展性设计,性能设计要考虑很重要的一点就是扩展性,可以说可扩展性是高性能的必要条件,影响云上应用性能的主要因素包括以下几个方面:1.针对计算资源,延时是操作执行之间所花的等待时间,也是云计算性能的最直接表现;2.针对网络资源,吞吐量是评价数据处理执行的速率;3.在数据传输方面,用字节/秒或者比特/秒来表示,吞吐量的限制是性能瓶颈的一种重要表现形式;4.225、针对存储资源,IOPS 是指每秒发生的输入/输出操作的次数,是数据传输的一个度量方法;5.针对数据库资源,并发能力是指一个时间段中有几个程序都处于运行的能力。除此之外,我们还要考虑以下几个方面的内容:方案的选择、性能度量、性能监测和性能权衡。1.方案选择 根据不同场景选择不同的解决方法,并且结合多种方法,这样可以更容易地找到一种与需求符合的方法;不断迭代的方法,使用数据驱动来优化资源类型和配置选项的选择;9494 2.性能度量 设置性能度量和监控指标,以捕获关键的性能指标;使用可视化技术呈现性指标和性能问题(如:异常状态、低利用率等);3.性能监测 确定监控范围、度量和阈值;从多个维度创建完整226、视图;4.性能权衡 在架构中进行折中以提高性能,例如使用压缩或者缓存技术等。5.3.5 参考架构 5.3.5.1 应用部署架构示例 下图是音频类应用的云上部署设计参考架构:9595 设计要点:1.用户接入采用多线路动态 BGP,实现公网访问线路的自动容错,可靠性高;2.华为云 ELB 采用集群跨可用区高可靠部署,单数据中心机房故障对业务无影响;3.应用接入层采用跨可用区集群部署,单可用区的故障不会影响到全局业务;4.业务容器 POD 多副本均衡的跨 AZ 部署,通过华为云 CCE 容器引擎的调度策略实现,从而确保业务负载跨数据中心高可靠;5.DCS Redis 跨 AZ 主备部署,确保跨可用区227、的高可靠;DMS Kafka 构建跨双可用区或三可用区集群,确保消息的高可靠;CSS 云搜索引擎服务可以跨 AZ 集群部署,单 AZ 的故障不影响业务运行;9696 6.RDS for MySQL 采用主备部署方式,主备实例之间的数据实时同步,如果主实例出现故障,备实例可以快速升为主实例;7.Redis、Kafka、CSS 云搜索、RDS for MySQL 都支持把数据备份到 OBS 桶,应对数据误操作之后的风险;8.云主机/云硬盘可通过 CBR 云备份服务实现整个云主机或者云硬盘的备份。5.3.5.2 参考架构库 Haydn 是华为云面向合作伙伴和客户的数字化平台,当前 Haydn 已经积228、累了 700+各类参考架构,企业可以根据业务场景搜索并引用华为云的应用部署参考架构,基于 Haydn 做架构设计,企业可以对参考架构做定制化修改,以更符合企业业务。1.1.架构模板查找架构模板查找 登录华为云官网,在上方导航栏选择“解决方案通用解决方案Haydn 解决方案数字化平台”进入Haydn 解决方案数字化平台首页,在页面右下角点击“解决方案加速场架构模板”可进入架构模板页面。1)支持输入架构模板名称、适用行业、适用场景等关键字对架构模板进行查找;2)支持按照模板类型、部署环境、适用行业、适用场景对架构模板进行过滤筛选,您也可以在适用行业和适用场景右侧下拉选择更多行业和场景;3)支持按照229、默认综合排序、最新发布、最多引用、我的关注对架构模板进行排序。9797 2.2.架构模板详情架构模板详情 9898 3.架构模板引用:架构模板引用:在详情页面右上方,点击“引用到设计中心”,可将该架构模板引用到指定的解决方案下。9999 6 上云迁移试点上云迁移试点 6.1 为什么要上云试点 上云迁移试点是企业在进行大规模上云迁移之前的重要步骤,它能够帮助企业在大规模迁移之前充分了解和评估各种因素,通过试点上云迁移流程与相关配置,企业可以提前识别出相关风险,为后续大规模上云迁移提供经验。1.风险控制:风险控制:上云迁移是一个复杂的过程,涉及到不同的系统和业务。通过进行迁移试点,企业可以在小范围230、内验证整个迁移流程的可行性,发现潜在问题并及时解决,确保后续的大规模迁移顺利进行。同时试点还可以帮助企业识别潜在的风险和挑战,例如,某些业务可能无法适应云环境,通过试点,可以在较小的范围内暴露这些问题,并及时采取纠正措施,从而降低全面迁移时的风险。2.验证可行性:验证可行性:上云迁移试点可以验证企业的应用和数据是否适合迁移到云端。通过选择一小部分应用或业务进行试点,企业可以评估业务在云环境中的兼容性、性能、安全性、可靠性等方面是否满足需求。如果发现某些应用不适合迁移到云端,企业可以根据评估结果重新规划迁移策略或寻找替代方案,避免将不适合或难以迁移的应用直接投入生产环境。3.掌握经验:掌握经验:231、上云迁移试点可以让企业的技术团队和业务人员获得实践经验。在试点过程中,他们可以学习并熟悉云平台的特点、功能和最佳实践,了解迁移的工具和流程,并积累相关知识和技能,为后续的全面迁移做好准备。4.确定优先级:确定优先级:通过试点迁移,企业可以评估不同应用或业务的迁移优先级。根据试点结果,企业可以确定哪些应用或业务对于上云迁移的影响较小,可以先行迁移,进而有序地推进整个迁移过程。5.性能优化:性能优化:迁移试点还可以帮助企业识别并解决潜在的性能问题,通过在小规模环境中进行试点,企业可以验证应用在云环境下的性能指标,如延迟、吞吐量和响应时间等,了解应用在云环境中的实际表现,这样可以及早发现瓶颈并做出相232、应的优化和调整,确保在正式迁移之前获得良好的性能和用户体验。6.成本控制:成本控制:迁移试点提供了一个机会,让企业更准确地评估上云迁移的成本,通过试点阶段的实际操作,企业可以更好地理解云服务的费用结构、资源消耗情况以及可能的隐藏成本,这有助于避免意外的成本增加并优化资源利用,以实现成本控制的目标。7.团队磨合:团队磨合:上云迁移的成功离不开各参与方的高效协同(运维团队、开发团队、测试团队,云服务供应商、第三方系统供应商等),上云迁移试点为不同团队提供了一个合作的机会,通过试点可以识别团队间的合作问题和风险,并针对性制定相关应对措施,保证大规模上云期间合作顺畅。100100 6.2 如何选择试点233、应用 试点应用的选择应该站在整体角度综合考虑是否满足优先试点的条件,选择试点应用时可以考虑如下因素:1.上云上云意愿:意愿:企业推行全面上云时,不同业务部门的上云意愿是不一样的,可以优先考虑意愿度高、有充足的人力和时间、投入积极的业务。2.业务业务重要性:重要性:根据企业现有的应用和业务,选择重要性较高,但又不影响正常运营的应用作为试点。3.上云价值:上云价值:选择上云的价值可量化、容易量化的应用,如降低成本、提升可用性、实现业务快速部署等,通过试点应用证明上云的价值。4.实施难度:实施难度:根据企业的 IT 部门的实施能力,选择一些实施难度较低的应用作为试点。5.业务影响:业务影响:考虑上云234、后对其它业务流程及数据流向的影响,尽量避免影响其它业务的正常运行。6.安全性:安全性:考虑上云后对数据安全性及相关法律法规要求,尽量避免存在安全风险或者违反相关法律法规情况。7.可测试性:可测试性:企业上云要通过试点迁移尽量验证方案并识别可能存在的问题,并不断测试和优化方法来保证上云成功,因此,要选择可测试性强的应用,能够充分验证方案,为后续规模上云铺路。6.3 上云试点执行 试点应用选择好以后,上云迁移试点按照应用迁移小循环流程执行即可,最后输出试点总结:101101 6.4 上云试点总结 上云迁移试点总结旨在总结试点项目的成果、经验和教训,并为后续的大规模迁移提供指导和改进方向。这对于企业235、切实评估上云的收益、风险和挑战,以及制定有效的迁移策略至关重要。上云迁移试点一般从如下方面总结:1.目标和范围:目标和范围:总结上云迁移试点的目标和范围,明确试点迁移的期望结果,描述试点涉及的应用程序、系统或业务流程,以及试点的时间、地点、参与人员等信息。2.迁移方法和策略:迁移方法和策略:总结采用的迁移方法和策略,描述采用的技术、工具和流程,以及与迁移相关的关键决策。3.成果评估:成果评估:评估上云迁移试点的效果,包括成功迁移的应用程序数量、迁移过程中的问题和挑战,以及解决方案和改进措施等,总结迁移试点对企业的业务影响和收益。4.技术和性能评估:技术和性能评估:评估试点迁移后的系统和应用程序236、的性能和稳定性,考虑应用程序的可伸缩性、响应时间、数据传输速度等因素,总结试点迁移对系统性能和用户体验的影响。5.成本效益分析:成本效益分析:分析上云迁移试点对企业成本的影响,包括成本节约、资源利用优化、维护和支持成本的变化等方面的评估。6.安全和合规性评估:安全和合规性评估:评估上云迁移试点的安全性和合规性,考虑迁移后的数据安全性、访问控制、合规法规要求等方面,总结试点迁移的合规性水平和安全风险控制程度。7.学习和经验教训:学习和经验教训:总结上云迁移试点过程中的学习和经验教训,包括成功因素、失败原因以及识别到的最佳实践,记录技术和管理方面的发现,以帮助后续大规模迁移更好地规划和执行。8.建237、议和改进措施:建议和改进措施:根据试点迁移的结果,提供进一步的建议和改进措施,以指导未来大规模迁移的计划,包括优化迁移流程、加强培训和沟通等方面的建议,以及在安全和合规性方面采取的进一步措施。9.后续计划和风险管理:后续计划和风险管理:提供针对试点迁移后续步骤的计划,包括大规模迁移计划、资源调配计划、风险和问题解决计划等,总结试点迁移对后续迁移计划的指导和影响,并提供风险管理和应对措施。102102 7 上云批次规划上云批次规划 7.1 相关术语说明 批次规划是企业上云迁移很重要的一项工作,在批次规划之前我们先要了解几个概念:迁移组、迁移批次、迁移优先级、迁移批次规划。1.迁移组:迁移组:是一238、组具有依赖关系(含环境依赖)的应用程序和基础架构的集合,包括 APP、主机、存储、数据库、中间件。2.迁移批次:迁移批次:是指一组具有相同的预期开始日期和结束日期的一个或多个迁移组的组合,一个迁移批次可能含有多个迁移组。3.迁移优先级:迁移优先级:是指应用程序的迁移顺序。4.迁移批次规划:迁移批次规划:包括迁移分组、分批的信息和迁移优先级的信息,给出了各个批次的迁移对象和实施时间顺序。7.2 为什么要做批次规划 上云迁移批次规划是为了把上云迁移分成几个阶段,以便更加有效地迁移企业应用到云端。批次规划的目的是为了将上云迁移的复杂性减少到最低,以便更有效地安排上云迁移的时间,统筹资源,并分析各个迁239、移阶段的风险,让企业在最短的时间内完成上云迁移。103103 7.3 迁移批次规划的方法 迁移批次规划既是科学也是艺术,有些规划依据数据,有些规划只能依赖专家经验,批次规划需要做好三件事情:分组、分批、优先级。7.3.1 迁移分组 迁移分组主要是基于依赖关系将迁移对象进行分组,我们将一组具有强依赖关系的应用程序和基础架构的集合(包括 APP、主机、存储、数据库、中间件等)放进一个迁移分组,迁移的时候要放同一批次,切换的时候要一起切。依赖关系主要包括三种:共享数据依赖、共享服务器依赖、应用间的通信依赖。依赖关系还有强弱之分:以共享数据依赖举例:应用程序 A、B 和 C 都连接到 db01,A 和240、 B 每秒都会进行许多读写操作,但是 C 每晚在非高峰时间运行批处理作业,因此 A、B 和 db01 是紧耦合,C 与db01 是松耦合,A 和 B 必须与 db01 一起迁移,放到同一个迁移分组,C 可以单独移动,如果需要可以放到另一个迁移分组。7.3.2 迁移分批 企业上云过程往往是分批进行的,1 个分批可以包含 1 个或多个迁移分组,每个分批都是上云过程的一个里程碑,迁移分批一般参考以下原则:104104 7.3.3 迁移优先级 影响上云迁移优先级的影响因素有如下:影响因素影响因素 影响结果影响结果 业务上云意愿 上云意愿度高的先上,意愿度低的后上 业务环境 测试环境优先,生产环境最后 241、业务重要性 一般业务先上,核心业务后上 业务关联度 关联关系简单的业务先上,复杂的业务后上 基础架构复杂度 底层基础架构简单、实例数少的先上,复杂的后上 允许停服时间 停服时间长的先上,不停服的最后上 迁移策略 平迁的先上,要改造的后上 其中,业务部门的上云意愿是第一优先级,先基于上云意愿排序,然后再按其余因素进行排序。如果做的更科学一点,可以基于每个影响因子打分,按照打分结果确定优先级。分类分类 影响因素影响因素 分数参考分数参考 105105 业务环境 开发 5 测试 3 生产 1 业务重要性 一般 5 重要 3 核心 1 关联性 简单(0-3)5 复杂(4-6)3 非常复杂(7)1 基础242、架构复杂度 简单(实例数 13)5 复杂(实例数 410)3 很复杂(实例数 11)1 允许停服时长 120 分钟以上 5 60120 分钟 3 B的迁移方案(C)。应用迁移方案要基于应用的四层架构来设计,分别设计每一层的迁移方案,如下图:109109 1.接入层:接入层:通常是负载均衡、网关代理等组件,一般通过重新配置的方式实现迁移。2.2.应用层:应用层:通常部署在主机或容器上,部署在主机上的应用一般通过华为云主机迁移工具 SMS 来迁,部署在容器上的应用,一般通过企业的 CICD 系统重新发布。3.中间件层:中间件层:通常是缓存中间件和消息中间件。缓存中间件一般通过华为云 DCS 迁移工243、具来迁移,消息中间件,一般不迁移,待消费者服务消费完通道内的消息后,整个消息中间件直接切换到华为云。4.4.数据层:数据层:包括数据库、对象存储、文件系统,数据库一般通过华为云的数据迁移工具 DRS 做迁移,对象存储一般通过华为云对象存储迁移工具 OMS 做迁移,文件系统一般通过 Rsync 等迁移工具来迁移。8.3.2 接入层迁移方案 接入层为应用的外部访问提供了访问入口,常见的接入层技术 4 种,分别是 Nginx/Openresty、硬件或软件负载均衡器,微服务网关 Kong/Zuul、DNS。通常采用重新配置的方式进行迁移,具体如下:技术组件技术组件 功能功能说明说明 迁移方式迁移方式244、 nginx/openresty 使 用nginx或openresty 做 流量转发 方案 1:使用 SMS 主机迁移工具将 nginx 或 openresty 服务运行的服务器迁移到华为云,并修改对应的转发策略。方案 2:在华为云 ECS 服务上重新部署 nginx 或openresty,然后拷贝源端配置文件到目的端,并修改配置文件的转发策略。负载均衡器 提供4层或7层流量转发 将源端的负载均衡策略重新配置到华为 ELB Kong/Zuul 网 关等 微服务网关 方案 1:使用 SMS 主机迁移工具将 Kong/Zuul 网关服务运行的服务器迁移到华为云。方案 2:在华为云 ECS 重新部署245、 Kong/Zuul 网关,然后拷110110 贝源端配置文件到华为云 ECS,并修改转发策略 DNS 域名解析 解析应用的内外部域名 方案 1:使用华为云平台的 DNS 服务替代源端的 DNS,并重新配置 DNS 解析地址。方案 2:在华为云的 ECS 上部署 DNS 服务,并重新配置DNS 解析地址。方案 3:使用 SMS 工具将源端 DNS 服务器迁移到华为云并修改 DNS 配置。8.3.3 应用层迁移方案 应用层通常部署在物理机、虚拟机或容器内,应用的类型包括有状态和无状态两种。应用的部署方式和应用状态是应用层迁移方案设计时需要考虑的因素,不同的部署方式和应用状态适用的迁移方案不同。8246、.3.3.1 平迁部署在主机上的应用 传统架构的应用,通常部署在物理机或虚拟机,建议优先通过华为云 SMS 主机迁移工具进行迁移;如果无法使用华为云 SMS 进行迁移的,可以采用应用重新部署的方式;对于可停机迁移的应用,也可以考虑采用镜像导出导入的方式进行迁移,详细方案见下表:迁移方案迁移方案 迁移迁移方式方式 特点特点 适用场景适用场景 使用华为云SMS 主机迁移工具迁移(推荐)全量+增量 1.停机时间短,可持续进行增量同步 2.依赖网络传输,且要求源端操作系统版本在华为云支持列表内 适用于所有源端为 x86 架构的物理机或虚拟机迁移,有增量数据 华为云 ECS 重新部署 NA 1.不依赖网247、络传输 2.相比工具迁移工作量较大 所有 镜像导出导入 全量 1.不依赖网络传输 2.停机时间较长,需要源端物理机或虚拟机停机后,制作完整镜像 停机窗口较长的场景(停机窗口至少 4 小时以上才建议考虑此方案)8.3.3.2 平迁部署在容器中应用 部署在容器中应用一般是云原生的应用,通常是微服务架构的应用,可以通过镜像迁移或重新发布两种方式做迁移。111111 企业云原生应用系统以微服务架构为主,通常部署在容器中,这种场景,多数企业也同时会拥有自己的开发流水线 CI/CD 系统,所以,这种场景的应用上云可以使用容器镜像迁移的方式迁移,或者使用CI/CD 流水线重新发布的方式迁移。迁移方案迁移方案248、 特点特点 适用场景适用场景 CI/CD 重新发布(推荐)(推荐)操作简单,配置可控 源端具备 CI/CD 流水线 容器镜像迁移 人工操作,工作量大 所有 容器迁移工具(Velero 或 E-Backup)操作简单,可快速还原源端配置 所有 8.3.3.3 主机上的应用容器化上云 对于部署在主机上的传统应用,如果要迁移到容器,就需要将传统应用进行容器化改造,将主机上的应用改造成容器镜像,部署到 K8S 或华为云 CCE 集群。容器化改造上云,属于应用现代化,具体请参考基础设施现代化章节。8.3.4 中间件层迁移方案 当前企业业务中使用比较多的中间件类型为缓存中间件和消息中间件。中间件作为数据存249、储的临时场所,数据一般不用迁移,但在切换时,为了确保源端和目的端数据的一致性,需要等中间件消息队列中的消息完成消费后再切换。如果中间件缓存数据是持久化的,即作为数据库使用,此场景需要进行数据的迁移。所以中间件的迁移方案需结合业务使用情况进行具体分析,下面将详细介绍各类中间件的迁移方案。8.3.4.1 Redis 迁移方案 1.1.确定确定 RedisRedis 使用场景使用场景 Redis 使用场景主要有 2 种,将 Redis 用作缓存或者将 Redis 用作数据库。不同使用场景的 Redis 迁移方案不同,详见下表所示。RedisRedis 使用场景使用场景 迁移方式迁移方式 Redis 250、实例中的数据用作缓存 业务切换时,为防止 Redis 后端的数据库被击穿,可基于数据库性能判断使用哪种迁移方案:方案 1:不迁移,将 Redis 缓冲数据提前预热 方案 2:使用 Redis 迁移方案迁移缓冲数据 112112 Redis 实例中的数据是持久化的,作为数据库使用 使用 Redis 迁移方案迁移持久化数据 2.2.RedisRedis 迁移方案迁移方案 迁移方案迁移方案 迁移方式迁移方式 特点特点 适用场景适用场景 DCS 迁移工具(推荐)全量+增量迁移 源端业务停机时间短、操作简单、支持在线实时同步增量 适用于源端是自建 Redis或其他云厂家 Redis 实例迁移至华为 DC251、S 的场景 RDB/AOF 文件备份恢复 全量迁移 离线迁移,操作复杂,源端业务停机时间长,需要源端业务停机后制作RDB/AOF 文件,不支持增量同步数据 所有 8.3.4.2 消息中间件迁移方案 1.1.确确定消息中间件定消息中间件的的切换切换场景场景 适用产品适用产品 切换窗口切换窗口 迁移方式迁移方式 Kafka RabbitMQ RocketMQ ActiveMQ 切换时间窗充足 切换时间充足,业务评估在切换时间窗口内可以完成消息消费,此时,消息中间件中的数据不需要迁移,等待消费者将消息消费完成即可 切换时间窗有限 切换时间有限,业务评估在切换时间窗口内无法完成消息消费,请参考消息中间252、件迁移方案进行消息迁移 2.2.消消息中间件迁移方案息中间件迁移方案 迁移方案迁移方案 迁移方式迁移方式 特点特点 适用场景适用场景 开源工具MirrorMaker 2.0 全量+增量 1.部署复杂,操作繁琐 2.支持消费队列 offset 偏移量的同步 所有 华为云SmratConnect工具 全量+增量 1.工具界面化,操作简单 2.支持消费队列 offset 偏移量的同步 适用于自建kafka或云服务迁移到华为云kafka 113113 8.3.5 数据层迁移方案 数据层主要负责业务数据的持久化,为上层业务逻辑的实现提供数据支持,数据层包括两类数据,结构化数据和非结构化数据。结构化数据包253、含各类数据库,例如 MySQL 数据库、MongoDB 数据库等,非结构化数据包含对象存储、各类文件存储等。8.3.5.1 结构化数据迁移方案 结构化数据,主要为业务提供即时数据支撑,包含数据查询、计算、分析、修改等操作。业务连续性高的业务,很依赖数据库迁移工具的实时同步能力。在做结构化数据迁移方案时,需要结合业务连续性、迁移网络、业务架构等因素,选择合适的结构化数据迁移方案,做到数据迁移复杂度、数据迁移实时性,业务连续性的平衡。1.1.MySQLMySQL 迁移方案迁移方案 迁移方式迁移方式 迁移迁移方式方式 特点特点 适用场景适用场景 华为云 DRS 数据复制服务(推荐)全量+增量迁移 配254、置简单,一键迁移,支持实时同步增量数据 1.适用于自建或云服务 MySQL 实例迁移华为云服务 MySQL 实例 2.适用于自建或云服务 MySQL 实例迁移至华为云自建 MySQL 实例(需先迁到云服务再迁移到自建)mysqldump 导出导入 全量迁移 不依赖网络,操作较为复杂,只能全量迁移,不支持增量数据同步 停服时间窗较长场景 主从复制replication 全量+增量迁移 操作复杂 仅适用于源端和目标端均为自建MySQL 数据库,由于源端和目的端版本不兼容等问题无法使用华为云 DRS 数据复制服务的场景 2.2.SQLserverSQLserver 迁移方案迁移方案 迁移方式迁移方式255、 迁移迁移方式方式 特点特点 适用场景适用场景 华为云 DRS 数据复制服务(推荐)全量+增量备份导入 工具界面化,操作简单 适用于自建 SQLserver 实例或云服务 SQLserver 实例迁移至华为云云服务 SQLserver 实例 备份与恢复 全量+增量备份导入 操作繁琐 适用于自建 SQLserver 实例或云服务 SQLserver 实例迁移至华为云 RDS for SQL Server 3.3.PostgreSQLPostgreSQL 迁移方案迁移方案 迁移方式迁移方式 迁移迁移方式方式 特点特点 适用场景适用场景 华为云 DRS 数据复制服务 全量+增量迁移 配置简单,一键迁256、移,支持实时同步增量数据 适用于自建 PostgreSQL 实例或云服务 PostgreSQL 实例迁移至华为114114 (推荐)云自建 PostgreSQL 实例或 RDS for PostgreSQL pg_dump 导出导入 全量迁移 优点:不依赖网络 缺点:操作较为复杂,只能全量迁移,不支持增量数据同步 适用于无法使用华为云 DRS 数据服务的场景 4.4.MongoDBMongoDB 迁移方案迁移方案 迁移方式迁移方式 迁移方式迁移方式 特点特点 适用场景适用场景 华为云 DRS 数据复制服务(推荐)全量+增量迁移 配置简单,一键迁移,支持实时同步增量数据 适用于自建 MongoD257、B 实例或云服务 MongoDB 实例迁移至华为云自建 MongoDB 实例或云服务MongoDB 实例 导出导入 全量迁移 不依赖网络,操作较为复杂,只能全量迁移,不支持增量数据同步 适用于无法使用华为云 DRS 数据服务的场景 8.3.5.2 非结构化数据迁移方案 非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。当前企业业务中承载非结构化数据的存储方式主要为文件存储和对象存储。1.1.NASNAS 迁移方案迁移方案 迁移方案迁移方案 迁移方式迁移方式 258、特点特点 适用场景适用场景 华为云 CDM 服务(海量数据迁移推荐)全量+增量 操作简单,支持增量迁移。对海量数据支持更好 适用于将源端对象存储、网络文件存储,大数据存储迁移至华为云OBS 对象存储、华为云 SFS 弹性文件存储、华为云大数据存储中的海量数据迁移。开源工具rclone/rsync 全量 rclone 配置复杂;rsync 迁移效率低 适用于华为云 FMS 工具和华为云CDM 服务无法使用时的迁移场景。2.2.对象存储迁移方案对象存储迁移方案 迁移方案迁移方案 迁移方式迁移方式 特点特点 适用场景适用场景 华为云 OMS 服务(推荐)全量+增量 操作简单,高并发,支持数据校验、可259、视化报告 适用于将源端对象存储迁移至华为云 OBS 对象存储。开源工具rclone/rsync 全量 rclone 配置复杂;rsync 迁移效率低 适用于华为云 OMS 服务无法使用时的迁移场景。115115 8.3.6 迁移工具兼容性查询 工具的兼容性以华为云官网发布的最新结果为准:工具 兼容性查询地址 SMS https:/ DRS https:/ OMS https:/ CDM https:/ DCS https:/ 8.4 设计(切换方案)业务切换是整个上云迁移的关键环节,出问题会直接影响企业业务,不同业务对停服的要求是不一样的,比如,有些业务在切换期间是不允许停服的,停服会造成较大260、的业务损失;有些业务在切换期间是允许停服的,比如办公 OA 系统,夜间非工作期间可以停服;有些业务系统,为了更好的客户体验,希望切换期间部分浏览类的业务继续提供服务,只是涉及写操作的业务受到影响。设计切换方案时,对于不同的业务场景和停服要求,会面临多种方案的选择,下面详细介绍如何合适的切换方案。8.4.1 如何选择停服不停服 业务系统从源端切换到目的端,切换方案可以分为 3 类,即停服切换、停写不停读切换和不停服切换。每类切换方案优缺点具体如下表:116116 所以 3 种切换方案各有优缺点,不存在风险小、投入少、中断时间短的完美方案,企业需根据业务场景、停服要求和投入产出选择合适的方案。如何261、选择停服不停服:如何选择停服不停服:1.1.根据行业选择根据行业选择 不同行业有各自的行业标准和要求,例如部分电商零售行业,在凌晨后,交易数量大幅度减少,甚至没有交易,停服后也不会造成重大社会影响,可以在凌晨后使用停服切换方案。而部分交通出行行业,全天 24 小时有业务,并没有明显的业务低峰期,停服会造成较大的业务损失,可能需要选择不停服切换方案。2.2.根据业务重要程度选择根据业务重要程度选择 有些业务,例如游戏业务、金融业务,重要程度高,属于核心业务,又需要 24 小时提供服务,所以要选择不停服切换方案。其他业务,例如 OA、运营等非核心业务,停服造成的业务损失可接受,就可以选择停服切换方262、案。3.3.根据项目周期选择根据项目周期选择 117117 业务不允许停服,如果上云周期较长,时间充足,且企业具备不停服的改造能力,可以选择进行双写改造,实现不停服切换。如果上云周期紧张或企业没有太多人力投入上云工作,建议选择改造量少、人力投入少的停服切换方案。4.4.根据投入产出选择根据投入产出选择 不停服切换方案通常需要研发额外投入进行大量的应用改造才可以实现,停服切换方案则通常无需大量改造,研发投入工作量小。因此,投入产出也是切换方案选择的决策依据之一,企业可以在业务影响所造成的损失跟研发改造所产生的成本之间找到一个合理的平衡。8.4.2 停服切换方案 8.4.2.1 停服时长评估 基于263、华为云的迁移经验,切换期间大部分应用停服时长在 0.5 小时3.5 小时,下面停服时长可供参考:停服时长停服时长例外情况:例外情况:1.停服时长小于停服时长小于 3030 分钟:分钟:若停服时长要求小于 30 分钟,可以通过分批迁移,划分较小的批次或者采用分层切换(比如先切应用层再切数据层)的方式,且所有操作都脚本化/工具化,停服时长也有可能小于 30 分钟。2.停服时长大于停服时长大于 3.53.5 小时:小时:迁移规模和数据量大、业务关联关系复杂无法分批、切换 Runbook 操作复杂且自动化程度不高,停服时长可能大于 3.5 小时,有的甚至 810 小时。比如某大型企业 600+微服务,264、100+个中间件,80+数据库,1000+个批处理任务,4000+个测试用例,停服时长约 8 个小时。8.4.2.2 减少停服时长的方法(分钟级)停服时长与多个因素有关,企业可以通过分批+自动化+多次演练+业务适配改造,来减少停服时长。下图是四种减少停服时长的方法:118118 8.4.2.3 四种停服切换方式 切换方式 适用场景 停服时长 停服次数 影响范围 一把切(应用层和数据层整体停机后切换)适用于停机窗口较长、无法清晰梳理应用之间和应用与数据层之间关联关系的业务 长 1 全部业务 分 34 次切换,应用层先灰度切流(1%,30%,100%),然后停机,数据层整体切换,再将内外部域名切换265、到目的端 适用于停机窗口较小,业务可接受短时间的跨云访问,跨云带宽和时延评估可以满足业务需求。中 1 全部业务 分 510 次切换,应用灰度切流(1%,30%,100%),然后数据层分批次切换(比如:第一批缓存+数据库,第二批缓存+数据库,第三批中间件消息队列等)适用于停机窗口较小,业务可接收短时间的跨云访问,跨云带宽和时延评估可以满足业务需求,且切换多次对内外部影响可控。短 多次 部分业务 按照业务域分批切 适用于业务域相对独立,关联关系简单,可独立拆分上云。短 多次 部分业务 8.4.2.4 一把切(应用层和数据层整体停机后切换)准备工作:准备工作:1.源端应用和数据已迁移到华为云;2.华266、为云应用层和数据层已完成业务功能和性能验证,可正常使用;业务切换:业务切换:停止源端应用层和批处理任务,使源端不再产生新增数据,检查中间件消息无新增,检查数据层无新增;源端数据层和华为云数据层增量同步完成,并完成数据一致性对比,断开同步链路;华为云上的应用层和数据层内部域名等配置修改,重启华为云上的应用服务;外部 DNS 域名解析,将解析地址从源端接入层切换到华为云接入层,使外部流量进入华为云;119119 8.4.2.5 应用层灰度切流,数据层整体切换(一一)应用层灰度切流应用层灰度切流 准备工作:准备工作:1.源端应用层已迁移或部署到华为云;2.华为云应用层跨云访问源端数据库,已完成业务功267、能和性能验证,可正常使用。应用层灰度切流:应用层灰度切流:从源端接入层引流,按照 1%30%,100%逐步加大流量的方式,流量逐步灰度切换到华为云接入层。120120 (二二)数据层整体切换数据层整体切换 源端和目标端的应用层和批处理任务停止服务,防止新数据写入,此时业务无法使用;等中间件消息队列中的消息消费完成,数据层增量同步到华为云,对比源端和目标端数据层数据一致性;修改配置,将华为云应用层指向华为云数据层,启动应用服务;外部 DNS 域名解析,解析地址从源端切换到华为云,流量进入华为云。121121 8.4.2.6 应用层灰度切流,数据层分批切换(一一)应用层灰度切流应用层灰度切流 准备268、工作:准备工作:1.源端应用层已迁移或部署到华为云;2.华为云应用层跨云访问源端数据库,已完成业务功能和性能验证,可正常使用。应用层灰度切流:应用层灰度切流:从源端接入层引流,按照 1%30%,100%逐步加大流量的方式,流量逐步灰度切换到华为云接入层。122122 (二二)数据层数据层分批分批切换切换 某批次数据层切换过程:停止本批次数据层相关的应用和批处理任务。本批次的数据层静止(中间件消息队列中的消息消费完成,数据库无新增数据);数据对比一致后,切换数据层;修改相关的配置,启动和本批次数据层相关的应用和批处理任务。进行功能验证及保障,确保业务正常;某批次应用(如 APP1)的外部 DNS269、 域名解析,解析地址从源端切换到华为云,流量进入华为云。123123 (一一)方案优缺点方案优缺点 优点:优点:1.应用切换阶段操作简单,引流阶段只调整网关流量权重和负载均衡流量权重即可;2.网关、负载均衡灰度引流,一旦有问题,随时可以把流量切换回原环境;3.应用切换阶段,应用不需要停止,可正常访问;数据层切换阶段,仅需要部分应用停止写入,但可以读;4.数据层单次只切换部分节点,操作较少。只需要部分业务停机,其他业务可以正常使用。缺点:缺点:1.需要应用层和数据层梳理,需要花费大量人力和时间;2.跨云后,数据层回退难度较大;3.跨云阶段依赖专线、如果有大量数据需要跨云访问,可能会造成业务延迟。270、8.4.2.7 按照业务域分批切换 准备工作:准备工作:1.本批次要切换的业务域如X业务已完成部署及迁移;2.本批次要切换的业务域已内部通过功能和性能验证,可正常使用。124124 本批次业务域切换步骤本批次业务域切换步骤:停止源端业务域1对应的应用层和批处理任务等,使其不再产生新增数据;停止和本业务域共用中间件和数据库的应用和批处理任务等,使其不再产生新增数据;检查本批次要切换的中间件和数据层无新增数据,数据对比一致后断开同步链路;修改目的端的相关配置;启动目标端业务域1对应的应用服务和批处理任务;启动源端和其共用中间件和数据库的应用服务和批处理任务;域名切换到华为云,进行功能和性能验证,确271、保业务正常。8.4.3 停写不停读切换方案 停写不停读,主要指切换期间,为了追求较好的用户体验,保持一部分读的服务不停服,保持在线可使用状态;为了保持数据一致性,写的服务仍然采用停服方式进行切换。从业务对外体验上,多数用户感知不到停服的影响,比如某购物平台,用户仍然可以浏览商品,但是不能下单,下单时可友好的提示:系统正在升级中,预计凌晨 4 点恢复,请您稍后重试下单等。8.4.3.1 四种停写不停读切换方案对比 停写不停读切换有 4 种方案可以选择:125125 8.4.3.2 网关拦截 服务网关(gatekeeper、zuul、kong 等),拦截写请求,放通读请求;例如 Gatekeepe272、r 网关可以拦截 POST 请求,只放通 GET 请求。这可以通过在 Gatekeeper 网关上配置规则来实现。可以设置一个规则,只允许 GET 请求通过,拒绝 POST 请求。方案 操作方式 适用场景 操作复杂程度 改造工作量 网关拦截 接入层,服务网关拦截写请求,放通读请求 入口统一,有统一网关,网关具有拦截能力,并对拦截的接口能配置友好的提示。简单 无需改造 停止写服务,读服务不停 写服务或对应接口shutdown,读服务或对应接口保持 alive 应用层服务已做读写分离场景,每个服务只进行单独的读操作或写操作,没有同时进行读写的服务 简单 无需改造 应用层先做读写分离改造,然后停止写273、服务,读不停 应用层修改代码,拆分读写服务 应用层服务没有读写分离的场景 复杂 大 中间件层/数据层直接回收写权限 中间件层/数据层设置业务账号只读,收回写权限 直接回收写权限,业务系统会报错,需要做相关轻微改造处理这些报错 简单 轻微改造 126126 8.4.3.3 写服务关停 应用层服务已做读写分离的场景,直接关停写服务或对应接口下线 shutdown,读服务或对应接口保持在线,从而达到业务只读不写的效果。8.4.3.4 应用改造 应用代码进行读写分离改造,改造后再按照 8.4.3.3 写服务关停方案实施,实现只读不写的效果。127127 8.4.3.5 中间件层/数据层配置只读 中间件274、层和数据层收回业务账号写权限,不允许服务写中间件层/数据层的操作。8.4.4 不停服切换方案 8.4.4.1 应用层切换不停服方案 若只涉及到应用层的切换,可参考 8.4.2.5 应用灰度切流方案,切换期间不停服。128128 8.4.4.2 数据层或应用整体切换不停服方案(一一)切换步骤切换步骤 准备工作:准备工作:1.华为云应用层和数据层已完成迁移;2.华为云应用层和数据层已完成业务验证,可正常使用。业务切换:业务切换:1.修改两边的配置,使源端应用层指向源端和目标端的中间件层/数据层,目标端的应用层指向源端和目标端的中间件层/数据层,实现双写。注意:双写的数据一致性由应用逻辑保障;2.实275、时对比源端和目标端数据一致性;3.历史数据迁移至华为云数据层;4.修改外部 DNS 域名解析地址,将外部流量从源端切换到华为云。8.4.5 设计 Runbook Runbook 是上云迁移过程中一个非常重要的文档,用于指导切换当天多人协同进行切换操作,规定了业务切换的流程和详细步骤。Runbook 主要包括两部分,runbook checklist 和 runbook 操作步骤,下面将从几个方面详细介绍如何设计切换 runbook。8.4.5.1 Runbook 设计原则 Runbook 设计建议遵循以下原则:129129 1.一个 runbook 对应一次切换操作。2.Runbook 要详细276、描述切换步骤、操作人、确认人,并预估开始时间、结束时间、执行时长。3.Runbook 执行步骤要尽量细化,确保每个执行步骤对应 1 个操作人和 1 个确认人,尽量避免发生 1个步骤多个人确认的场景。4.Runbook 要细化到每个执行命令,尽量脚本化或工具化,操作人直接执行即可,不需要现场临时定制,避免出现人为事故。5.Runbook 步骤中有并行操作和串行操作,要标记好串并行顺序,避免人为操作不当影响切换时长和切换结果。6.Runbook 的每个切换操作都可能会执行失败,要提前分析每个步骤发生执行失败时的决策项,细分失败场景,决策是回退还是继续进行,防止切换当天决策组讨论时间较长,无法决策的277、情况发生。8.4.5.2 Runbook 角色设计 Runbook 通常涉及如下角色,职责如下:序号序号 角色角色 职责职责 1 操作人 按 runbook 执行相应的操作步骤,并负责操作异常问题处理 2 确认人 确认操作人的操作步骤是否正常执行完成,并向引导人反馈执行结果,如遇异常,需要按 runbook 约定要求,定期向引导人员同步处理进展。3 引导人 引导 runbook 的执行,通报问题处理进展 4 记录人 刷新 runbook 的执行状态,记录 runbook 中各个步骤的完成时间,记录问题处理时长 5 决策组 由决策组负责人牵头对“决策点”进行决策 6 会务组 负责维护现场秩序,提278、供切换期间的会务保障。说明:1.每一行执行步骤都对应一个操作人和一个确认人(如涉及多人确认的情况,可以通过共享文档由多个分项确认人在线刷新确认进展)。2.引导人通常是 12 个,是整个切换的总指挥(对于大规模切换,参与人员多,操作时间长的场景,也可以设计 23 名引导人,互为备份),引导人需要对整个 runbook 非常熟悉,尤其对于每个步骤执行时序,多个步骤的并行情况要熟悉。130130 8.4.5.3 Runbook CheckList 设计 Runbook CheckList 记录了正式切换前需要准备和执行的操作,通常包括如下几个方面:1.人员和场地准备:1)核对参与切换人员,并通知,包279、括内部人员和第三方配合人员通知和时间核对。2)建立切换保障群,切换期间在保障群里进行切换相关公告和通知。3)确定切换的具体日期、入场签到时间、操作开始时间。4)切换场地的准备,如预约会议室,准备相关的物料(电脑、插排、投屏等)。5)工具、终端和登陆平台准备,切换涉及的人员需提前检查使用的工具、平台是否可用,如堡垒机账号权限是否正常,测试终端(测试手机、电脑)是否可用等。6)提前通知相关人员发布官网公告,若涉及到第三方的官网公告,需要提醒第三方进行官网公告发布。2.应用清单核对和操作脚本刷新 1)上云迁移期间,企业的软件版本开发、迭代发布通常还在正常进行,所以在切换前需要进行一次环境详细清单的核280、对,包括应用清单和 JOB 任务等。2)清单核对完成,通知版本封版,避免正式切换时环境和准备时的不一致情况。3)根据最新的应用清单和 JOB 任务清单,刷新 runbook 中相关的切换操作脚本 3.环境检查 切换前需确保源端、目的端、迁移任务状态正常,执行脚本准备就绪。1)源端检查:首先,检查是云专线同步带宽是否有超带宽的告警,评估是否需要进行带宽的扩容,其次,对源端应用和数据库进行告警监控等的观测,确保源端告警清理,状态均正常。2)目的端检查:通知云厂家进行资源日常状态的巡检和高可用性检查。另外目的端切换后就是正式生产环境,要确保告警、监控、日志、安全策略均已完成配置并做最后一次检查和确认281、。3)正向迁移任务的状态检查:系统切换前通常迁移任务已经创建完成,并在增量同步状态中,确保迁移任务的增量同步状态正常,无异常报错或告警。4)反向迁移任务的状态检查:数据层或中间件通常要考虑回退的链路,切换之前同时要检查反向迁移同步任务的状态,确保无异常报错或告警。5)参数一致性检查:核对源端参数和目的端云服务参数的一致性,如数据库的字符集一致性,数据库的用户名等一致性等。131131 8.4.5.4 Runbook 操作步骤设计 Runbook 中的每一步操作,都有明确的操作步骤、操作命令/脚本、串/并行标记、操作人、确认人、预估开始时间、结束时间、预估执行时长。切换方案不同,对应的 runb282、ook 的操作步骤也不同。切换方案可以分停服切换和不停服切换。不停服切换方案对应用架构的要求比较高,通常需要对应用架构进行大规模改造,所以业界普遍采用的切换方案是停服切换。下面以停服切换为例,介绍 runbook 设计的注意事项。1 1、设计正向操作设计正向操作步骤步骤 依据切换方案,将正向切换步骤细化到文档中,需要考虑到以下几个方面:1)停服之前需挂停服公告,充分考虑用户感知。2)停服操作需考虑系统的可用性机制,部分系统检测到应用停止会有自动拉起功能,所以需先关闭可用性机制,防止出现应用一直无法停止的风险。3)数据库切换时需要考虑数据一致性问题,要想切换前后数据一致,必须源端的数据先静止,然283、后断开增量同步任务,数据一致性对比方案需详细规划,是做行数对比还是做内容对比,不同对比方式对比时长不同,需根据表的重要性和切换时长综合考虑来确定数据一致性对比方案。4)源端数据静止,除了停止应用外,还要考虑批处理任务和消息队列中的消息消费情况等。5)应用和定时任务的启停经常有顺序,需梳理应用和批处理任务的启停顺序,避免启动顺序不当造成业务影响。6)由于公网 DNS 的域名解析有缓存功能,所以通常会出现虽然系统已切换到目的端,但是仍然有访问流量转发到源端的场景。所以 runbook 步骤需要考虑公网 DNS 缓存问题,建议保留一段时间源端到目的端的转发路径,并持续观测一段时间后,再切断此转发路径284、。2 2、设计回退操作步骤设计回退操作步骤 在切换过程中,出现严重问题无法短时间解决的必须进行回退,以恢复到切换之前的状态,避免对业务造成不可逆的影响。以下是设计业务回退步骤的关键点:1)正向操作的每个步骤操作失败都可能导致回退,所以回退的可能场景会比较多,每个可能的回退场景均需考虑。2)回退操作从整体上可以分为有损回退和无损回退。在目的端产生新数据之前的回退都可以是无损的,数据可恢复到切换前的状态。若目的端产生新数据,又无法将目的端的新数据反向同步到源端,则就是有损的回退,此时回退会造成一定的数据丢失。要想在目的端已产生新数据场景下采用无损回退,必须建立目的端到源端方向的数据同步任务。3)对285、于较大规模场景的业务应用,回退还会涉及到全量回退还是部分回退。采用全量回退还是部分回退,需结合业务影响进行判断和决策。比如当天同时切换了 10 个应用系统和 10 套数据库,若某一套数据库切换失败是全量回退还是只回退这 1 套数据库,判断依据需要业务部门评估应用跨云访问数据库和应用之间跨云访问时延是否满足要求等。总之,在设计切换 Runbook 时,要充分考虑回退操作,制定合理的回退方案和步骤,明确操作人员,并在执行过程中严格按照规定的流程和步骤进行操作,以确保切换过程出现异常仍然可以按照既定的步骤进行回退,避免业务受到更大的影响。132132 8.4.5.5 Runbook 参考模板 1.R286、unbook CheckList 参考 2.Runbook 操作步骤参考 8.5 部署(目标环境和迁移环境)部署主要是进行云上目标环境的资源开通和配置,并做好上云前的各项检查和测试,并进行迁移环境的准备。8.5.1 云资源开通及配置 要按照应用部署架构设计方案进行云上资源的开通和配置,云上资源开通主要有如下 3 种方式:1.在云平台 console 控制台手动创建云资源。2.编写脚本或通过自动化平台对接,调用云平台的 API 接口,批量发放云资源,每个云服务都有对应的 API 接口,可以进行资源的生命周期管理。详情请见对应服务的帮助文档。例如:ECS 资源创建 API 调用示例:https:/287、 3.使用华为云提供的应用编排服务 AOS,对资源进行编排和批量发放,具体操作方法:https:/ 133133 资源开通方式对比:资源开通方式对比:开通方式开通方式 场景场景 优点优点 缺点缺点 console控制台手动开通 适用于比较少的资源发放场。技术门槛低 资源量大的情况下,人力投入较大。脚本调用 API开通 1、适用资源量比较大的场景。2、业务定制需求,程 序运行 按需调用,实现资源的自动创建与删除。1、自动化操作:减少资源管理,减少人力投入 2、灵活性:快速创建、配置、启停云上资源,方便根据业务灵活部署 3、可编程性:API 提供丰富的功能和参数,可以利用编程语言二次开发,满足特定288、的业务需求 4、速度快:避免手动操作的繁琐 5、可重复性:保障资源部署的一致性,降低人工操作出错的风险 1、学习成本:需要学习使用 API 接口,及相应的编程语言和工具,需要学习成本 2、维护复杂性:随业务扩大,脚本的结构和逻辑会复杂,管理和维护更加困难 3、安全风险:若没有正确的安全措施和权限控制,可能会泄漏敏感数据或资源被滥用等 AOS 资源编排 适用于资源量比较大的场景。1、自动化:可以自动化部署和管理云上资源,省去手动管理的繁琐步骤,提高效率 2、可视化:通过资源编排模板,可以清晰了解云上资源的依赖关系和配置信息减少出错率,提高管理效率 3、可重用性:编排模板可以反复使用和修改,节约时289、间和精力,提高开发和管理效率 4、可追踪性:带有审计功能,方便故障的追踪和回溯 5、一致性:保证资源配置的一致性,减少人工出错导致的不一致问题 1、学习成本高,需掌握编排模板语言和云服务相关知识 2、调试复杂,因涉及多个云资源之间的依赖关系,如果其中某个环节出错,需耗时排查问题 3、安全风险,需妥善保管资源编排过程中使用的敏感的认证信息和密钥 4、风险管理,模板执行过程中出错或缺陷,可能导致资源的不可用 5、不适用于特殊场景,例如需要复杂的交互和手动干预的场景 6、可能存在的依赖问题,资源编排中的某些资源可能依赖其它资源的创建和配置,如果依赖的资源不存在或配置不正确,可能会导致资源编排失败 7290、、限制,可能存在的限制,如无法直接控制操作系统,不支持所有类型的资源等 总之,具体使用哪种方式进行资源的发放和配置,需要根据实际情况和需求综合考虑。8.5.2 迁移工具部署 华为云提供的迁移工具有:资源发现与评估工具(RDA)、主机迁移工具(SMS)、数据复制工具(DRS)、Redis 数据迁移工具、大数据迁移工具(CDM)、对象存储迁移工具(OMS)等 1.资源发现与评估工具(资源发现与评估工具(RDARDA):资源发现与评估,是一个部署在 Windows 主机上的工具,用于评估上云驱动力和准备度,发现应用基础设施(例如虚拟机规格信息,CPU,内存利用率性能数据,网络拓扑数据等),并提供其迁291、移到华为云的推荐配置以及主机的一站式迁移能力。134134 2.主机迁移服务(主机迁移服务(SMSSMS):是一种 P2V/V2V 迁移服务,可以把 X86 物理服务器或者私有云、公有云平台上的虚拟机迁移到华为云弹性云服务器云主机上,具体使用方法:https:/ 3.数据复制服务(数据复制服务(DRSDRS):用于数据库实时迁移和数据库实时同步的云服务。提供了实时迁移、备份迁移、实时同步、数据订阅和实时灾备等多种功能。具体功能及使用方法:https:/ 4.RedisRedis 数据迁移服务数据迁移服务:用于自建 Redis 或其它云 Redis 服务(要求源端 Redis 已放通 SYNC 292、和PSYNC 命令)向华为云上 Redis(DCS 服务或自建 Redis)数据迁移,具体使用方法:https:/ 5.大数据迁移服务(大数据迁移服务(CDMCDM):支持近 20 种常用数据源,满足数据在云上和云下的不同迁移场景。具体使用方法:https:/ 6.对象存储迁移服务(对象存储迁移服务(OMSOMS):可以将其他云服务商对象存储服务中的数据在线迁移至华为云对象存储服务(OBS),具体使用方法:https:/ 其中:资源发现与评估工具(RDA)需要部署在华为云 VPC 内的 ECS 云服务器(Windows 操作系统)上;对象存储迁移工具(OMS)为公共服务,不占用 VPC 内网 293、IP 资源,如果通过专线迁移数据,则需要部署离线 OMS 工具,需要部署在华为云 VPC 内的 ECS 云服务器上,具体配置方法见RDA 页面文档;其它工具均会暂时占用 VPC 内网 IP 资源。8.6 迁移 8.6.1 接入层迁移实施(一一)EIPEIP EIP 不涉及到迁移,EIP 通常需要在目标端华为云环境中重新购买,如果 EIP 需要对华为云以外的地方提供服务,那么该 EIP 需要在当地信管局进行服务域名和对应 EIP 的备案,备案通过后,方可对外提供服务。EIP 购买和使用方法,请参照华为云弹性公网 IP 服务(https:/ 1、迁移到华为云 ELB:源端的负载均衡可能是硬件负载均294、衡器或者是负载均衡软件,都可以使用华为云的 ELB 云服务替代,在目标端开通 ELB 服务,然后参考源端策略配置目标端 ELB 负载均衡策略,具体部署流程,请参照华为云弹性负载服务 ELB(https:/ 2、迁移到 ECS 上部署的软件负载均衡:如果源端是服务器上自建的负载均衡,迁移到华为云上仍然采用 ECS 自建负载均衡的场景,也可以使用 SMS 工具迁移。(三三)VPNVPN VPN 需要在目标端华为云重新部署,具体部署流程,请参照华为云虚拟专用网络 VPN(https:/ 应用层迁移实施 8.6.2.1 主机迁移 主机迁移是典型的 Re-host 迁移方式,虽然主机(服务器)上可以承载295、各种系统应用如 Nginx 代理、数据库、容器、中间件、大数据等,但由于数据库/中间件/大数据等应用是以数据为核心,对于这类数据层面的迁移我们通常会采用独立的数据迁移方式而非主机迁移,这里讲的主机迁移对应的迁移层级为应用和操作系统。主机迁移的方式主要有以下三种:主机主机 迁移方式迁移方式 适用场景适用场景 备注备注 虚拟机/物理机迁移 重新部署 OS 可变,停机时间长 SMS 工具迁移(免费)OS 不变,版本一致,停机时间短 优先推荐,华为云有技术支持 镜像导入/导出 OS 不变,版本一致,停机时间长 1.重新部署:重新部署:针对公有云的平迁方式的应用上云场景,我们建议使用 CI/CD 流水线296、构建自动化平台,然后在云上重新部署应用。2.2.SMSSMS 工具迁移:工具迁移:主机迁移服务(Server Migration Service,SMS)是一种 P2V/V2V 迁移服务,可以帮您把 X86 物理服务器或者私有云、公有云平台上的虚拟机迁移到华为云弹性云服务器上,从而帮助您轻松地把服务器上的应用和数据迁移到华为云,主机迁移服务工作原理如下图所示:136136 主机迁移服务的安全传输原理指的是:源端服务器中的迁移 Agent 从主机迁移服务获取到迁移指令后,会动态生成安全证书和密钥并且通过华为云 OpenStack 元数据管理服务传输给目的端服务器,此后,源端服务器和目的端服务器会297、重启并使用新生成的动态安全证书建立安全的 SSL 通道。SMS 主机迁移过程中,无需中断或者停止业务,只需在”持续同步”状态时,启动目的端前停止业务,大大减少业务中断时间。关于主机迁移服务的更多详细信息,请参考 SMS 主机迁移服务(https:/ Management Service,IMS)的导入功能,通过已有的云服务器或使用外部镜像文件创建私有镜像,将已有的业务云镜像导入到云平台,方便企业业务迁移与业务的批量部署,实现业务上云或云上迁移。137137 在源端与目标端无法通过网络使用 SMS 主机迁移服务进行整机迁移时,可以使用 IMS 镜像服务进行整机迁移。将源端服务器的系统盘和数据盘分298、别制作私有镜像,上传至华为云 OBS 对象存储服务中,在IMS 镜像服务中,使用上传的外部镜像文件制作成私有镜像,最后使用私有镜像发放云服务器,完成整机迁移。迁移后的主机操作系统、系统配置,数据文件与源端服务器完全一致。关于主机迁移服务的更多详细信息,请参考 IMS 镜像服务(https:/ 容器迁移 容器是操作系统内核自带能力,是基于 Linux 内核实现的轻量级高性能资源隔离机制。Kubernetes 是一个开源的容器编排部署管理平台,用于管理云平台中多个主机上的容器化应用。Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应用部署、规划、更新、维护299、的一种机制。对应用开发者而言,可以把 Kubernetes 看成一个集群操作系统。Kubernetes 提供服务发现、伸缩、负载均衡、自愈甚至选举等功能,让开发者从基础设施相关配置等解脱出来。华为云容器引擎(Cloud Container Engine,CCE)提供高度可扩展的、高性能的企业级Kubernetes 集群,支持运行 Docker 容器。借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序。CCE 是基于开源 Kubernetes 的企业级容器服务,提供高可靠高性能的企业级容器应用管理服务,支持 Kubernetes 社区原生应用和工具,简化云上自动化容器运行环境搭建300、。您可以通过 CCE 控制台、Kubectl 命令行、Kubernetes API 使用华为云容器引擎所提供的 Kubernetes 托管服务。这里的容器迁移指的是将其它云上的容器集群应用迁移至华为云 CCE 为例来讲解。总体迁移方案如下图所示。138138 整体的容器镜像迁移步骤:1.导出第三方集群上使用的容器镜像。2.按照第三方容器镜像服务上的操作指南拉取镜像到客户端机器。3.将导出的容器镜像文件上传到华为云 SWR。4.使用 docker pull 命令将镜像上传到华为云,具体操作方法请参见客户端上传镜像(https:/ 中间件层迁移实施 8.6.3.1 Redis 迁移 Redis 服301、务一般分为两种大的场景:缓存和数据库存储。在缓存时,一般不用进行迁移数据,大多数场景都是重新在华为云 SQL 数据库中重新缓存。一般迁移数据都是针对的 Redis 作为数据库存储使用的场景,其中在 web 场景下的缓存 session 时,也可以不用迁移,当客户端重新登录时会在华为云 DCS中再一次存储。1.1.离线备份导入离线备份导入 139139 备份文件导入方式当前支持迁移到 Redis3.0、Redis4.0 和 Redis5.0;暂时不支持导入自建Redis5.0 生成的 rdb 备份文件。无论是 IDC 自建 Redis,还是第三方云 Redis 服务,只要能进行导出备份文件(AO302、F 或 RDB),就可以使用 DCS 迁移服务的备份文件导入方式进行迁移。此种迁移方式属于全量迁移方式,在迁移过程中产生的新增数据无法进行迁移。源端容量大于 10G 的情况下,该迁移方式的迁移效率会大大折扣,故当源端内存使用量大于 10G 的情况下,不建议使用该迁移方案。迁移过程:1.源 Redis 数据备份导出:IDC:使用第三方工具或配置策略将备份数据落盘(方法见 Redis-cli 或 Redis-port);AWS:使用备份功能将 rdb 文件输出到 S3 中。2.备份数据上传至 OBS:EC2:使用 OBS Browser/obsutil 工具将备份文件(aof/rdb)上传至 DC303、S 所在的 Region 的OBS。S3:创建 OMS 任务,将 S3 中的 rdb 备份文件迁移传输到 DCS 所在的 Region 的 OBS。3.创建 DCS 迁移任务:在 DCS 服务中的数据迁移模块创建迁移任务,选择备份文件导入方式,并选择 OBS 中源端的aof/rdb 备份文件,填写其余选项,启动迁移任务。4.DCS 数据查询对比两端数据 使用 redis 查询命令:info keyspace 140140 2.2.在线迁移在线迁移 在线迁移不光可以迁移全量数据,还可以实时同步迁移过程中的增量数据,但是这种迁移方法,需要源端与华为云目标端之间内网互通,而且源端 Redis 未禁用304、 SYNC 和 PSYNC 命令。迁移过程:1.创建 DCS 迁移任务:在 DCS 服务中的数据迁移模块创建迁移任务,选择在线迁移方式,根据需要选择去全量迁移或全量迁移+增量迁移方法,填写其余选项,启动迁移任务。2.DCS 数据查询对比两端数据 迁移任务完成后,使用 redis 查询命令:info keyspace 8.6.3.2 消息中间件迁移 消息中间件,包含 Kafka、RabbitMQ、RocketMQ、IBMMQ 等,消息中间件在迁移项目中,通常使用策略切换的方案来进行迁移。141141 迁移步骤:1.中断企业应用和生产消息的相关业务,直到消费组中的消息消费完毕 2.待消息消费完毕,305、停止消费相关业务 3.启动华为云的生产消息和消费消息的业务,接入客户流量,观察业务是否正常 8.6.4 数据层迁移实施 8.6.4.1 对象存储迁移 对象存储适用于存储非结构化的数据,我们日常生活中见到的文档、文本、图片、XML、HTML、各类报表、音视频信息等等都是非结构化数据。不同的量级对应了不同的迁移方式,如下图所示:对象存储对象存储 迁移方式迁移方式 适用场景适用场景 备注备注 142142 对象存储迁移 OBS 客户端拷贝 数据量较少,GB 级数据 OMS 工具迁移+回源 数据量大,TB 级及 PB 级数据,且有较大增量数据 优先推荐,华为云有技术支持 线下 DES 磁盘拷贝 数据量306、较大,增量少的 TB 级数据 OMSOMS 工具工具+回源迁移:回源迁移:对象存储迁移服务(Object Storage Migration Service,OMS)工具作为易用、高效的线上数据迁移服务,通过调用源端对象存储的 SDK,可快速传输数据并对数据进行加密存储,将数据复制到华为云 OBS,可以帮助把对象存储数据从其他云服务商对象存储服务中的数据轻松、平滑地迁移到华为云。通过第一次全量任务,将源端对象存储全量数据迁移至华为云 OBS,业务切换时,在华为云配置回源规则,将部分增量数据,通过回源的方式迁移至华为云 OBS,在业务切换后,再进行一次全量迁移,本次全量迁移,将自动跳过已经迁移的307、对象,将剩余增量数据迁移至华为云 OBS。在对象存储迁移服务中,可以查看迁移任务、管理迁移任务,创建迁移任务组,评估桶内数据,查看审计日志等,具体内容请参考对象存储迁移服务(https:/ DESDES 磁盘拷贝:磁盘拷贝:云下数据也提供了数据快递服务(DES)来迁移数据,DES 是面向 TB 或 PB 级数据上云的传输服务,它使用物理存储介质(USB、eSATA 接口的磁盘等)、或 Teleport 向华为云传输大量数据,解决了上云带宽昂贵、传输时间长的难题。详细信息见数据快递服务(https:/ 8.6.4.2 文件存储迁移 NAS 文件存储是一种可共享访问、弹性扩展、高可靠以及高性能的分308、布式文件系统。华为云的弹性文件服务(Scalable File Service,SFS)提供按需扩展的高性能文件存储(NAS),可为云上多个弹性云服务器(Elastic Cloud Server,ECS),容器(CCE&CCI),裸金属服务器(BMS)提供共享访问。NAS 文件储存迁移时,在网络互通的情况下,可以进行多平台挂载使用,通过 Rclone 工具或者Rsync 工具的复制文件的能力,在中转主机上将源挂载目录文件复制到 SFS 或者 SFS Turbo 文件系统上。Rclone 是一款命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据,rclone 工具支持自定义多线程多并发迁309、移任务,大大提高迁移效率,缩短迁移周期。具备数据同步、检查能力,能够将源端文件系统中的数据拷贝到目的端,完成 NAS 文件的迁移。Rsync(Remote synchronize)是一种基于 RCP 协议(Remote Copy Protocol)的,使用其Rsync 算法的远程文件同步工具。通过在各业务平台开启 Rsync 服务,在文件服务器中配置 Rsync 客户端脚本,通过 FileServer 系统的定时任务,如:Linux 的 Crontab,定时将业务服务器的文件以文件增量的方式(第一次是全量)同步到磁阵中。优势:1.文件增量同步,速度快,效率高,占用资源少。2.通过 SSH,RS310、H 等模式可对第三方平台跨网络开放。3.服务端不想共享时,只需停止 Rsync 服务,不影响其它业务。4.支持镜像方式数据拷贝,适合于互联网模式下的静态文件分布式部署,可扩充性好。144144 8.6.4.3 数据库迁移 数据库主要分为关系型数据库与非关系型数据库两大类,能保持数据一致性是关系型数据的最大优势,从 IDC 或者云上将数据库迁移到华为云,有以下三种方法:1.利用 SMS 主机迁移。如果源端是在 ECS 上自建数据库,需要将自建 ECS 数据库服务器迁移到华为云弹性主机 ECS 上,SMS 可以帮助轻松实现,但是此时会中断数据库业务,需要注意。但是当对停机时间有较高要求,您也可以使311、用数据库的备份恢复功能或者数据库同步复制技术进行迁移。2.使用备份恢复进行迁移。备份恢复迁移数据库的备份还原方案是指的保存源系统的数据,停止源系统数据库业务,在源系统进行数据库全备份,确保必要的日志也保留,并在目的系统进行还原。3.使用数据库复制服务(Data Replication Service,DRS)进行迁移,实现跨云平台数据库迁移、云下数据库迁移上云或云上跨 Region 的数据库迁移等多种场景,用于数据库在线迁移和数据库实时同步的云服务。华为云针对于数据库的迁移提供了数据复制服务(Data Replication Service,DRS),DRS 服务是一种易用、稳定、高效,用于数312、据库平滑迁移和数据库持续同步的云服务。DRS 围绕云数据库,降低了数据库之间数据流通的复杂性,有效的减少数据传输的成本。数据复制服务支持多种数据源之间的数据流通,实时迁移、备份迁移、实时同步、数据订阅和实时灾备对不同数据库的支持不同,详细情况参考DRS 服务(https:/ DRS 迁移为主,逻辑导出导入辅助数据库的迁移。了解更多的数据库迁移,请查看华为云数据库迁移上云指南(https:/ 迁移到华为云迁移到华为云 RDS for MySQLRDS for MySQL 1.部署架构 145145 2.操作步骤 具体操作步骤请参照华为云 DRS 文档其他云 MySQL 迁移到云数据库 RDS f313、or MySQL https:/ 迁移到迁移到 GaussDB(for MySQL)GaussDB(for MySQL)1.部署架构 2.操作步骤 具体操作步骤请参照华为云 DRS 文档其他云 MySQL 迁移到 GaussDB(for MySQL)https:/ 迁移到迁移到 DDSDDS 1.部署架构 146146 2.操作步骤 具体操作步骤请参照华为云 DRS 文档其他云 MongoDB 迁移到 DDS https:/ Microsoft SQL ServerMicrosoft SQL Server 备份迁移华为云备份迁移华为云 RDS for SQL RDS for SQL Serve314、rServer 实例实例 1.部署架构(全量迁移)2.部署架构(全量+增量)147147 3.操作步骤 具体操作步骤请参照华为云 DRS 文档 本地 Microsoft SQL Server 备份迁移至本云 RDS for SQL Server 实例 https:/ 同步到同步到 RDS for PostgreSQLRDS for PostgreSQL 1.部署架构(全量迁移)2.操作步骤 具体操作步骤请参照华为云 DRS 文档 其他云 PostgreSQL 同步到 RDS for PostgreSQL 148148 https:/ 8.6.5 迁移实施常见问题及应对 1.主机迁移常见问题处理315、。参考:https:/ 2.Redis 数据迁移常见问题处理。参考:https:/ 3.对象存储数据迁移常见问题处理。参考:https:/ 4.数据库迁移常见问题。参考:https:/ 8.7 验证 8.7.1 数据验证 8.7.1.1 数据验证标准 迁移完成后,需要对源端和目的端数据做一致性比对,对于数据一致性比对的精度,不同的场景有不同的要求。一般来说,核心业务的数据库表要求源端和目的端 100%一致;对于大数据类业务中的部分场景,例如用户画像计算等,可以约定原始数据 90%一致。如下是一个参考标准,可根据实际情况调整:分类 数据一致性要求 业务举例 核心业务 100%电商系统的核心会员数316、据、交易数据、支付数据等,数据是用户最核心的资产,涉及到真实的财产金额等。所以这部分核心业务对于数据一致性要求是 100%。建议进行数据的行数对比和对象对比,抽样内容对比。非核心业务 99.9%电商系统的用户购物车商品数据、客服沟通消息数据等,作为非核心业务的数据,如果有微量损失,并不会影响客户的业务使用和体验。建议若切换时间有限,可以只进行数据的行数对比。边缘业务 90%电商系统的首页推荐数据、用户浏览数据、用户画像数据等,如果有一部分损失,并不会影响客户的业务使用可体验。建149149 议进行表级的的行数对比,抽样内容对比。8.7.1.2 数据验证方法 数据分为数据库数据、中间件数据和文件317、数据,这三种数据的一致性验证方法和工具不同:1.数据库数据一致性验证的方法:对比对比项项 工具工具 描述描述 库和表级内容对比 DRS工具 查询对比数据库表的每一条数据,确保每一条的每一个字段都与源端数据库表一致。相较于行对比,内容对比较慢。python脚本 根据DRS任务的ID,调用接口批量执行对比任务,对比结果输出到xlsx文件中。相比于工具可批量执行,执行效率较高。库和表级对象对比 DRS工具 对数据库、索引、表、视图、存储过程和函数、表的排序规则等对象进行对比。python脚本 根据DRS任务的ID,调用接口批量执行对比任务,对比结果输出到xlsx文件中。相比于工具,可批量执行,执行效318、率较高。库和表级行数对比 DRS工具 对比表的行数是否一致,只查询表的行数,对比速度较快 python脚本 批量脚本,创建N个并发任务线程,遍历所有表进行逐一COUNT,输出对比结果到xlsx文件中,相比于工具可批量执行,执行效率较高。2.中间件数据一致性验证的方法:对比对比项项 工具工具 描述描述 Keys数量对比 redis-cli 通过redis-cli命令info keyspace查看keys参数和expires参数的值,对比源Redis和目标Redis的keys参数分别减去expires参数的差值。如果差值一致,则表示Keys数量一致,迁移正常。Key-value内容对比 开源Red319、is-Full-Check工具 通过全量对比源端和目的端redis中的数据内容的方式来进行数据校验,其工具实现方式会多次抓取源和目的端的数据进行差异化比较,记录不一致的数据进入下轮对比。然后通过多轮比较不断收敛。最后sqlite中存在的数据就是最终的差异结果,无内容则表示数据内容完150150 整,迁移正常。3.文件类数据一致性验证的方法:类型类型 对比对比项项 工具工具 描述描述 对象存储 对象数量 OMS OMS迁移工具,通过MD5校验文件完整性和比对两边桶对象数据量是否一致。文件存储 文件数量 rclone Rclone迁移工具,使用MD5哈希值来验证文件的完整性。同步后会再对比源端和目320、的端文件数量。rsync rsync迁移工具,使用MD5哈希值来验证文件的完整性,如果校验和不匹配,则rsync会重新传输该文件,以确保数据一致性。同步后会再对比源端和目的端文件数量。文件大小 python脚本 迁移完成后,通过对比源端和目的端总文件大小判断是否一致。文件内容 python脚本 迁移完成后,通过计算源端和目的端文件的哈希值,比较两个文件的哈希值是否一致。8.7.2 业务验证 业务验证对上云迁移非常重要。业务验证主要包括功能测试和性能测试等。在上云迁移过程中,有两个阶段需要进行业务验证:首先,业务部署完成后,在切换前需要进行功能和性能测试,其次,业务切换时,当业务流量切换到目的端321、,切换后也需要进行功能和性能验证。8.7.2.1 功能验证(一一)功能测试内容功能测试内容 功能测试确保应用系统在上线前能够正常运行,以下是功能测试的内容:测试内容分类测试内容分类 说明说明 151151 本应用功能测试 测试的内容强依赖应用系统的功能,比如某电商系统,核心的功能测试用例至少包括线上线下的浏览、购物、下单支付(各种支付途径支付、用劵支付)、打印账单、开发票、活动促销、库存同步、新会员注册,老会员退会、订单退款、订单返劵等核心功能。周边系统集成功能测试 测试的内容强依赖应用系统的集成功能,比如某电商系统,和美团、饿了么、京东到家、抖音等都有业务合作,集成的用例至少包括在这些集成平322、台的下单、用劵、通知发货,评论等各种功能的验证。(二二)功能测试的目的功能测试的目的 1.验证应用系统迁移到目标端华为云后,更换了技术组件后的应用功能是否正常 2.验证应用更换到目标端后,应用和周边的系统的集成是否正常,识别需要周边系统配合修改的内容都已修改正常。(三三)功能测试的方法功能测试的方法 1.冒烟测试:冒烟测试是一种简单的功能测试,通过执行少量的核心测试用例来验证系统是否可用。在目标端部署完成后,可以首先执行冒烟测试来确认系统的基本功能是否正常。2.全业务功能测试:全面的业务功能测试可以验证系统的所有功能是否正常,通过执行针对各种业务流程的测试用例,确保所有功能模块正常。3.日志分323、析:在目的端业务部署完成后,需要对系统的日志进行分析,检查是否存在异常情况的错误信息。通过日志分析可以发现一些潜在的问题和隐患,及时进行修复和优化。4.DNS 劫持测试:因云上部署的业务一般按照生产环境的域名进行配置,在使用手机 App 或浏览器测试业务功能时,需要配合使用DNS劫持的方式进行测试,可以使用内网WIFI及运维改造的APISIX,配合 WiFi 上的 DNS 解析,劫持流量指向测试环境,进行的内网测试。(四四)功能测试的流程功能测试的流程 1.确定测试目标和重点关注点确定测试目标和重点关注点:明确需要测试的应用功能和场景,以及测试的重点和关注点。1)系统功能:如促销活动,用劵支付324、、退货反劵等 2)批处理 JOB 功能:若本次搬迁的应用同时涉及多个批处理 JOB,在功能测试时,需要重点关注152152 批处理 JOB 的执行情况,比如库存推数。3)第三方业务集成功能:如美团、饿了么、京东到家、门店 POS 支付等功能验证。2.2.确认测试环境:确认测试环境:确认使用哪个环境用作测试,不要对生产业务造成影响。注意,如果有请求第三方接口的业务,需要注意外网隔离,防止测试污染生产数据,可以通过内网搭建特殊 WIFI,让内部测试人员登录模拟进行三方功能的测试。场景场景 测试环境选择建议测试环境选择建议 优点优点 缺点缺点 目标端华为云生产环境是否已上线部分应用 方案 1:在目标325、端华为云生产环境用作测试 1.测试后直接转生产上线,节省工作量 2.各项参数在测试期间已调为最优 需做好网络隔离,有对现网影响的风险。方案 2:在目标端华为云新建一套测试环境用作测试 对现网无影响 1.新搭建一套环境有一定的成本费用 2.在测试环境调测好的配置参数需要 1:1 配置到生产环境,有一定工作量 目标端华为云生产环境是全新环境 目标端华为云生产环境用作测试 1.测试后直接转生产上线,节省工作量 2.各项参数在测试期间已调为最优 无 3.3.设计测试用例设计测试用例:根据测试目标,设计和准备测试用例。切换之前的测试用例要尽可能的全覆盖,切换期间,由于测试时间有限,建议将测试用例划分 P326、0、P1、P2 三个优先级。1)P0 定义:最核心的功能用例,此用例通过,可以决策不再考虑回退。2)P1 定义:重要功能用例,此用例通过表示基本功能全部可用,此用例通过后,即可宣布当晚切换成功,可取消外部维护公告。3)P2 定义:其他补充用例,如切换时间窗足够,可切换当晚测试,如果切换时间窗不够,可第二天测试。阶段阶段 测试测试用例用例 覆盖率覆盖率 153153 切换前测试 所有 包括所有的应用功能和第三方集成功能测试。特殊无法测试场景需单独讨论模拟测试方案。切换期间测试 分 P0、P1、P2 三个级别。在切换时间窗内至少完成P0 和 P1 级用例测试。根据切换时间窗口,时间窗口充足,完成所327、有的用例,时间窗口不足,至少完成 P0 和 P1 级用例。评估测试用例覆盖率评估测试用例覆盖率:对于测试环境的测试用例选择,企业需要根据应用场景分析是否具备测试条件,比如第三方库存同步的用例,第三方只有生产环境对接本企业生产环境,无法对接测试环境情况下,此用例就无法测试。所以需识别无法测试的用例,评估测试用例的覆盖率,对于无法覆盖的用例单独讨论模拟测试方法,参考如下:场景场景 是否具备测试条件是否具备测试条件 特殊场景应对措施特殊场景应对措施 第三系统下单 第三方系统由于和测试环境无法打通,所以在测试环境无法测试 针对无法测试的场景,讨论应对方案如直接调用库存同步接口模拟测试 库存同步 第三方328、库存由于和测试环境的库存系统无法打通,所以在测试环境无法进行测试 针对无法测试的场景,讨论应对方案如直接调用库存同步接口模拟测试 支付 线上支付具备测试条件 线下 POS 支付由于和测试环境无法打通网络,不具备测试条件 针对无法测试的场景,讨论应对方案如:直接调用接口模拟测试等 4.4.预置预置测试数据测试数据:为了确保测试的真实性和有效性,需提前预置测试数据。可以使用源端测试环境数据,也可以使用脱敏后的生产数据。5.5.执行测试用例执行测试用例:部分企业测试自动化起步较晚,大量用例仍需要人工执行,手工执行用例,在测试过程中需执行人详细记录测试时间、测试人员、用例执行结果等相关信息。部分企业已329、有自动化测试能力,上云过程中只需要将新增的用例增加到自动化平台自动执行。6.6.输出测试报告输出测试报告:全部测试用例测试完成后,输出测试报告。总的来说,功能测试需要确保测试环境和生产环境尽可能的一致,测试用例覆盖率 100%,以保证应用上云后的功能正常。154154 8.7.2.2 性能验证 应用系统迁移到云上后,底层技术组件更换了,云上的技术组件默认参数可能与源端默认参数不同,或者源端和目的端的技术组件实现机制不同,可能会导致上云发生性能问题,需要进行测试验证:(一一)性能测试内容性能测试内容包括如下三类:包括如下三类:测试内容测试内容 说明说明 云服务的性能测试 针对某个云服务进行性能测330、试,比如数据库,Hbase、存储的 IOPS 等。应用的接口性能测试 接口性能是系统性能评估的一个方面,针对某几个接口进行针对性接口压测。应用整体的性能测试 根据应用的使用场景,比如大促期间,上千人同时浏览一个产品并抢购的场景下,整体的性能测试。(二二)这三类这三类性能测试性能测试的的目的目的如下:如下:测试内容测试内容 目的目的 云服务的性能测试 评估云服务的规格是否满足应用高并发下的性能,参数是否是最优配置。应用的接口性能测试 针对某几个接口评估接口的极限负载能力 应用整体的性能测试 1.确定云上业务系统的极限负载能力:通过高并发、高负载的测试,确定云上业务系统可以承载的最大负载,以及达到331、极限负载时系统的表现和响应时间。在压力逐步上升的过程中,观察云上业务系统在承载和源端压力相当时的性能表现,并对比收集到的指标,确定是否存在问题。2.验证系统的稳定性和可靠性:通过长时间、高负载的测试,验证云上业务系统在各种情况下的稳定性和可靠性,包括系统资源的管理、数据传输、异常处理等。3.评估系统的可扩展性:在系统压力逐步增大的过程中,测试云上业务系统的可扩展性,可以确定系统是否可以扩展到更大的规模,并支持更多的用户和业务需求 4.识别系统的性能瓶颈:通过对云上业务系统的压力测试,可以识别系统的瓶颈,确定迁移过程中业务环境的改变带来的系统性能问题,从而优化系统性能。(三三)性能性能测试测试方332、法方法 155155 1.1.云服务的性能测试(以数据库为例)云服务的性能测试(以数据库为例)对于大多数应用系统来说,整个系统的瓶颈往往在数据库。因为应用的其他组件,例如网络带宽、负载均衡、应用服务器、中间件等比较容易实现水平扩展,但对于数据库,由于数据一致性要求高,多数业务系统仍然采用数据库主备方式实现,未实现数据库的分布式架构。常用的数据库相关指标有:1)TPS/QPSTPS/QPS:衡量吞吐量。2)响应时间:响应时间:包括平均响应时间、最小响应时间、最大响应时间、时间百分比等,其中时间百分比参考意义较大,如前 95%的请求的最大响应时间。3)并发量:并发量:同时处理的查询请求的数量。4)333、4)成功率:成功率:指请求在一定时间内成功返回结果的比例。华为云 RDS 提供了数据库的标准性能基线,企业也可以基于自己的业务数据重新进行压力测试。常用的数据库压测工具是 sysbench,支持多线程,支持多种数据库;主要包括以下几种测试:1)cpu 性能 2)磁盘 io 性能 3)调度程序性能 4)内存分配及传输速度 5)POSIX 线程性能 6)数据库性能(OLTP 基准测试)2.2.应用接口压测应用接口压测 方法方法 工具工具 压测方式压测方式 优点优点 缺点缺点 方法一 CPTS 基于华为云CPTS 工具完成接口压测。1、支持多协议、高并发、复杂场景的测试 2、专业性能测试报告,应用性能表现一目了然 3、与生产环境核心业务不产生交互,不会对现网产生影响 1、执行成本高,前期业务梳理和脚本编写耗时较久。2、对测试人员技术要求较高,需要熟悉测试工具的使用和相关测试知识,否则测试效果可能