今年2月,在大流行病被认为是大流行之前,纽约市仍像往常一样嗡嗡作响,我在Cockroach实验室总部坐下来,谈论应用开发中数据的未来。这是一个广泛的话题,也是一个即将发生根本性的、不可改变的转变。我们将在一分钟内讨论为什么。
在那次谈话之后的三个月里,世界上发生了很多变化。COVID-19已经使远程工作成为一种必需。它导致了前所未有的互联网使用水平。而它将给经济和科技领域带来的持久变化还没有到来。但是,COVID-19并没有重新规划或改变未来数据的走向,而只是作为已经在进行的转型的加速剂。
在大流行之前,有两个技术板块正在不可阻挡地走向彼此。第一个:公共云的持续改进和可及性。第二块:5G的即将推出。这两种能力即将释放出以前只有财富500强公司才有的延迟水平。随着这些延迟水平变得越来越普遍,用户将开始期待它们。在大流行之前的世界里,这些延迟水平是一个很好的选择。但在大流行之后的世界里,它们将是一个必须具备的条件。
以下是转型的情况,以及应用程序开发人员和应用程序用户在5G世界中可以预见的情况。
全球应用和100毫秒规则
今天,人们认为利用公共云是在不同的数据中心和可用性区域复制数据的一种手段,以提高弹性。但这种策略不一定能解决延迟的问题。延迟问题开始变得越来越重要,这已经不是什么秘密。如果一个澳大利亚的用户的请求必须一路跳到弗吉尼亚州才能与数据库对话,然后再一路回到澳大利亚的用户那里,你就不能为他提供足够的延迟,这是一个巨大的问题。事实上,你不可能在几百毫秒内做到这一点。这就把我们带到了100毫秒规则。
我遇到的第一个关于100毫秒规则的提法来自国防部。他们做了一项关于指挥和控制系统的研究,其中他们提出了一个问题:从用户做出某种行为到该行为产生可见效果的最大延迟是什么?例如,当用户点击键盘上的一个键时,你应该保证什么时候屏幕上出现一个字母?根据美国国防部的说法,答案是100毫秒。当你超过100毫秒的时候,你就引入了一个人类可以感知的延迟。这种延迟会使本应感到即时和非虚拟的应用体验变得混乱。
今天,公司正试图通过主要部署在单一可用区的应用程序为全球观众服务。他们把地球上的每个人,无论在什么地方,都送到那个地方。这是旧的模式,它无法满足全球(甚至是两岸)用户群的100毫秒规则。
全球性应用是一个为全球受众提供本地体验的应用。要了解全球应用,你只需要看看那些建立了全球应用的公司。谷歌、Facebook、Netflix、苹果和HBO。这类公司已经想出了全球应用。但是,如果我们要衡量工程师们花了多少时间来建立这种数据架构,那加起来将是几个世纪甚至几千年的工程时间。
这就是建立全球应用所花费的时间。而他们在这几个世纪里所取得的成就,如果你想把它归结为,是一个全球客户群,拥有感觉上像本地的体验。
本地体验是下一个大机会
现在,当你在移动设备上点击时,在你期望发生的事情发生之前等待几秒钟是很常见的。而我们已经习惯了这种情况。同时,我们无处不在地沉迷于这些移动设备。在曼哈顿,每个人都在互相碰撞,因为他们低着头走来走去,看着Slack、Instagram、Twitter、Youtube、TikTok,或者其他一些我已经老得不知道的新热点。
一个普通人现在在这些虚拟现实中所花费的难以置信的时间,忍受着充满延迟的体验,这是一个令人难以置信的机会,对于下一代的应用开发者来说已经成熟。
人们总是想知道,"下一个大的平台转变会是什么?""下一个iPhone是什么?""会是苹果手表吗?"(不是!)它是开箱即用的基础设施,使开发者能够向全球受众提供本地体验--一个为人民服务的平台,具有Netflix、Facebook、Twitter和HBO花了累积数百年的工程时间建立的全球能力。
5G是网络延时的历史性飞跃
想象一下你在一个拥挤的房间里讲话,或者更有先见之明的今天,在一个有数百人收听的Zoom电话前讲话。想一想你是如何读懂听众的表情的。想想你用来评估经验的所有微妙的线索。"她打哈欠了,她很无聊,我很糟糕。""哦,他在点头,我一定是杀了他--或者他只是很好?"现 在想象一下,将这种人际间的细微差别建立在应用互动中。当互动以接近实时的方式发生时,你能重新想象Facebook或Twitter吗?下一代应用程序将利用公共云资源和5G的能力,为使用它们的人提供令人难以置信的低延迟和最终的近实时体验。新的应用将彻底改变人们在醒着的时候花一半时间消费的用户体验。
5G听起来像是蜂窝网络的一个渐进式进步。但在我看来,从4到5G的整数跳跃是一个历史性的跨越。在电信网络中,像这里预期的那样降低延迟是很罕见的。它将对人们重新想象当今数十亿美元的用户平台的方式产生巨大的影响。上一次我们看到这样的速度变化是在我们从拨号上网到DSL的时候。对于当时的任何人来说,这都是惊人的。从这种转变中产生的应用是巨大的。我们从基于文本的游戏到多用户互动应用。而现在,我们正处于《堡垒之夜》。但在《堡垒之夜》之外,还有一些东西。而5G将帮助我们到达那里。
新的消费模式将赋予开发者权力
更重要的是,这种新一代的应用并不完全来自于拥有数百万风险投资的大公司。这是因为在Facebook和谷歌等地方学到的经验正迅速被归纳并打包成通用系统。承担这项工作是一项艰巨的挑战。但它正在发生。
我们在Cockroach实验室就看到了这一点。许多使用CockroachDB的初创公司都是由前谷歌、前优步和前Facebook的工程师经营的。这些工程师带着与五年或十年前加入谷歌、Facebook或Uber时完全不同的态度来到他们的下一个项目。这一代的工程师已经经历了范式的转变。他们了解分布式系统。他们正在使用公共云、微服务和现代数据库技术。
工程师们不会从那些不得不一次又一次地重新平台化的基础设施开始。他们将要求获得他们在谷歌、Facebook和Uber看到的能力。而公司正急于通过提供管理服务软件和基础设施即服务来填补这一空白。
应用开发的未来
应用开发已经处于大规模转变的边缘。然后COVID-19发生了。消费者对低延迟技术的需求--以及它们所带来的传输体验--比以往任何时候都要高。对感觉像真实生活的Zoom hangouts、对真正沉浸式的MMORPG游戏以及对我们甚至还没有梦想过的新用例的胃口都很高。而5G、改进的公共云和管理服务软件的完美风暴将使其成为现实。
这是一个即将到来的勇敢的新世界。在这个世界上,以前无法想象的应用程序将被开发,不是由世界上的Facebook和Googles,而是由个人开发者和小型团队开发。冠状病毒大流行正在使我们的世界比以往任何时候都更加分散--而即将到来的应用开发的变化将使我们准备好迎接这一现实。
这篇文章最初在The New Stack上发表。