Cloud 1.0专注于基于虚拟化的基础设施即服务(IaaS),Cloud 2.0引入了云原生服务,如大数据、AI/ML、可伸缩中间件服务,以及基于容器化等概念的开发。
云下一步会去哪里?笔者相信Cloud 3.0将专注于任何地方的大规模计算——想象一下一个“去中心化的全球计算机”,它从云到边缘完全分布,存在于多个位置,永远不会消亡。
为什么去中心化很重要 ?
今天,像AWS、Azure、GCP这样的公有云大多是中心化的。尽管公有云有多个区域,但每个区域基本上仍是一个数据中心。托管在此类区域中的应用程序将以典型的客户端服务请求/响应方式为远程位置的客户端提供服务。
随着越来越多的数据在边缘生成,由于“数据重力”,计算自然会向数据所在的位置靠拢。5G等技术可以最小化网络延迟和带宽限制,但无法解决边缘处理的需要。例如,如果一家零售店想要捕捉客户的照片进行图像识别,以便对客户的手机进行一些推送促销,那么最好在商店处理图像,而不是通过WLAN将图像发送到中心的云区域。还有一些用例需要更多的本地用户交互,例如AR/VR。
分布式云方法的另一个优点是,参与者可以在需要时相互提供资源。资源孤岛可以被打破,这样就不会有基础设施的过度配置。
我们已经看到公有云提供商将其业务扩展到更靠近边缘的位置。这些位置和投资,跨越多个云和数据中心,为真正的全球化提供了坚实的基础设施的存在点基础。
差距和挑战
虽然“Cloud 3.0”是一个自然的演进,但我们才刚刚开始解决企业需要解决的问题:
一、安全和控制必须是首要考虑因素。这类似于早期的私有云与公有云的争论。企业花了十多年的时间来接受公有云。云提供商必须证明他们在安全性、运维效率、工作负载和网络隔离方面做得更好。即便如此,企业仍然是混合或多云的;没有人愿意把所有的鸡蛋放在一个篮子里,有些云更适合某些工作负载。
一个完全去中心化的全球“公有”云将很难被企业所接受,特别是如果他们的工作负载将运行在不可信的计算环境中而不具有可见性。网络和数据物理隔离几乎是不可能的,因为一切都是分布式的。需要转变思维方式想到逻辑上的隔离。
企业会更喜欢一个专用的“私有”去中心化云,它覆盖在现有的公有云和私有云上,利用自己的公有云帐户和内部基础设施,以便拥有控制权和信任。
二、重写应用程序将减慢采用速度。早期的去中心化计算平台要求开发人员使用专有编程语言或PaaS服务来创建可以在其平台上运行的应用程序。例如,提供FaaS服务的CDN提供商、使用类似Javascript的编程语言Solidity的Ethereum,或者为应用程序提供分去中心化NATS消息总线服务的Synadia。这可能是充分利用平台的必要条件,并在后面隐藏了一些互连。然而,这阻碍了应用程序的采用——重新编写应用程序不仅是一项巨大的投资,而且也是一项风险。
这让笔者想起2009年伯克利对云计算的预测。它描述了两种不同的云计算方法:基础设施即服务(如AWS EC2)和平台即服务(如Google App Engine)。它预测PaaS将会起飞,因为PaaS隐藏基础设施的复杂性,并提供简单的编程接口来使用服务。当伯克利在2019年发布无服务器计算的观点时,作者承认:“市场最终接受了亚马逊对云计算的低级虚拟机方法,因此谷歌、微软和其他云公司提供了类似的接口。我们认为,低层虚拟机成功的主要原因是,在云计算的早期,用户希望在云中重建与本地计算机相同的计算环境,以简化将工作负载移植到云中的过程。实际需求,明智地说,比为云编写新程序的优先级更高,特别是不清楚云会有多成功。”
今天,AWS提供IaaS和PaaS服务。两者都很重要,但IaaS首先被采用是因为最初能让大家更好地理解如何使用它。成功过渡到Cloud 3.0将建立在熟悉的开发工具和平台上,如容器和Kubernetes,但采用多云和多集群的方式。随着时间的推移,将开发更多去中心化的服务和平台。
三、罗马不是一天建成的,去中心化的云也不是。企业采用和迁移到去中心化的云不会一蹴而就——这将是一个过程。此外,服务仍然存在于内部或公有云上,因此与它们的互操作性将非常重要。
当迁移到去中心化的云时,第2层或第3层的站点到站点VPN/VPC对等设置将不再可行。大多数服务访问控制将必须移动到应用程序服务级别的第7层。服务网格将发挥重要作用,扩展到其他集群,并与现有的遗留服务互连。
要使一切无缝,将需要计算平台编排和放置额外的服务网格网关,以自动化服务可访问性控制。
虽然一个完全去中心化的无处不在的计算平台的概念很有趣,但仍有许多事情需要解决才能实现。在未来的几年里,我们将看到很多的关于新用例、实现的发展。
原文链接:
https://thenewstack.io/top-3-challenges-to-cloud-3-0/