2.3 迁移到云的七步模型
通常情况下,迁移到云是分期或者分阶段实施的。迁移到云的一个结构化和面向过程的方法自身有一些捕获众多迁移项目的最佳实践的优势。由于迁移是一个非常艰难和模棱两可的问题,学者对此并没有太大的兴趣,行业的从业者也是如此。并非整个行业都在努力巩固所赚取的最高收益与客户的长期痛苦。经过充分的研究和实践,本书分享的迁移到云的七个步骤模型可以作为在企业范围内理解云计算和利用云计算提供服务产品的一部分。图2.4以一种简洁的方式展示了迁移到云的七步模型,图2.5则展示了迁移到云的七步迭代过程。
云迁移评估包含对认识问题的评估,其中包括对应用程序级或代码、设计、体系结构或使用级的具体情况所涉及的问题进行评估。此外,迁移评估所使用的工具、测试用例以及配置、功能与云迁移评估的非转售(NFR)组成评估企业应用。这推动了富有意义的全面迁移策略的制定。迁移七步模型的迭代过程的第一步是基本评估。一起利用定价参数的各种方法迁移的概念或者原型证明可以做出适当的评估。
这些评估是迁移成本在生产版本的情况下,能够实现的投资回报率。下一个过程的第一步是在专用数据中心内隔离所有企业应用程序组件的系统性及环境性依赖关系。反过来,这也产生了迁移复杂性级别的问题。完成隔离之后,接着应该停留在本地专用数据中心到云的映射构造。相当一部分的企业应用程序或许需要重建、重新设计并在云上重新实现。这得到的仅是原有企业应用程序的功能。这种迁移或许会丢失某些功能。在接下来的处理步骤中,本书利用云计算服务的内在功能以自己的方式增加企业应用程序。增加完企业应用程序之后,接着用大量的测试套件验证和测试企业应用程序的新形式,其中测试套件还包括运行在云上的企业应用程序测试组件。这些测试结果可能是积极的或迷惑的。在后一种情况下,本书需要迭代并优化适当内容。经过几轮优化迭代之后,则认为迁移是成功的。本书的最佳实践表明,最好是在这七步模型的优化过程中迭代,并确保迁移到云的(功能)强大性和全面性。图2.6显示了迁移到云的七步模型所累积的最佳实践的典型组件。尽管列举的不是很全面,但具有一定的代表性。
与迁移到Amazon AWS的典型做法相比,本书的七步模型比较富有通用性,功能全面。通常情况下,迁移到Amazon AWS分为好几个阶段和步骤。在Amazon网站的白皮书中提到了六个步骤:第一阶段是云迁移评估阶段,其中的依赖关系是孤立的,制定战略处理这些依赖关系;第二阶段是试用概念验证(proof of concept)构建一个参考迁移架构;第三阶段是数据迁移阶段,在这个阶段完成数据库数据的分段和清理,这一阶段还试图利用各种云存储作为最适合的选项;第四阶段包括应用程序迁移追求其中一个“叉车式策略”(forklift strategy),随着它的依赖关系(其他应用程序),关键企业应用程序迁移到云中,或者可能使用“混合迁移策略”(hybrid migration strategy),企业应用程序的关键部分保留在本地专用数据中心,而非关键部分则移动到云中;第五阶段包括利用Amazon AWS的各种功能,如弹性、自动伸缩、云存储等;在第六阶段,优化云迁移。这些阶段是IT人员迁移企业应用程序的典范,它们未触及其内部结构,而只在配置层面——这与典型的IaaS云计算产品完全匹配。然而,这仅是本书七步迁移模型的一个子集。对于Amazon云产品而言,这是很具体的和专有的。
迁移的风险及风险缓解
云迁移项目的最大挑战是如何高效地鉴定迁移风险并缓解它。在云迁移的七步模型中,测试和验证的过程步骤包括鉴定关键的迁移风险所做出的努力。在优化这一步骤上,本书提出了各种方法缓解鉴定迁移的风险。
迁移到云的迁移风险可分为两大类:常规迁移风险以及与安全相关的迁移风险。在前面,本书解决了包括性能监控和调优在内的一些问题。从本质上找出所有可能的生产层面的异类;云计算服务领域中的业务连续性和灾难恢复;遵守标准和治理问题;IP和许可问题;服务质量(QoS)参数以及相应的SLA承诺;应用程序中数据的所有权、传输及存储;有助于缓解潜在供应商锁定(lock-in)可移植性和互操作性问题;轻视和不理解迁移的复杂性问题使得迁移失败,高级管理人员在这些努力中丧失了商业信心。
在安全性方面,云迁移的风险很大,这已在云安全联盟[8]公布的指导性文件中进行了阐述。除了信任问题和隐私问题之外,还包括各种层次的企业应用程序适用于云的安全性问题。有几个迁移策略和实施必须遵守的法律法规,其中包括获取正确的执行日志以及在详细的级别保留所有审计跟踪权利——当前可能无法完全有效。当前的云计算服务厂商在治理问题上有一些缺点。多租户问题以及在云计算环境中IT数据泄漏的影响是公认的,然而并没有充分验证阻止此问题发生的解决方案的健壮性。漏洞管理和突发事件的反应质量的主要方面有待云服务厂商大力支持。最后,还有一致的身份管理问题。这些问题在2.1节中已经讨论过。随着适当的云计算的实现,图2.3中列出的问题和挑战依然是持续研究和工程挑战。