和大家印象相反的是,公有云优势是”弹性”以及“弹性”对于启动新业务的总体开销下降。而对于绝大部分客户的成熟”现金牛“业务来说,总拥有成本(TCO, Total Cost of Ownership)是更重要需要面对的问题。而使用单一提供商带来的供应商锁定的问题 (lock down),即我们经常说到的“店大欺客”,实际上是一个无解商业困境。那么由于成熟业务和相关数据迁移到其他供应商的成本高昂且周期较长,只依赖于一个供应商会使企业失去基础架构的议价权,无法完全掌握自己的命运。一个著名的的例子是 Netflix,作为亚马逊最大的客户之一,他们大部分的在线服务和分析业务都依赖于亚马逊所提供的服务,因此逐年上涨的使用成本也成为他们财报上的一大压力。所以越来越多的企业在设计新业务架构时,也逐渐将不同阶段起步的业务分布在不同的基础设施和供应商处,从而一定程度缓解单供应商锁定的问题。
企业在向云数字化转型过程中通常有几种典型的架构,比如,在《6 Multi-Cloud Architecture Designs for an Effective Cloud Strategy》 一文中,以作者提到的较为复杂的应用程序现代化为例,他建议将多应用云原生化,作为一个组合部署到多云,如下图所示:
图 2:应用程序现代化迁移策略
然而如果仅仅应用这种多云策略,这仍然是一种事实多云。其主要问题在于,随着多云市场的逐渐成熟,云的概念本身在不断扩展。除了公有云和企业自有设施 (On premise) 外,主机托管云(Co-location)能够帮助企业内部 IT 可以从繁重的运维中解放,减小运维数据中心的成本。同时,随着我们进入 5G/IoT 时代,边缘终端数量和部署场景的爆发式增长,去中心化架构的流行,边缘云也成了企业云版图中不可或缺的一部分。因此在考虑多云架构时,除了传统的企业自有云和公有云外,也需要考虑不同平台的特征来为数据和应用选择其最合适的数据平台,最大程度节省企业的成本。
再次,我们要考虑如何实现数据的灵活迁移,数据要流动起来才有价值。假设我们已经统一了存储数据层的 API 接口,那么让数据在多云间同步就有了良好的基础。我们可以在每个云中部署一个 data movement 服务,根据设置好的同步策略,实现特定重要数据的云间同步。例如,基于 data movement 服务实现一个多云间共享且满足一致性协议的对象桶,在保证了多云间数据可靠性的同时,客户通过任意接入点,都能得到这个对象桶的统一数据视图。