文章

成功进行云迁移的方法

2021-02-17Sandeep Tol

466阅
本文介绍了一种用于云计算转型、策略和迁移的方法,其中包括有关7R方法、评估和云计算架构的信息。

    正在全球持续蔓延的冠状病毒疫情对各行业组织提出了新的挑战。这对组织的业务发展和运营模式产生了重大影响。很多组织正在思考“如何使业务在疫情期间具有弹性?”,“如何更快地创新并为客户提供新的业务服务?”,“如何降低总拥有成本?”,以及“如何实现更好的连接性和协作性?”这样一些问题。这些问题和挑战在疫情发生之前就已经存在,但现在变得越来越紧密相关和至关重要。

    已经开始进行云计算之旅的组织已经展现出对于应对疫情的更大弹性和响应能力。预计在不久的将来,随着不同的云服务模型(SaaS、PaaS、IaaS)以及混合云和多云拓扑的结合,预计各行业组织的云计算采用率将显著提高。云托管将成为企业一项新的必不可少的IT服务。

    组织采用的云计算转型方法有望实现业务目标、节省成本和实现战略优势。以下将简要概述应用程序云迁移、数字化转型的典型方法的元素。本文结合了可通过减少对非重要价值投资组合的支出来确定潜在节省成本的方法,以及获得云计算技术好处的云迁移方法。还将解释成功进行云计算转型的系统方法。

    一个典型的云计算项目分为四个阶段。根据组织当前的转型阶段,必须确定其所处在的阶段,其中包括:

    ●策略与投资组合评估

    ●设计与规划

    ●迁移与转型

    ●管理运营和优化

    以下重点介绍前两个阶段,即“策略和投资组合评估”和“设计和规划”。

