江枫从深圳飞回来那天,济南下了入冬以来第一场雪。雪花细得像盐末,落在地上就化。他拎著一个黑色公文包走进凌云办公室,头髮上还沾著没化的雪粒。
“凌总,磐石平台的最新数据出来了。”他把公文包放在桌上,抽出笔记本电脑。凌云正站在窗边看雪。他转过身,拉了把椅子在江枫旁边坐下。
“企业客户突破两百家。上周新签了四家大型网际网路公司,其中一家是做视频的,日活在五百万以上。他们把整个后台全部迁到了磐石上,理由是自建机房扛不住晚高峰的並发。”江枫打开一张图表,上面是磐石平台过去六个月的客户增长曲线。曲线在最后两个月陡得几乎垂直。
“弹性负载均衡和自动伸缩功能跑得怎么样?”凌云问。
“弹性负载均衡已经在双十一当天验证过了。某电商客户当天峰值並发是平时的十七倍,磐石在四十五秒內自动扩容了两千个虚擬机实例,没有人工介入。自动伸缩的响应延迟在三十秒以內。”江枫敲了几个键,屏幕上弹出一组技术指標,“云监控也同步上了,客户可以在后台看到每一台虚擬机的cpu、內存、网络i/o的实时曲线。出问题不用打电话找我们,自己就能排查。”
凌云把电脑拉近了一些,仔细看著那组指標。磐石的虚擬机创建时间已经压缩到了四十五秒以內,这个数字比三个月前快了將近一倍。“明年目標是多少?”
“二十秒以內。我们打算重构虚擬化层,把kvm的內核模块做一次深度裁剪,把不必要的驱动全砍掉。”凌云点了点头,江枫合上电脑,又从公文包里抽出一份文件,“磐石是地基,地基稳了,但我今天重点想说的不是这个。”他把文件放在桌上,封面印著四个字:星云·海纳。
“对象存储的公测版上周上线了。首批邀请了一百家企业客户做灰度测试。这是测试数据。”凌云翻开文件,第一页是一张cdn节点的全球分布图。红点密密麻麻,布满了中国地图,东南亚有三个点,欧洲有两个点,中东有一个点,北美有一个点。
江枫站起来,走到凌云办公桌对面,把一台starphone接上了投影仪。“我给你演示一遍。”他打开手机上的星火云服务app,点了一下上传按钮,选中一张照片。“这张照片解析度是四千万像素,文件大小大概十八兆。”他按下確认,屏幕上的进度条闪了一下就消失了。
“传完了?”
“传完了。”江枫退出app,用瀏览器打开星云控制台,登录后进入海纳的管理界面。刚才那张照片已经安静地躺在存储桶里,旁边自动生成了四种不同解析度的缩略图——用於缩略图预览的、用於手机屏幕的、用於电脑屏幕的、用於列印尺寸的。“上传的同时,海纳自动触发了四个事件:图片元数据解析、多解析度转码、cdn预热、异地冗余备份。”
“现在这张照片在哪个节点上?”
江枫点开cdn管理后台。屏幕上弹出一张世界地图,几条不同顏色的线路从北京节点出发,分別指向上海、广州、新加坡、法兰克福、杜拜、圣何塞。“六条线路,同步完成。你看延迟。”他点开一个测试工具,从圣何塞节点请求这张照片,响应时间稳定在一百八十毫秒以內。从法兰克福请求,一百五十毫秒。从杜拜请求,两百毫秒整。
凌云盯著屏幕上的数字。“所有节点都是这个延迟?”
“目前只有海纳能做到。”江枫没有谦虚,“因为我们用了一套自研的智能调度算法。传统的cdn是基於dns做静態调度,哪个节点离用户近就用哪个。但网络质量是动態变化的,某个节点可能地理上最近但带宽打满了。海纳的调度器实时监控所有节点的负载和网络质量,每次请求都动態选最优路径。”
“这套算法谁写的?”
“几个刚毕业的年轻工程师。领头的是一个叫陈曦的,去年从清华计算机系招来的,来的时候连分布式系统是什么都不知道。他花了一年时间把这套算法从论文变成了產品。”江枫顿了顿,“上个月他跟我说,他在大学里学的那些东西,海纳上线之后他发现一半都用不上。”
“为什么?”
“因为教科书里没写过这么大流量的场景。他说教科书里写的cdn,假设是几百个节点、几十万並发。我们现在的压力测试是按五百万並发跑的,很多理论模型直接失效,得从头推。”
凌云站起来,在办公桌前走了两步。窗外的雪还在下,落在窗玻璃上又化了。“这个陈曦,给他加薪。另外你告诉他——他遇到的问题不是星火一家的问题,是整个行业都没遇到过的问题。让他把解决方案写成论文,星火帮他发到顶会上。”
“你认真的?”
“我们不做,这些坑別人还得再踩一遍。发了论文,整个行业都能往前走。论文末尾署星火的名,这是我们最好的招聘gg。”凌云重新坐下,把海纳的测试报告翻到最后一页,上面列著公测期间发现的问题:某次异地备份因为跨洋光缆被渔船锚断,延迟飆升到七秒;一个客户把存储桶的权限配错了,导致所有文件公开可读,安全团队紧急修復了权限校验的默认策略。凌云把这一段仔细看了一遍。
“安全策略这块,再加一道防线。存储桶默认私有——这个已经做了,还要加一个异常行为检测:如果有人短时间內大量下载同一个存储桶的文件,系统要自动告警並冻结。”
“已经在做了。下个版本上线。”
凌云把文件合上,站起来走到白板前。白板上还留著上次开会画的starphone供应链图,他拿板擦把图擦乾净,拿起马克笔写了四个词:磐石、海纳、paas、saas。
“磐石做iaas,海纳做对象存储,这两块地基我们已经打好了。接下来往上走——paas层,做资料库云服务、消息队列、应用託管。saas层,做企业协作工具,先从星火自己的需求出发——我们內部已经在用的crm和scm,能不能產品化卖给其他企业?”
江枫愣了一下。“paas还好说,技术上我们有星云资料库的底子。但saas——那是完全不同的业务模式。我们现在的团队都是做基础设施出身的,没人做过应用层產品。”
“那就招人。陈忠明之前在ibm做过企业软体销售,让他帮你搭销售团队。”凌云在白板上画了一条竖线,把技术栈从底层到上层连起来。“2003年我在香港跟你说过——云计算是下一个十年的基础设施,必须提前占坑。我们现在占了iaas的坑,但上面的空间还大得很。亚马逊迟早会进这个市场,微软也在看。我们不动,別人就填上了。”
江枫盯著白板看了好一会儿。会议室里安静下来,能听见窗外雪粒打在玻璃上的沙沙声。他开口了。“凌总,你跟我说句实话。你对云计算的最终构想,到底是什么?”
凌云在白板上画了一个圆,把所有的词都圈进去。“未来的星云,不是给开发者用的。它是像水电煤一样的基础设施。你打开水龙头,水就来了。你插上插座,电就通了。你打开手机——云计算就在背后支撑著一切。用户不知道它的存在,但它无处不在。”
江枫沉默了几秒。“你这个构想,可能还需要五年甚至十年。”
“没关係。我们现在就出发。”
江枫走的时候,雪下大了。凌云站在窗口看著他穿过园区,雪花落在他头上,他缩了缩脖子,小跑著钻进了对面研发楼的门洞。凌云拿起手机拨了陈忠明的號码。
“忠明,江枫那边需要搭saas销售团队。你之前在ibm做企业软体,手上有合適的人脉没有?”
电话那头陈忠明想了想,“有几个老部下。不过他们都在外企待习惯了,不一定愿意来民企。”
“告诉他们,来星火不是打工。是来造中国自己的云计算。”凌云说,“薪水翻倍,期权照给。来不来看他们自己。”
掛了电话,他在白板前站了一会儿。白板上画的圆还在,圈子里的几个词被灯光照得有些反光。他用马克笔在圆外面加了一个更大的圈,写了一个字:人。然后他放下笔,穿上大衣,推门出去。走廊里几个年轻人正围在一起爭论什么,声音很大,有人在键盘上敲了一行代码,指著屏幕说你看,这个问题可以这么解。没有人注意到凌云从他们身边走过,雪还在下。