为什么多云管理一团糟
绝大多数企业都在进入多云的未来,但多云管理说起来容易做起来难。
如果在Twitter上快速搜索,就会发现运行多云基础设施就像给一些大型供应商支付款项一样容易。例如,IBM公司宣称,“IBM MultiCloud Manager将所有客户的云计算环境集成在一个视图中,从而能够对客户的查看方式、管理和自动化进行最佳控制。”因此,用户无需担心相互冲突的基础设施、无服务器的应用程序或任何混乱的现实。只要有良好的控件和管理,一切都很好。不幸的是,它不是那样工作的。
正如Sabre公司企业技术运营高级总监Dominic Briggs所说的那样,运营多云的现实是,越来越多的企业使用特定的云平台来处理特定的工作负载。为什么?因为不同的云平台在某些事情上比其他的云平台还要好。考虑到即使企业都是以一个云计算供应商为目标,最终也会使用多个云计算供应商的服务,那么企业该如何缓解其多云管理难题呢?
多云的神话和现实
当然,很多企业致力于解决多云问题。即使企业感觉做的很好,仍然会面临多云混乱的现实。
正如一家主要云计算提供商的一位员工所说的那样,“只要有计算机,就会有人试图创建抽象层,使应用程序可以在这些计算机上迁移,而这些抽象层总是存在缺陷。”
那么在云平台,其根本缺陷是什么?云平台的抽象层或者不公开最常见的特性,这意味着用户将永远无法使用硬件(或云计算)平台的高级特性,或者公开每个平台的独特特性,在这种情况下,企业应用程序不再是可迁移的。
还记得Briggs关于“特定工作负载的特定云”的评论吗?企业越来越愿意接受AWS云平台上的无服务器功能,以及谷歌云上的机器学习/人工智能工具,或Microsoft Azure,以便与Windows服务器环境轻松集成,就越能真正地集中管理多个云平台上的应用程序。他说,如果企业希望跨多个云平台实现一致的管理,则不能使用这些云平台的任何独特功能。一旦决定使用RDS或DynamoDB,那么企业的应用程序会突然发现无法迁移到另一个云端。
在某些方面,这代表了真正的进展,并提供更精细的控制,但它仍然是一个不完美的方法:即使用户表示只会处理容器,因为这些容器运行在虚拟机中,它们使用存储和网络,而虚拟机、存储和网络服务在云平台上是不同的,所以不能简单地管理它们。
用户可以像Saber一样选择像Red Hat OpenShift这样的工具,但这不是一个完美的解决方案。首先,AWS云平台上的负载均衡器和存储选项与谷歌云平台或微软Azure或本地上的负载均衡器和存储选项不同。有不同的选项、不同的配置字段、不同的对象名称,但没有一劳永逸的方法会给这种混乱带来良好的秩序。
关注云平台差距
Kubernetes确实提供了一些希望。正如Citus Data公司首席执行官Craig Kerstiens所建议的那样,Kubernetes也提供了一种通用的抽象(将所有云的最小值提取出来),它并不理想,它确实让企业走上了通向理想的道路。他说,“对于理想情况,用户需要云计算供应商根据自己的兴趣来看待它,但他们并不这样做。如果不同的云计算供应商希望它发生,它将是有保证的并且相对简单。因为事实并非如此,这是一个挑战,但即使没有合作,也肯定会在整个范围内实现。”
Briggs建议,在这个“非理想”的过渡阶段,有一些基于Kubernetes的工具,如Red Hat OpenShift,可以处理多云混乱。Sabre公司希望该行业能够达到云计算基础设施真正商品化的程度,所以OpenShift为用户提供了一层抽象,允许用户选择的AWS和Azure云平台之间迁移工作负载。Sabre公司围绕监控和安全等构建其他内容,然后使应用程序部署可重用,并从底层基础设施中抽象出来。
VMware公司也提供一些有用的工具(例如Red Hat公司一些基于Kubernetes的构建工具)。为了帮助缓解多云噩梦,VMware公司提供了CloudHealth、Wavefront和VRA等工具,这些工具能够管理每个云平台上的本机服务。VMware还提供工具来帮助简化混合云(内部部署和云平台的混合),其重点是使vSphere平台在本机云上运行(例如,AWS上的VMware Cloud)。通过这种方式,VMware公司正在为企业运营模式的标准化提供帮助,但它并不能解决企业在每个云平台上仍然局限于vSphere的特性和功能的问题。因此,如果企业想使用像Amazon RDS这样的东西,那么将回到多云。