位于杨浦区大学路上的云海大厦旁边,一个占地5000平方米的云原生孵化空间即将建成开放,预计每年有10个以上具有全球领先视野和技术的云原生项目将从这里孵化诞生。
2010年,当人们对云计算还“云里雾里”的时候,云海大厦就集聚了20多家“云企”。如今11年过去,当初这些云领域的“新生儿”已迅速成长壮大,并催生出一个全新的硬核技术领域——云原生(Cloud Native)。
信息传递需要“集装箱”
云原生企业道客DaoCloud的第一家金融客户是浦发银行。“浦发银行找到我们的时候正值‘双十一’期间。”道客CEO陈齐彦回忆,电商大促前,银行将平台可容纳的交易量扩大了3倍,然而“双十一”开始的第一刻,实际交易量就冲破上限,导致系统崩溃。
道客团队进去后发现,实际上银行内很多机器处在空闲状态,大量在计划以外的资源没有得到充分调动。“更换了操作系统后,每台机器都可以执行不同的功能,订单来了,处在闲置状态的机器就能自动顶上。”
新系统是一个名为Kubernetes的云原生系统。由于K和s中间夹着8个英文字母,业内人士亲切地称之为“K8s”。“K8s项目的核心是调控,帮助用户更快速、优雅地按照他们所期望的样子来部署应用程序。”陈齐彦说。
云原生是什么?多家“云企”和投资人给出不同的比喻来定义。最常见的是“集装箱”比喻。
就像跨国物流需要集装箱运输,信息传递也需要“集装箱”。云原生提供一种容器,使每一个运行在操作系统上的软件如同一个集装箱,而整个操作系统就像一艘货轮。由于它还制定了集装箱行业标准,把相互割裂的计算机系统和开发人员连接在一起,让信息运输效率和资源复用性大大提升。
“云原生是一系列云技术和开发管理方法的集合。它和人工智能一样无处不在。”陈齐彦说,10年前出现的云计算让企业可以像用水和用电一样使用计算和存储资源,如今的云原生则是让所有信息化的应用都能在云原生系统这个“万能插座”上运行,并在类似于电商大促这样的不确定动态需求中迅速找到资源调度的最优解。
“开源社区”用代码说话
在国际云原生计算基金会CNCF(Cloud Native Computing Foundation)最新发布的K8s核心仓库全球贡献度榜单上,排名前10名的企业有3家中国企业:华为、中兴和道客。这些企业遵循一套有别于普通科技企业的规则——大多数科技公司都对底层核心技术进行严格保密,但云企的从业者们更倾向于把底层的研发部门向同行敞开。
在道客,研发人员除了有代码的考核,还有“交朋友”的考核。“一个工程师,至少要在‘开源社区’里交到20个朋友。”陈齐彦所说的“开源社区”,是一个名为GitHub的全球最大代码托管平台,目前有超5000万开发者在这个网站上传和下载代码。
“这是世界上最大的程序员交友平台。”道客的产品总监叶挺这样形容。每天,不同地方的程序员在电脑前把自己编写的代码上传到这个“开源社区”,共享给此刻可能身处在地球另一端的其他程序员。“Talk is cheap,show me the code(用代码说话)”是GitHub的精神。
道客的开源负责人徐俊杰每天工作任务之一,就是到“开源社区”里跟跨国公司的“技术大咖”交换代码,寻求和公司相适配的技术能力,同时把自己开发的方案回馈到社区。“一家企业在开源社区得到认可,意味着它能在现实世界里赢得客户。”
“软件工程就像建筑,需要大量工程能力。”叶挺说,K8s项目的源代码量超过100万行,在最近三年里它的代码变更率更超过95%,假设一个程序员平均一天能产出300行代码,开发这一个项目就要投入大量程序员的工作量。
这或许可以回答大多数人的困惑:为何科技公司愿意把核心技术开放出来?正是由于云原生项目所涉及的庞大系统,需要把全球最顶尖程序员的能力汇聚在一起;也只有在这样的“开源社区”,才能产生源源不绝的创造力。
“开源社区”的理念最早源于1991年,一位就读于芬兰赫尔辛基大学计算机科学系的学生Linus Torvalds编写了一套免费使用和自由传播的操作系统Linux,从此在互联网的土壤里种下自由软件的种子。当人们从微软、苹果等大公司生产的操作系统转到Linux后,他们会惊喜地发现几乎所有应用程序都被免费提供了。
此后,开源的思想开始“逆袭”,成为行业的主流认知。“从自由软件到开源软件,再到开源社区,‘开源’背后有一套自己的商业逻辑。”云原生创业企业炎凰数据的创始人何宁说,“只有把底层技术开源出来,让更多人以更低成本、更多渠道来使用这项技术,才能把生态做大。”
写代码如同艺术创作
硅谷创业之父保罗·格雷厄姆(Paul Graham)的“黑客伦理”提到:“编程是一种艺术创作,开发软件与画家作画、雕塑家雕刻、建筑师设计房屋并没有本质不同。”
陈齐彦的父亲是复旦大学的计算机专家,受父亲影响,他毕业后加入全球领先的信息存储技术公司EMC(易安信),从事云平台研发。他发现,谷歌很早就开始用云原生的方式来构建大规模的系统,但只适用于谷歌内部的高级工程师。为了扩大云原生带来的技术红利,陈齐彦从2008年开始尝试把这项技术“嫁接”到市场上,向所有人开放。
2013年,云原生社区发生一件历史性事件——Docker项目正式发布,使得基于操作系统虚拟化的容器变得唾手可得。“云原生已然成为一种生态,但老牌的信息公司仍守在既有的体系中难以改变,于是我决定自己创业。”
2014年11月10日,陈齐彦在上海杨浦云计算创新基地注册成立道客DaoCloud,并召集一群同样具有创造力和眼界的工程师。
自从成为K8s成员那一天起,开源工程师殷纳就做好心理准备,他的工作成果很大一部分要贡献到“开源社区”。有一次他在社区里提交了一版代码,来自谷歌的核心技术员耐心回复了很详细的建议,还附上相应的链接和文献。“每周都能和这些世界顶级技术人员同台交流,这是过去从未想过的。”
“有些爱好是要付出时间成本的,就像看书,学钢琴。”对殷纳而言,写代码就是他的“钢琴”和“图书”。“做一个开源项目,几十万行代码看下来,不亚于啃下一本很深奥的著作。”
“写代码和从事艺术创作一样,需要创造力。”开源工程师张世明说,“首先你有一个想法,然后一步步梳理逻辑,通过代码来实现,最后看到效果,这个过程会让人非常有成就感。云原生是未来软件行业的标准,虽然现在看起来不起眼,但将来也许谁都离不开这个生态。”
目前落地到CNCF(云原生计算基金会)的开源项目中,源自国内的有25个,占比20%,贡献度排在全球第二。CNCF的亚太区负责人陈泽辉说:“这表明在全球云原生的技术革命浪潮中,国内云原生产业抓住了先机。”
过去,软件产业里最核心的创新人物都集中于产业巨头公司的办公室和实验室。如今,他们如同文艺复兴时期的“工匠”与“画家”一样,在奥地利的乡村、洛杉矶的海滩、上海的五角场,共同支撑着数字化创新的未来。
从一开始就走“新赛道”
2010年,上海打造“云海计划”,杨浦作为“上海市云计算创新基地”开始布局云产业,并引进一批以Ucloud(优刻得)为代表的云计算“原住民”。“从10年前培育云计算产业,到现在培育云原生,这是杨浦云产业的‘二次创业’。”杨浦科创集团董事长郑岳肖这样形容。
云计算的出现,为全社会的数字化创新提供了像水和电一样稳定便捷的信息基础设施,目前,科技企业全面实现“业务上云”又成了一个新的挑战。“这就好比新能源车,并非只是在传统汽车上加装一个电源来实现‘油改电’这么简单,而是要引入一套全新的逻辑。”何宁当初正是从一家大数据外企Splunk(盛庞卡)“跳”出来后,创立基于云原生的大数据分析公司。
如果说云原生是“新能源车”,那么杨浦从一开始就选择不去拼“油车”,而是在一个全新的领域,慢慢培养自己的新赛道。
“云基地从建成起就鼓励创新,宽容失败,我们始终在思考如何把握技术发展的潮头。”郑岳肖说,“产业基地是‘土壤’,大学和企业培育了‘种子’,精准服务的政策扶持和营商环境像‘阳光’,知识产权、投融资服务就像‘水和空气’,构成杨浦云产业的大生态。”
越来越多的泛互联网产业和在线新经济企业在杨浦集聚。“过去科技企业倾向于单打独斗,各造各的‘轮子’,交给甲方自己组装。”UCloud合作拓展线负责人蒋剑彪说,“当前在数字化进程下,客户更希望得到组装好的产品。”
在杨浦,很多数字化创新公司从一开始就是基于云的“底座”来进行开发或重构的。杨浦云基地总经理杨苓说:“云原生是一个支点,能为企业数字化转型带来底层逻辑的红利,从技术底座到上层应用,形成完整的上下游产业链。”
目前,上海正在发展集成电路、生物医药、人工智能“三大产业”,云原生是重要的软件技术底座。未来,每一家在杨浦成长起来的“云企”都会成为一块“积木”,支撑起一座全新的“数字化创新大厦