作为云计算产品十余年的从业人员,我在2023年数字生态大会一直到现在不断被问及的问题是:“云计算发展至今是否符合当初的设想,它未来的发展方向会有哪些?”
这个问题本身宏大又空泛,从不同的角度会有非常不同的观点,尤其是我们还需要考虑回答问题的人和听取答案的人拥有不同的立场和利益关系,但这确实是一个非常有意思的问题,既有对这项艰苦事业妄图重构IT基础架构的远大理想的致敬,也有因为各种不同事件和言论带来的疑虑重重。
于我个人而言,最早尝试思考这个问题大概是在facebook和qq空间开始风行的年代,程序员们突然发现自己用代码所构筑的数字世界已经与真实世界开始连接起来了,数字世界复杂性和重要性的提升迫使大家需要寻找到一种大多数人共识的基础设施实践方案,这是一种纯粹的由软件定义(software define)的高度产品化方案。在早期这是人们所期待的终极目标,确切来说与任何具体的技术方案和设计准则均没有直接关系。
它很像是圣经里巴别塔的故事:不同族群的人合作起来要建一座通往天国的塔,而它最后的失败归咎于不同族群拥有不同语言和文化带来的冲突,伟大的建筑奇观在人与人之间的相互攻击中崩塌,似乎始终是各种大平台的宿命。
那么回到这个问题,在十几年之后重新来看云计算的现状,即使全球整个公有云行业在经营产出和效率提升上均有非常闪耀的成果,但我们仍然很难说在产品价值上相对于传统的非云架构已经看到明显的革命性进步。以云计算产品矩阵为例,我认为问题归根结底是产品功能与用户之间仍然很远。
这个“远”主要体现在四个方面,也由此可以看到由此推导的四个发展方向:
除了“云原生”代表了更上层的各种不同产品以外,其它几个方向仍然是在计算产品的范畴,它们的发展方向和用户场景的“接近”大概用图可以这样表示:
上面提到的四个方向,每一个展开来都可以是长篇大论,为了快速切入主题就不再赘述。其中最不容易被大众理解的反而是最希望服务好更多客户的“轻量云”。大家可能会觉得云计算毕竟是冷冰冰的底层基础设施,如果它真的是“水和电”,那对大众的联系也不过是开关和水龙头。曾有媒体的朋友问到:“轻量云”的愿景是否与友商“云电脑”的愿景一样?
“云电脑”既无影也无踪,我研究数年仍然没有琢磨透。但是从我们自己的角度来看,提升用户体验,降低操作门槛,让云计算具备一定的C端属性,也是很有必要的一件事。长期以来cvm的工单中有90%以上是小用户对产品基本概念、云服务器内部操作和自建应用响应异常的求助。
所以我们在2020年开始尝试把开箱即用的Lighthouse作为cvm在长尾用户群体的替代,帮助用户更容易使用云计算,同时也有利于腾讯云的小规格库存可以以这种方式更快售卖出去。以小的成本解决长尾用户普遍的体验问题是轻量云第一个产品Lighthouse的最朴素的愿望,也是一个很朴素的商业模式。(关于Lighthouse的产品设计和运营,我会请同事另写一篇文章)
对于一个更以学习为目的的小白开发者而言,在Lighthouse出现之前,整个云计算市场所提供的操作体验跟我在十七年前购买的vps没有什么显著提升(我当时在dreamhost美国东部的vps提供的晦暗不明的终端下学会了Linux、Vim和Python)。
Lighthouse的发展结果也让我为此执念备感欣慰,它在一年之内就成为国内同等类型的第一名,也让我们进一步坚定了做好产品体验,以用户价值为依归的产品演进路线。这是一种可累积可复制的产品价值,我们相信这也是长期竞争中少数可以真正依靠的基石。
经过几年的发展,以Lighthouse为始的轻量云产品体系逐渐搭建起来了,经营指标增速仍然一直是每年都在超出规划,而且我们也发现这样一个原本针对长尾用户降低操作门槛的产品在中小企业的欢迎度也非常大,在渠道生态中也有了不错的增长,说明了轻量易用的产品价值其实比我们预想得更大,让用户聚焦在自身业务层面才有机会孵化出更繁荣的上层生态。
1月21日我们惊奇地发现Lighthouse的增长数据在周末又一次异常升高了。团队很快定位到是与一个新的开放世界游戏幻兽帕鲁相关,幻兽帕鲁鼓励用户自己搭建服务器并邀请好友一起加入。
从经营拓展上看,它代表了一个全新的用户群体——游戏爱好者,他们可能或多或少懂一些技术,而且会有更强的付费意愿;从产品上看,它的价值会更大,我们得以考验这几年的产品功能是否能在一个新的应用领域快速适配并得到市场认可,这些产品功能大致可以划分为应用创建、应用分发、应用管理几个方面,同时也是对团队响应能力和运营能力的考验。
因为对游戏的了解不够深入,我们最初对于幻兽帕鲁云服务器专项的目标仅限于作为一个对产品能力的演习,用于发现产品和团队的薄弱环节,预想这个游戏能持续热个三天以上就足够了。但是第二天公司内部陆续出现的相关游戏讨论让我们看到世界上最专业的游戏玩家的认可,让我们意识到可以挖掘的价值可能会非常大。
从一场节奏紧张的演习变成一场残酷撕杀的战役,几乎每个小时都有新的情况,似乎有点像是俄乌战争的剧情,现在来看我们以相对可控的投入获得了大量非常宝贵的经验和教训,以及更重要的是也让我们获知了对手或令人敬佩或令人惊讶的竞争策略和经营数据。
整个战役大概分以下几个阶段:
整个过程我写得比较粗略,隐去了很多具体的内容,有些是还在酝酿的商业机密,有些是跌宕起伏的故事恐怕太占篇幅,希望有机会再单独补充这部分内容,本文先以产品本身的思虑为主。
接下来讲的是跟幻兽帕鲁云服务器相关的一些产品设计,大概逻辑是从产品定位、产品功能、复盘反思等几个方面围绕如何服务好用户应用来阐述。由于运营还未结束,这部分较少提及。
这个问题是一切的基础。
对于传统的计算产品来说,云服务器和应用的边界是泾渭分明的,前者是由云产品提供的通过软件定义的虚拟硬件集合,后者是用户在这些虚拟硬件之上基于完整和自由的权限自行搭建的应用。如果不是因为操作门槛和性能预先调优的考量,理论上讲云服务器内的操作系统都应该是用户及其应用的领地。
我们可以把云负责的范围叫“带外(outbound)”,用户负责的范围叫“带内(inbound)”。这种边界划分简单清晰,用户在拥有完整控制权限的同时,平台把所有锅都甩掉了,也就造成了云计算里最典型的体验割裂,无论是账户系统、操作方式都是完全不同的两套体系,平台方也就失去了对云服务器带内的服务能力,远离用户应用。
平台和应用的边界一直困扰业界几十年,从这个角度上看整个云计算都是因此而产生的。通常的解决方案是提供一个全新的应用托管平台,而不是提供完整兼容的服务器环境,用户只需要以平台的新标准来创建应用,即可解决体验割裂的本质问题,这种方案最著名实现的应该是Google App Engine。
但是这种方案几乎事实上全部失败了,让“用户让渡部分控制权和灵活性给平台即可获得更顺滑的体验”只是平台方的一厢情愿,用户控制能力的减弱是实实在在的,而置换过来的利益既飘忽不定又无法迁移。
比起这种自上而下强迫用户改变应用开发模式的方法,现代公有云的方向是自下而上的计算能力产品化。在保持严格兼容的前提下,尽可能将特定的功能抽象成IaaS之上的PaaS和SaaS,这也就是前文所提到的“云原生”方向,这个过程漫长但是稳健,也会因为各种非技术的原因发生反复,但如果类比到巴别塔的建设,这似乎是唯一可行的方案,毕竟塔只能从下往上一步一步搭建起来。
在云原生浪潮的趋势之下,站在云服务器产品的角度,我们在IaaS层面仍有很多可以做的事情,也就需要定义和平衡好平台与应用之间的边界。
如果把CVM当作是毛坯房,Lighthouse就是简装房,它能让用户拎包入住,也不过多侵入用户的领地,在坦诚克制地支持用户的同时,也提供了云服务器给予用户的完整控制权限。与云原生相比,Lighthouse的封装很浅,简单而朴素,用户也完全可以把Lighthouse当作学习和调试的工具,成为“电子宠物”。
云服务器提供完整的控制权限,几乎所有的应用都可以直接从0到1在云服务器上搭建起来,只是代价各不一样。轻量云打破固有边界,逐渐涉足应用层面,就是要先圈定其中一小部分的应用场景,这些场景有较大的相似性,同时它的用户群体更需要获得更多的产品能力支持。以此来推演,网站、小程序和帕鲁游戏服务器差不多就是最适合的场景。它们大多具备几个特点:
这些都是平台对应用进行额外产品化支持的切入点。我们通过提供最好的安装方法解决用户应用安装的问题,提供配置管理和调整的功能解决用户可视化管理应用的问题,提供标准的系统服务管理解决进程所需要的系统资源和监控,提供防火墙和安全能力解决用户自行评估安全防护的问题。
这些几乎就是我们在幻兽帕鲁云服务器上做的所有工作了,比起大部分其它需求来说,它们要简单得多,但是也非常考验在开发者社区是否能得到最苛刻的评价。
基于我们在云服务器上多年的技术积累和产品理解,通过这些简单的适配,可以让用户快速获得最好的应用实践,让用户从冗长的搭建文档中解放出来,直接面向应用本身,而如果用户自己有更特殊的需求,完全的控制力也可以支持用户自己完成。这些也是轻量云的产品原则之一。
无论是应用创建于CVM还是Lighthouse,都会有分发的工作。传统云计算的分发方式以应用镜像为主,这也是大家所最熟知的方式。应用镜像通过自定义镜像的方式来实现,把操作系统、运行环境和应用及配套脚本全部打包成一个整体,应用的分发就像拿着一个光盘在每台电脑上安装一次操作系统。这种方式容易理解并且操作起来很简单。
但是既然我们的很多客户是开发者,镜像很容易被诟病不够优雅,因为创建应用的脚本大多只有几KB,通过镜像需要每次分发数十GB的内容,而且镜像当中的安全性、运行环境的更新和应用版本的迭代都变得非常重。从技术生态建设的角度,用户之间共享镜像也是非常繁重的操作,对于开发者的交流并不便利。
换言之,基于已有的标准操作系统,无论是应用安装、应用的系统服务注册还是应用的监控其实都是数行脚本可以执行的,那我们分发应用只需要分发这个初始化脚本就可以了,脚本的更新维护与镜像的更新维护是完全解耦的,镜像和应用均只需要关注自己的这部分功能。
那么,这个脚本的“注入”就至关重要了,轻量云的目标是“贴近应用”,对于应用注入的功能设计尤其重要,平台提供标准的注入能力,未来有希望培育出用户之间自发的应用交流。目前有几种方式可以完成一键创建和启动应用:
除userdata以外,另外两种均是Lighthouse产品上孵化出来的新功能,在应用视角的需求下过去的发展速度迅猛。但是非常遗憾的是,幻兽帕鲁云服务器在兜兜转转数日之后最终还是只能采用镜像分发的方式,主要原因是脚本从steam服务器下载游戏的链路太不稳定,很难给用户提供一个可靠的sla。
这说明我们在应用分发的产品设计上还不够完整,如何缓存与加速是其中的缺失环节。镜像的方案增加了研发同事和cbs的工作,包括镜像制作、镜像维护、镜像预热等等,好在这些能力在渲染客户的场景中早已打磨得比较成熟。
对于应用分发,除了应用对云服务器的注入,更理想的方式是应用对腾讯云的注入,即这个自动化过程让用户对腾讯云的操作都更透明,也许用户只需要用点个按钮或扫个二维码,即可获得一个可用的应用。从技术上看,这个目标并非不可实现,只需要再联动云api、账户实名(首次注册账户)、支付功能即可。
如前文所言,平台大多只能管理云服务器的带外部分。我们把应用安装好并运行起来之后,用户可以完全不用自己直接操作云服务器内部的操作系统。但应用通常会涉及到配置文件的改变,进程的关闭和重启等。
我们在幻兽帕鲁云服务器中以TAT agent为后端,快速搭建的配置管理面板,功能虽然还很简陋,但是开始拥有了在web页面做带内管理的入口,使得用户可以完全不用关心Linux命令等技术知识,这将会是未来引入更多应用场景的最主要用户操作界面。
而对于技术水平更高的用户,当他们有更多非通用性的操作时,我们也可以提供TAT和OrcaTerm让用户无需离开腾讯云控制台而执行灵活复杂的操作。
此外,应用管理层面的产品化高度抽象,鼓励了用户减少对带内的直接操作,如果带内的安全性不够,一旦出现安全问题用户反而缺乏带内操作的经验。所以应用管理的产品化过程中很重要的一部分是增强安全防护能力,减少用户的后顾之忧。幻兽帕鲁的用户普遍更不关心技术上的知识,云服务器内安全产品的全程保驾护航确保了业务的持续发展。
幻兽帕鲁云服务器的创建时间从150秒缩短到3秒,对于腾讯云来说是比较容易做到的,这得益于CVM和相关的产品团队从2015年开始做的大量工作。以前在云计算产品定位于设备层面的情况下,大家通常会认为这里的优化价值大多在于炫技,一个小时以内的创建时间比机房服务器的采购上架初始化以天为计的时间已经显得微乎其微。
但是对于以“应用”为核心的服务而言,分钟级和秒级的体验是完全不同的。在市场竞争中,创建时间变成了厂商之间核心的体验区别,这也将会是未来引入更多应用领域的核心竞争力。
CVM的调度框架VStation在分布式系统的功能组合上采用了类似于以太网的共享信道机制,将业务逻辑和通信框架分离,在资源装箱上使用了乐观无锁并发模型减少大并发时的资源抢占风险,确保了云计算后台系统的高度稳定和高度快捷,同时结合cbs的底层快照回滚能力,将创建时间压缩到3秒以下。这部分系统设计技术性较强,可参考VStation相关文章。
2020年Lighthouse发布没多久之后,即被技术爱好者们称之为“良心云”,这个称号此后也逐渐成了社区对于腾讯云的昵称。我们在产品的性能承诺、功能成熟度和运营策略的真诚度上,均形成了正面的产品口碑和调性。
轻量云率先发布幻兽帕鲁云服务器,并且一直保持产品功能上的领先,让“良心云”在更大的公众领域出圈,也许这是比经营收益更多的品牌价值。以2月6日晚腾讯云视频号直播为例,据称创造了以往数倍的观看量。
市场上的竞争还在如火如荼进行,无论它是演习还是战役,都已经让我们有了很多认知上的收获,尤其是发现了不少不足之处,最主要的大概有以下几点:
从1月21日至今差不多三周时间,每一天都有不少新的挑战和新的成果,我们曾欣喜于目标刚定好第二天就完成的惊奇,也纠结在听到别人报出了几乎白送的超低价的顾虑,尤其特别温暖的是各个兄弟团队的拔刀相助和鼎力支撑,也许我们在一起也都是某个私服上辛勤采矿的帕鲁们,感谢所有人的倾心帮助!
幻兽帕鲁云服务器的战役还在继续,我们对春节期间的经营表现充满信心。它的出现似乎预示着2024年互联网的回暖趋势已经开始,也指引我们坚持打造产品价值和可持续的经营。