云1.0专注于基于虚拟化的基础架构即服务(IaaS)。云2.0引入了云原生服务,比如大数据、人工智能/机器学习、可扩展中间件服务以及基于容器化等概念的开发。
云的下一站将是哪里?我认为,云3.0将专注于大规模的随地计算——想象一下“分散式全球计算机”:从云到边缘完全呈分布式,驻留在多个位置,而且永不消亡。
为什么分散式很重要?
如今,AWS、Azure和GCP等公共云大多是集中式的。虽然公共云有多个区域,但每个区域基本上仍是一个数据中心。托管在这种区域的应用程序将以典型的客户端服务请求/响应方式为远地的客户提供服务。
随着越来越多的数据在边缘生成,由于“数据引力”,计算自然更靠近数据所在的位置。 5G等技术可尽量减少网络延迟和带宽方面的限制,但无法解决边缘端处理的需求。比如说,如果零售商店想要获取客户的照片用于图像识别,从而向客户的手机推送一些促销信息,那么最好在本地商店处理该图像,而不是通过WLAN将图像发送到集中式云区域。还有一些使用场景需要更多的本地用户交互,比如AR/VR。
分散式云方法的另一个优势是,参与者可以在需要时互相提供资源。可以分解资源孤岛,以便全世界看到基础架构过度配置的现象大大减少。
我们已经看到公共云提供商将其业务扩展到边缘。这些跨多个云和数据中心的位置和投入为真正全球化的对象提供了坚实的基础架构入网点基础。
差距和挑战
虽然“云3.0”可能是自然发展的过程,但我们才刚开始探讨企业想采用云3.0而需要解决的问题:
1. 安全和控制是要考虑的首要因素。这类似早期的私有云与公共云之争。企业花了十多年的时间来拥抱公共云。云提供商要证明自己在安全、运营效率以及工作负载和网络的隔离方面做得更到位。即使这样,企业仍会采用混合云或多云。没有人想把所有的鸡蛋都放在一只篮子里,一些云对于某些工作负载来说更好。
完全分散式的全球“公共”云将很难被企业吞噬,如果企业的工作负载将在无可见性的不受信任的计算环境上运行时更是如此。由于所有内容都是分布式的,网络和数据的物理隔离几乎不可能。需要转变观念才能转向逻辑隔离。
企业将青睐专用的“私有”分散式云,这是覆盖在现有公共云和私有云上的系统,它使用自己的公共云帐户和本地基础架构以便拥有控制和信任。
2. 要求重写应用程序会减慢采用速度。早期的分散式计算平台要求开发人员使用专有的编程语言或PaaS服务来创建可在其平台上运行的应用程序。比如说,提供FaaS产品的CDN提供商、拥有类似Javascript的编程语言Solidity的以太坊,或拥有分散式NATS消息总线服务的Synadia。为了充分利用平台并将某些互连隐藏在幕后,可能需要这么做。然而,这阻碍了采用——不仅重写应用程序是大笔投入,企业选择获胜者面临的风险也很大。
这让我想起了2009年《加州大学伯克利分校关于云计算的观点》中的预测。它描述了两种竞争性的云方法:基础架构即服务(比如AWS EC2)和平台即服务(比如谷歌应用引擎)。该文预测PaaS会腾飞,因为它会隐藏基础架构的复杂性,并提供简单的编程接口以使用服务。《加州大学伯克利分校关于无服务器计算的观点》于2019年发布时,作者承认:“市场最终接受了亚马逊对云计算采用的低层虚拟机方法,因此谷歌、微软及其他云公司提供了类似的接口。我们认为,低级虚拟机成功的主要原因是在云计算的早期,用户希望在云端重建与本地计算机上同样的计算环境,以简化将工作负载移植到云端的过程。实际需要应放在纯粹为云编写新程序之上,如果不清楚云会有多成功更是如此。”
如今,AWS同时提供IaaS服务和PaaS服务。两者都很重要,但IaaS之所以先得到采用,是由于最初如何使用它得到更好的了解。成功地转向云3.0将立足于如今熟悉的开发工具和平台上,比如容器和Kubernetes,但采用多云和多集群的方式。另外的分散式服务和平台会逐渐开发出来。
3. 罗马不是一天建成的,分散式云也是如此。企业采用和迁移到分散式云不会一蹴而就,这将是个过程。此外,服务仍将驻留在本地或公共云上,因此与它们协同运行很重要。
迁移到分散式云时,第2层或第3层级别的站点到站点VPN/VPC对等互联再也行不通。大多数服务访问控制将必须迁移至应用程序服务级别的第7层。服务网格将发挥重要作用,并将扩展到其他集群,并且与现有的旧服务互连。
使一切无缝操作需要计算平台协调并放置另外的服务网格网关,以实现服务可访问性控制的自动化。
虽然完全分散式的普适计算平台这个概念令人关注,但要实现该目标仍然需要克服许多问题。在今后几年,我们会在新的使用场景和实施方面看到更多的进展。
原文标题:Top 3 Challenges to Cloud 3.0,作者:Tenry Fu