观点 | Opinion
关于云迁移的经验总结
Alois Reitbauer是Ruxit公司的首席布道师。在他职业生涯的绝大部分时间里,他都在进行监控工具构建以及应用性能微调。他常以演讲嘉宾的身份出席会议,同时他还是一名博客作者、作家和寿司狂人,Alois近期的工作地点是Linz、Boston和San Francisco。
在近期举办的Dynatrace Perform大会上,我与不同类型的技术公司就云迁移这个话题进行了广泛的交流。所接触的专家从SaaS公司到电子商务公司和云服务提供商。公司规模大小不一,既有初创型规模的,也有大至巴西最大的电子商务公司之一,以及建立SaaS业务的公司。尽管这些公司之间颇为不同,但他们对云迁移项目的关键要点有着高度一致的看法。本文涵盖了前5大共识。
总会发生迫使你转向云的事情
讨论小组都认同,实施云迁移不是平白无故做出的决定。所有的与会者都是因为遇上了不可抗拒的事件,才被迫转向云的。对B2W来说,这个不可抗拒的事件就是,在一次严重的生产事故后,他们决定朝微服务的方向去重构整个环境。当基于交易量来动态扩展独立组件成为云战略的一个关键部分时,迁移到云端也就成为了他们战略的关键组成。对行业领先的BAR考试服务提供商BARBRI而言,驱使他们决定向云迁移的关键动力来源于数据中心的重建需求。
向云迁移的关键约束在于成本
当问及迁移到云的动机时,第一个想到的就是降低成本。所有的与会者都同意,降低运行成本是云迁移的核心驱动力。对更小的初创公司来说,IaaS的弹性模型使它们能够对所需的基础设施进行及时的投资。对成熟的公司而言,走向云迁移的关键事件是对重建数据中心的再投资。一旦你面临一笔大的投资,就会对战略问题三思而后行。“对我来说,当下在数据中心上的花费是我的首要成本。”BARBRI的IT主管Mark Kaplan说。需要重点指出的是,低成本的收益需要一段时间才能显现出来。在过渡期,公司同时运行云和非云设施。“仍然需要为接下来的两年时间做好成本节约计划,以保障项目成功”, Kaplan指出。
APM工具的相关工作应在CIO议程上
实施云迁移同时带来了一件有意思的事情,APM工具的相关工作不能缺席CIO议程。通过云服务的弹性和灵活性,公司能够更直接和快速地进行成本优化。BARBRI的Greg Birdwell指出,“我们使用APM工具不光是为了监控基础设施的健康度。如果我发现有服务消耗的CPU或内存资源较其它服务少很多,我就能切换到更廉价的实例上去。这能立即为公司节约成本。”BARBRI的Mark Kaplan说,他们使用Ruxit来精确地缕清环境的依赖关系和资源需求,这些都是完成迁移的基础。全球各地的CIO们盯着APM工具,根据监控数据计算成本收益,这样的景象也许我们还要再过一段时间才能看到,但事情的发展正在朝这个方向演进。
敏捷压倒成本收益
从讨论小组那获得的一个令人非常惊讶的事实是,尽管降低成本是云迁移的一大核心动力,但所有的与会者都认同他们现在花在云基础设施上的钱更多了。“如果运行在一个传统的数据中心上,对我们会更便宜。” Stilnest的Michael Aigner说。“但我们还是把宝全部押在云上,因为我们获得了比节省一小笔钱更宝贵的东西:敏捷。”所有的小组成员都认为云服务通过支持新功能的敏捷开发模式,从而帮助产品获得更短的上市时间,这点是客户们非常欣赏的。
云迁移影响了文化
与会者认为,云迁移不是一个技术或经济游戏规则颠覆者,实际上它广泛地影响到了公司的文化。一旦开始运行在云上,你就已经转向DevOps了。“我们所有的基础设施现在都在代码里” Stilnest的Michael Aigner说道。“我期望我们的运维团队能更像开发人员,像开发人员那样工作”, B2W公司的Alexander Ramos说。开发人员持续不断地投入到生产问题的解决中,根据Ruxit的Anita Engleder的说法,以DevOps牵头常常促使开发团队成为应用运维的一部分。Engleder认为“不管怎样,开发人员都比我更了解他们自己的代码,所以他们应当为监控负责”。B2W公司的Alexander把这点推向了一个极端:“我给开发人员发了寻呼机,他们和其他人一样都随时待命。这改变了很多东西。”
遴选云服务提供商是一大挑战
讨论小组认为,遴选出合适的云服务提供商是一个重大的挑战。云服务提供商的选择依赖于你对基础设施的需求以及云服务提供商自身的灵活度。同时,当评估价格点时,就不仅仅只需考虑基础设施状况了。“如果你想要办件事情,就会希望电话那端能有人指望得上。可靠可信任的合作伙伴对云迁移的每一步都很关键。” CenturyLink Cloud的Bob Stolzberg说。
成功的迁移建立在严谨规划的基础上
CenturyLink的Bob Stolzberg指出,管理层的赞助支持和端到端的规划对成功交付非常关键。Bob Stolzberg经历过了非常多的迁移项目,他的建议相当清晰:“制定一个执行计划,争取成功完成,但不要追求完美”。Stolzberg说,“你还需要制定回滚策略。如果事情搞砸了,就会想要重回安全节点。”
云迁移不代表迁移到公有云上
对许多公司来说,云迁移意味着迁移到公有云上去,事实上往公有云迁移只是其中的一个选项。尤其是当监管方面的要求非常重要时,公有云就力不从心了。Avocado咨询公司的Romain Bigeard指出,这类情况公司的出路是投奔私有云。他认为“利用私有云基础设施也能够获得云环境带来的许多好处”。对这类公司,关键是构建一个可编程的基础设施,进而提高在软件交付过程中的敏捷度。
做出正确的行动
对会谈参与方做的一个非正式的调查显示了来宾们云迁移战略里头更深层次的内容。大多数决定先从迁移新应用到云端开始。一旦积累到一些经验了,然后开始迁移已有的前置应用到云端。要么一次性把所有的都迁移过去,要么一开始只迁移某些应用服务到云端。
基础设施即服务是迁移最常见的原因
尽管云服务提供商还提供了类似容器即服务(Containers-as-a-service)和PaaS的选项,来宾们仍然更青睐基础设施即服务。此外还有许多额外的云服务可以优化应用交付。
理解依赖关系是最大的挑战,紧随其后的是规模估算
云迁移最大的挑战是理解现有基础设施内的依赖关系,这点得到了广泛的认同。“有时我想知道为什么这两个应用之间存在会话。但找不到说明文档,所以我不得不甩开Ruxit上的所有数据” B2W的Alexander说。排在挑战榜单第二位的是规模估算。不同规模的云实例的价格差异非常明显,因此从节约成本的角度来看,关键在于选用正确的实例类型。传统上,公司为安全起见会购买足够大的机器。而在云上,公司只想买最小可能的基础设施,有需要时再进行扩展。尤其是在变动场景下,目前数据中心服务器的规模常常是过度配置了。正如前述所提到的,基础设施上的花费直接即时,节约成本是关键。
云监控也不尽相同
一旦迁移到云端上了,很多事情就变了。所有这些全新的云服务成为应用的一部分的同时,也意味着需要使用工具进行原生监控和管理应用。挑战榜下一个是云环境的扩展。成本节约背后所有的理论要求只运行所需的,在纸面上也许很好做到,但是如果除了基于资源消耗的扩展,工具对其它方面只提供了非常有限的功能,这时自动扩展环境显得很困难。成本节约最终会是成果显著的,但在一开始你需要把注意力放在确保迁移努力确有成效上面,而不是让其影响了性能和用户体验。等所有事情都正常运行了,才在扩容和缩容这两个方向上进行容量规划,并经常性地这样操作。在一个基于价格模型的消费世界里,时间能造就其中的财务差异。