天空计算——云计算的下一个时代?
背景介绍
根据加州大学伯克利分校的两位杰出计算机科学教授Ion Stoica和 Scott Shenker 的说法,我们即将从云计算时代过渡到“天空计算”时代。
顾名思义,天空计算是云平台之上的一层——其目标是实现云之间的互操作性。
Stoica 教授曾正确预测云计算的未来,早在 2009 年 2 月,他和伯克利的一群学者发表了一篇关于当时新兴的云行业的有影响力的论文。
当时,亚马逊网络服务刚刚成立几年,谷歌唯一的云产品是 App Engine,微软的 Azure 尚未正式发布。2009 年的论文得出的结论是,“梦想已久的计算作为一种实用工具的愿景终于出现了。”
尽管云计算确实在 2010 年代从根本上改变了 IT 行业以及应用程序的构建和部署方式,但也存在一个明显的问题——云计算并没有像互联网或网络那样成为一种公用事业。
到 2021 年,没有一个单一的底层云平台具有一套任何人都可以使用的开放标准。取而代之的是,云计算已经演变成一系列在很大程度上彼此不兼容的专有平台:亚马逊网络服务(AWS)、微软 Azure、谷歌云等。因此 Stoica 教授的论文中出现了“一个更加商品化的云计算版本,称之为天空计算”的愿景。
实施多云平台
从本质上讲,这是关于启用多云应用程序开发。“为了实现效用计算的愿景,应用程序应该能够在任何云提供商上运行(即,一次编写,随处运行),” Stoica 教授的论文断言。
本质上,天空计算支持多云应用程序开发。
开发人员为何要为多云环境构建应用程序?传统观点认为,选择一个云提供商并使用该公司提供的服务套件会更容易。然而,该论文拒绝了这一观点,而是建议具有“计算密集型工作负载”的应用程序更适合多云环境。
因为计算更简单,不需要处理出口费用,将数据放入云中无需花钱,但将数据从云中取出需要花费很多,特别是正在进行训练或高参数调整的机器学习中。这些都是计算密集型的工作,因此将这些工作转移到可以更快、更便宜地完成的地方是很有意义的。当然,如果移动计算,还需要移动训练数据——但总的来说,与训练或调整模型的成本相比,移动这些数据的成本相形见绌。”
该论文建议天空计算由三层组成:“一个用于掩盖低级技术差异的兼容层,一个将作业路由到正确云的云间层,以及一个允许云之间就有关问题达成一致的对等层。” 这三层反映了互联网本身的设计方式——例如,互联网协议 (IP) 提供了网络间兼容性。
天空计算由三层组成:兼容性、云间和对等
兼容层将使应用程序开发人员能够轻松地选择他们的应用程序并将其从AWS 迁移到 Google Cloud。多云的用武之地是云间层,因为它将允许应用程序跨多个云提供商运行——这取决于用户的需求。以下是 Stoica 教授的解释:
理想情况下,通过云间层,用户可以为其工作指定首选项——比如想最小化成本,或最小化时间,或者需要在本地处理这些数据——云间层将决定在何处运行客户工作以满足这些偏好。
关于数据本地性示例,应用程序必须使用特定地理位置的原因可能是地缘政治或其他原因。如果一个应用程序想要处理一些不得离开某个国家/地区边界的数据,并且该国家/地区只有一个云数据中心。在这种情况下,云间层会自动将该应用程序路由到该云数据中心。但所有其他应用程序可能使用不同的云平台,具体取决于应用程序开发人员定义的云间规则。
谁来提供这个云间层?Stoica 教授认为它可以由现有的云平台提供,或者可能会出现一种新型的“虚拟云”公司来专门从事这种路由功能。他建议使用“无基础设施云”这一术语,因为云间层不需要基础设施(服务器、数据库等)。
云计算头部企业如何应对?
随着多云成为天空计算的优先事项,一个关键的挑战将是购买当今市场领先的云平台——尤其是 AWS、微软和谷歌。
那么哪些主要平台会率先迈向天空计算,他们的动机是什么?
根据经济学理论,在市场上排名第二或第三的云(例如谷歌)最有可能做到这一点,因为这是他们获得更多市场份额的一种方式。如果他们提供更快或更便宜的基础设施,天空云平台将使他们更容易从其他云中获得更多工作负载。
但是,应用程序开发人员不一定需要大型云平台的许可才能获得“天空计算”功能。
现在可以做到开发一个应用程序——比如机器学习管道——并进行数据处理、训练和服务来为模型提供服务。可以在谷歌上接受培训,在亚马逊上服务。
今天使用多云的问题在于,它是“笨拙”且“不是自动的,而是手动的”,当然还有出口费用。
天空计算可能会扩展云提供商的软件即服务业务。
大公司面临的另一个挑战是,他们会将此视为其核心云平台的商品化。但 Stoica 指出,这些企业的其他部门将受益——例如,对于微软的 Office 团队,“这将允许他们在亚马逊的云或谷歌云上运行 Office。”
因此,天空计算可能会扩展大型云提供商的软件即服务业务。当然,微软是否愿意这样做仍然存疑,但如果所有的云竞争对手都转向天空计算模式,那么他们将别无选择,只能跟随市场。
会出现下一个 Kubernetes 吗?
Docker 和 Kubernetes 作为大规模管理云计算的方式出现在多年之前,那么 DevOps 工具中的类似创新是否可能会在未来几年内推动天空计算的采用?
“展望未来,我认为会有很多创新,因为将云抽象出来并不容易。即使它们提供相同的服务——比如 Kubernetes——谷歌托管的服务与亚马逊或微软托管的并不完全相同,所以从根本上说,发布和公开服务 API 的能力,以及它们之间的差异,我认为会在这些方面看到很多创新。”
Stoica 教授还认为在数据层(因为必须透明有效地跨云移动数据)和安全(需要授权和认证,每个云略有不同)都会有创新。
未来会有很多创新,考虑到它们提供的无数服务,将云抽象出来并不容易。
因此,也许类似于 2010 年代的云计算革命为这些云平台之上的服务开辟巨大的市场,我们现在称之为“云原生”行业,初创公司将有很多机会提供解决方案促进或建立在天空计算层上。
同样,前端也需要解决方案。开发人员将如何指定上面提到的应用程序首选项(使用云间层)?
并且另一个挑战将是“如何指定可以分发的应用程序的主要组件以及在哪里分发。” 例如,也许客户想在 Google 上完成机器学习方面的工作,但在 AWS 或 Azure 上完成另一项关键任务。因此,随着天空计算时代的到来,这将是初创公司在未来十年探索的蓝海。
结论
Stoica教授和他的伯克利同事在 2009 年对云计算的未来有先见之明,现在,Stoica教授在新论文中为公用事业云计算提供了令人信服的案例。但要实现这一愿景,至少有一家大型云提供商需要迈出构建兼容性和云间层的第一步。
这家公司可能会是 Google(毕竟它是开发 Kubernetes 的公司)。但微软也证明了它愿意支持开源并转向新兴的云计算趋势。虽然市场领导者 AWS 迈出第一步的可能性很小,但亚马逊实际上也是发明了云计算的公司。
无论哪个云计算公司迈出第一步,众多新创业公司都将有机会在未来十年构建天空计算平台时大放异彩。
引用参考文章:https://thenewstack.io/sky-computing-the-next-era-after-cloud-computing/