1.策略与投资组合评估

    这一阶段的目标是评估组织对云计算的准备情况,定义云计算策略,进行应用程序组合评估,并定义目标部署。

    1.1 云计算策略

    组织在制定云计算策略之前,重要的是了解当前业务目标和优先级、当前的IT环境,正在进行的转型计划和技术战略。组织需要考虑以下几点:

    (1)定义与组织的愿景、业务和IT战略一致的云计算目标。定义云计算将如何使组织满足其业务目标或新功能。

    (2)定义采用云计算的主要目的。例如,数字化转型、数据中心退役、现代化改造、替换原有技术、推出新的业务服务、提高灵活性、容量激增、降低成本、提高弹性、响应能力、灵活性或运营效率。组织为这些目标定义具有有形利益和无形利益的关键绩效指标(KPI)。

    (3)定义云迁移和转型的过程方法。例如,在实施前进行试点以了解各种各样的工作负载场景,很多组织更倾向于在短时间内进行迁移。

    (4)采用理由、影响和定义云决策。以下是一些决定:

    ●选择云计算服务提供商(AWS、Azure或谷歌云平台)的决定。定义“私有云”、“混合云”或“多云”等云计算拓扑。如果是多云策略,需要定义选择不同云平台的理由以及可以针对不同云平台放置哪些类型的工作负载(例如AWS上的分析业务和Azure上的原有服务器)。

    ●关于容器平台和容器化策略的决定。

    ●选择应用程序的云计算服务模型——例如,SaaS优先于PaaS,然后是CaaS(容器即服务),最后是IaaS。

    ●定义采用哪个云计算服务提供商提供的哪些云计算服务(IaaS/PaaS)。例如,由于各种安全原因,无服务器计算功能(例如Lambda/Azure功能)可能不被批准为组织策略。在使用新的云计算服务的情况下获得批准。

    ●定义为使用SaaS或商品化的产品或技术(COTS)平台替代打包软件或任何应用程序而已经采取或正在考虑的所有决策。

    ●定义云采用原则——例如应用DevOps原则,自助服务和云计算代理原则,实施用于迁移的标准技术堆栈。采用可迁移性原则避免了供应商锁定。例如,实施基于Kubernetes的PaaS容器平台以支持云平台之间的可迁移性。“基础设施即代码”原则使部署可以在任何一云平台上进行。选择与云计算无关的数据库而不是原生数据库。云平台之间的可迁移性选项(例如AWS云平台迁移到Azure云平台或从Azure云平台迁移到AWS云平台)。

    (5)对于像数据仓库或大数据和分析平台这样的数据迁移,需要使用云原生或新时代的COTS数据平台制定详细的数据迁移策略。

    (6)定义用于多云集成的平台(例如使用iPaaS和API网关平台)。

    (7)高级的云迁移和转换时间表。

    (8)高级变更管理流程,如新角色、新技能、部署流程中的变更、可能需要的其他测试(如安全/渗透测试),以及云计算新技能的培训需求

    (9)定义云计算应用限制、风险和对组织的缓解措施,例如数据安全和监管限制以及由于正在进行的战略计划而产生的影响。IT服务提供商的退出标准类似于云订阅/帐户所有权转移过程,还有云计算服务提供商退出标准。

    (10)定义云治理准则和护栏,即满足监管和合规性流程的规则、云迁移项目批准过程、运营准则和成本管理。

    (11)对于数据中心退出策略,定义高级数据中心(DC)退役过程。

    (12)云计算策略是一个不断发展的文档。很多时候,在开始实施云计算策略的时候会出现各种歧义。而在设计和规划过程中,这个策略会变得更加精确。

    1.2 应用组合评估

    进行组织范围的应用程序组合评估。这是定义组织范围的转型策略所必需的步骤。如果已经进行了评估,则可以进行进一步分析。如果组织在整体上还没有为使用云计算做好准备,则计划对准备好进行云计算转型的业务部门的应用程序进行评估。组织采用7R迁移策略:分别是重新托管(Rehost)、重建平台(Replatform)、重构(Refactor)、重新构建(Rearchitect)、替换(Replace)、保留(Retain)和退役(Retire)。评估阶段的结果是提供针对应用程序映射的7R策略之一。

    需要通过自上而下和自下而上的方法来评估应用程序。这个阶段包括通过举办研讨会、通过收集一系列调查表的答复来获得所需的应用程序详细信息。应用程序和基础设施属性也可以从配置管理数据库(CMDB)或现有的企业架构(EA)存储库中收集。对于具有较大IT足迹的企业,建议利用自动化的应用程序和基础设施发现工具来获取所需的属性和应用程序详细信息。

    标识应用程序的生命周期状态。从评估列表中筛选近期“计划退役”或已从进一步评估中“退役”的应用程序和基础设施。

    (1)数据收集

    为每个应用程序收集以下类别中的属性。

    ●应用程序属性:创建包含基本应用程序属性的清单,如功能、应用程序的生命周期状态、业务能力、支持业务单元、托管位置/地理位置、应用程序类型(Web/批处理/中间件/事务/分析等)、任何计划的升级或近期预期的更改。

    ●业务价值属性:这一应用程序对业务的重要程度,包括产生收入、提供分析报告或支持运营。捕获一些因素,如与业务战略的一致性、当前收益、业务重要性、存在于其他应用程序中的此应用程序的冗余/重复功能、用户数量、发布新功能(敏捷性)所用的时间、组织的差异化因素、用户满意度,以及这个应用程序的自动化水平。

    ●总体拥有成本:例如维护应用程序的成本、基础设施成本和许可成本。

    ●技术价值属性:应用程序与技术策略的一致性、应用程序的技术债务和性能、易支持性、易集成性、满足现代技术标准、满足非功能需求(NFR)的现状,例如模块化、可扩展性、可迁移性、可访问性、可维护性、响应时间、可恢复性、可用性、性能、开发和部署方法,以及生成的数据的质量和准确性。

    ●风险和合规性属性:数据隐私、安全和法规要求,例如数据保密级别、数据加密要求、应用程序安全要求、组织约束、本地/区域法规要求(如HIPPA、GDPR、PCI-DSS等)。

    ●云适应性:检查将应用程序移至云平台的技术可行性。并了解各种情况:例如应用程序是否具有云中不支持的硬件依赖性(设备)或操作系统(OS);如果是打包的COTS应用程序,需要检查云平台的可支持性;应用程序是否使用COBOL、C、C++等传统技术?还是在使用现代技术?检查云平台上的数据库可支持性,例如是否托管在内部部署数据中心还是第三方数据中心。

    ●复杂性:可能影响云迁移的复杂性。应用程序的分布、配置、主机数量、数据库大小、接口技术、接口数量(入站和出站)、拓扑/集群需求、负载平衡需求、代码复杂性、构建/测试/部署的易用性,以及使用的传统技术等因素。

    许多IT公司和云服务提供商(AWS/Azure/Google)都提供了免费的自动化应用程序发现和评估工具。然而,组织仍然需要人工干预和访谈来获取某些属性,以确定正确的处置策略。

    (2)分析

    重要的是要了解组织的云计算战略,这会影响部署。如果组织在短期内拥有数据中心合并或数据中心退役策略,则“重新托管”和“重建平台”处置检查可能是现有应用程序的首选。

    这也适用于那些需要更快地迁移到部分工作负载并在后期更新应用程序的组织。对于运行关键业务应用程序的底层操作系统或软件,可能存在生命周期终止支持(EOL)。这类应用程序可能是迁移到新软件版本或云平台上的操作系统版本的候选程序,在云平台上可以获得供应商支持。一些组织利用云计算转型作为对其现有IT进行合理化和现代化的机会;还有一些组织希望通过重构到受支持的容器技术堆栈(例如Docker),使采用的应用程序为容器化做好准备;一些组织利用机会将商业应用程序/数据库转换为更便宜的开放源代码以节省成本。有些组织可能将云计算视为额外容量需求的扩展;有些组织可能会将云计算平台视为构建数据湖、分析和机器学习等新功能的工具。

    例如制药厂商可能希望分析大量数据,以便为应对冠状病毒疫情更快地找到有效的疫苗。云计算也可以用于实验(例如试点/概念验证)。

    “重新托管/重建平台”策略具有较低的风险和较少的迁移工作,但是收益却较少。修复或使应用程序现代化有更多的迁移工作,但会带来更多的长期好处。评估每个应用程序的迁移风险与回报比率非常重要。由于技术限制,某些传统应用程序无法重新托管或重新构建平台,此类应用程序需要对新平台进行修正(重新构建)。在低成本硬件上托管低价值应用程序而不是进行昂贵的重构工作是有益的。

    如上所述,使用从问卷和其他属性收集的数据来分析7R处置的应用程序。提供每个类别中属性的权重和得分。其权重可以根据组织的业务策略来确定,例如上市时间对业务而言可能比提供用户体验更重要,技术债务比高可用性更为重要。

    业务能力堆映射是定义每个应用程序与业务能力的映射。确定合理化的机会,例如减少COTS许可证的机会,可以合并或替换的冗余应用程序,或者运行成本太高的应用程序/数据存储。

    组织根据业务价值、技术价值和云计算适应性的评分,可以创建各种分析模型,例如“时间”模型、“收益与迁移的便利性”、“技术价值”与“业务价值”之类的图表。这将有助于确定潜在的“快速成功”,即能够以低风险更快地迁移还可以提供成本优势,以及短期业务价值的应用程序。

    1.3 处置和建议

    创建一个决策树以达到目标云平台配置,例如具有低业务价值但云就绪分数较高的应用程序可以简单地“重新托管”,而无需花费大量精力进行“重新架构”。没有业务价值和低技术价值的应用程序可以考虑在低成本基础设施上退役或重新托管。可以考虑将业务收益非常高但是技术价值较低(即技术债务较高)的应用替换、重构或重新构建。对于具有长期利益的重新构建/重新托管方案,可以考虑采用具有高业务和技术价值的应用程序。一些IT服务提供商已经开发了分析工具,这些工具可以维护标准化的评分值和规则集以固定分析过程。

    在这个阶段,为应用程序提供高级别的建议可能是有用的。可以定义针对每个应用程序的短期和长期建议,例如短期策略可以是“重新托管”,长期策略可以是使用无服务器计算示例部署重新构建。

    1.4 商业案例

    完成高级评估后,对应用程序进行高级成本效益分析。基于内部部署基础设施运行成本、折旧和基础设施操作成本,确定应用程序的当前总运行成本。组织可以获得未来3到4年的预期支出。根据应用程序和数据库的配置,创建具有适当实例大小、实例类型、存储、网络组件、PaaS服务的目标基础设施清单。

    组织需要确定未来3到4年内目标云计算应用程序的运行成本,确定云迁移的大概成本。如果转移到云平台中,需要确定关闭当前运营基础设施所节约的成本。使用各种云计算提供商的折扣、长期定价计划和好处也可以降低成本。

    组织的云计算投资通常将在2至3年内实现。比较在不同云平台上托管的成本。可以使用云计算提供商的在线TCO计算器/月度支出计算器来计算费用。将附加的无形好处(如敏捷性、弹性、灵活性和可扩展性)作为其业务案例的一部分。

    这一业务案例将为业务所有者和组织高管提供启动云计算项目的决策点。在应用程序和数据在云平台上迁移之后,包括云优化的练习也很重要。

    1.5 云计算业务办公室

    对于成功的云采用和价值实现,在组织中进行有效的战略监督和治理非常重要。组织需要建立云计算业务办公室(CBO),其中拥有组织高管、关键业务利益相关者、应用所有者、基础设施负责人、安全主管、工程主管、运营主管、采购团队、风险与合规性以及推动并实现云转型。云计算业务办公室(CBO)的目标是定义转型目标和目的,在整个组织内推动云战略,提供预算、架构标准、变更管理,启动和管理云迁移项目,通过度量指标和效益跟踪价值实现。

    每个角色都有长期或短期的责任来支持云计算业务办公室(CBO)的目标和云计算应用决策。这种职能或部门也可以称为云计算策略办公室(CSO)或云计算卓越中心(COE)。

2.设计与规划

    在这一阶段,将对应用程序进行详细评估,并定义最小可行的架构以实施云迁移策略。在这一阶段还可以改进云计算策略。

    ●详细评估:分析计划使用代码扫描程序进行重构的应用程序代码/软件。有许多商业工具可用于扫描代码以进行重构。Azure云平台和AWS云平台还提供了代码扫描工具,例如.NET的.NET可迁移性分析器/迁移助手等。还有诸如AWS App2Contaner之类的工具,它们甚至可以将应用程序容器化,并将其部署在容器平台上。组织还要分析用于重新托管、重建平台和重新配置应用程序的功能和代码,并确定任何风险和阻止因素。

    ●转型路线图:根据所做的努力和评估来定义云迁移计划。将应用程序与公共依赖项和数据库分组。为每个这样的组定义迁移。分组也可以通过组织功能/域或技术功能(例如Webapp、中间件、核心交易系统、大数据等)完成。通过复杂性确定应用程序的优先级。计划具有低风险并且不太复杂的应用程序的迁移。

    例如,简单的Web应用程序或报表应用程序可以被视为早期行动者。组织可以确定敏捷过程方法和团队结构,识别迁移用户案例和sprint的数量,定义迁移团队的结构,并通过将其分为部落和小队来确定合适的团队规模。一些组织可能将其称为POD结构。

    组织还要定义应用程序的迁移、测试和切换计划的生命周期阶段。成功的迁移将创建用于移动其余应用程序的模板,使应用程序现代化(重新构建或重构)可能需要更多的时间和长期策略,为迁移应用DevOps和敏捷方法(例如Scrum、SAFe)。

    ●目标架构:定义应用程序、数据和网络组件的目标部署架构。由于云迁移是以敏捷的方式规划的,因此定义一个简单但足以实现迁移的架构(最小可行架构)是很重要的。定义现有应用程序和数据库在迁移期间将转换的目标技术、软件/操作系统版本和数据库版本。

    组织需要考虑应用程序的数据库依赖关系、接口、外部集成和数据迁移需求。对于数据和相关应用程序将驻留在内部部署设施的情况,需要考虑混合云架构。这种架构将在云迁移期间不断发展。

    组织要做出架构决策,并获得利益相关者的支持。设计具有高可用性、负载平衡和性能的架构,并遵循“适合用途”的原则。毕竟,云计算是为可扩展性和可用性而构建的,因此避免过度工程化。

    ●DevOps:DevOps如今已经成为各行业组织实现转型和现代化项目的事实上的标准。每个迁移POD团队都应遵循DevOps流程。对于某些应用程序(例如COTS),DevOps可能不相关或无法应用。在架构决策中调用此类应用程序。这样的应用程序可以遵循目标云平台现有的构建和部署方法。

    组织需要确定用于在目标云平台上构建、测试、部署和监视应用程序的工具,有许多云原生选项可用。设计DevOps管道(例如使用Jenkins/AWS代码管道/Azure DevOps等)。在部署之前考虑代码漏洞扫描和安全测试。在可行的情况下,计划自动化这些步骤(例如测试)。定义源代码的管理和版本控制方式(例如,使用Github存储库和分支)。定义如何捕获和跟踪用户故事(例如,使用Jira之类的工具)。定义现有应用程序在投入生产之前将要部署和测试的各种环境。

    对于每个应用程序来说,迁移过程必须是持续的(持续集成/持续交付)和迭代过程,直到满足所需的测试KPI。定义应用程序支持过程以及如何在后期制作中监视问题。从代码更改、部署到运营,DevOps团队应拥有该应用程序。

    ●概念验证(POC):在云平台中进行概念验证。无论是应用程序迁移还是数据仓库迁移,在云计算环境中进行尝试迁移都将给组织带来信心。概念验证(POC)将帮助组织根据当前的组织流程、连接性和环境依赖性来确定问题和差距。在迁移时应用DevOps流程和工具,并选择中等复杂的重新托管和重构应用程序(例如POC),通过它可以解决大多数迁移用例。概念验证(POC)将帮助组织完善目标应用程序和基础设施。

    ●云计算基础设施和安全性设计:这是设计阶段一个非常重要的部分。这是关于定义目标架构的技术着陆区。AWS着陆区域的示例将包括网络组件,如专有网络数量、数据中心连接、专有网络间通信、子网、API网关等。

    组织还要关注计算和存储(如EC2、EKS、ECS、RDS、SQS、S3等)、安全组件(如IAM组、用户组、IAM策略、现有企业用户的AD SSO)、网络级别的安全组和端口控制。定义组件的标记(标签)规则。环境的访问控制机制,并使用基础设施即编码原则来定义基础设施。组织还要利用新工具,如云原生基础设施创建服务或独立于云计算的开放源代码,例如terraform。设计与DevOps工具的集成,以轻松创建基础设施。该设计应涉及以下方面:

    云计算基础设施组件和服务;集成层;大数据和分析组件(如果适用);网络连接;混合云网络连接拓扑(定义到数据中心和外部云的位置/区域连接);高可用性设计;以及灾难恢复方法。

    ●安全架构应解决的问题:访问和身份管理(如AD集成、AWS帐户和组织);访问环境/应用程序和数据库的安全控制和过程;安全审计和监控(如SIEM集成);数据安全和加密;以及漏洞/补丁管理过程的评估。

    ●云计算运营模型:云计算运营模型是关于组织将如何实施其云计算转型的全部内容。它由人员、流程和工具组成。人员是推动云计算项目成功的关键。

    组织需要确定与云计算业务办公室、业务/域、运营、安全和DevOps相一致的利益相关者、团队结构和角色;确定应用程序和数据治理流程和策略;确定合规性要求和解决方法。

    还可能存在创建集中式、分散式或共享操作模型的策略。分散运营是首选模式,因为它提供了更多的灵活性和成本管理。然而,这种模式可能还有一些局限性。

    ●变更管理:云计算转型需要适应流程技术和工具的变化。治理和基础设施控制将发生变化。解决现有团队可能必须承担的不同角色所需的新变化。为员工制定技能培训和云计算培训计划。组织制定一个计划来弥补新技能的差距。

    云迁移主要是一种技术变革。许多组织都涉及顾问委员会(CAB)的变更,该委员会负责审查和批准此类转换变更。除非事先与利益相关者进行良好的沟通,否则传统的顾问委员会(CAB)批准可能会阻碍云迁移。组织需要考虑使用企业变更管理工具(例如ServiceNow、BMC、Jira服务台、Freshservice等)来管理和控制整个云迁移过程。

    有一些工具可用于完成环境访问控制、资源调配、计费/成本控制、安全监控、事件管理、版本管理以及更改管理和批准流程。或者,使用云原生服务(例如AWS Config、CloudTrail、服务目录、AWS控制台、AWS组织、trusted advisor等)以及实现这些任务的企业工具。

3.下一步发展

    下一步是“迁移和转换”。组织需要部署POD团队,按照设计迁移应用程序和数据,并在前面的阶段进行规划。而“管理和优化”阶段是关于管理云平台上的基础设施、应用程序和数据迁移。 

责任编辑:程玥
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
读者评论 (0)
请您登录/注册后再评论