上周OpenAI也发布了自动编码系统-Codex,这是一款可以将英文需求描述直接转换为代码的神奇工具。虽然Codex首发版本的表现还不能完全尽如人意,但AI编码技术的发展却给开发者们敲响了警钟,未来只要有创意和算力,也许真的就就万事俱备了,程序员也许并不是一个必选项。
最近国际IT咨询机构Forrest发布了《云原生开发者洞察白皮书》,对于云原生时代对于开发者的机遇、挑战、升级路径等等问题进行了探讨,对于《开发者白皮书》中的观点笔者深表赞同,云原生到底会如何影响未来的开发模式,对于这个问题,每一个开发者应该都会有自己的思考。
笔者认为云原生时代,开发者要学着利用Codex这样的新工具,在云原生的大农场上进行编程,而云原生则要提供一个真正能屏蔽底层的开发平台。云原生时代的开发最重要的是“人”“云”合一,而“人”“云”合一的关键则在于全栈,只有真正做到全栈融合才能将各技术领域内坑洼不平的丘陵,变成真正肥力十足的平原,挖掘出工具的潜力,发挥云原生的价值。
云原生想建黄金农场不容易
无论是k8s、容器还是最近火爆全网的Serverless、Dubbo,云原生相较于传统技术其最大的优势在于能够充分利用云原生平台的组件及工具链,屏蔽底层技术,使开发者耕耘的土地更像是一片广袤的农场,帮助开发者节省时间,但是想屏蔽底层必须要依靠打气熬力的功夫,光凭嘴说远远不够,尤其是在大数据及AI领域更是如此。
根据IDC的定义,大数据是指现有技术难以处理的数据,从历史来看,在谷歌提出大数据三驾马车的论文时,当时的关系型数据库技术的确难以处理大规模的数据。传统SQL在谷歌海量的查询记录面前,根本跑不出结果。也正是由于数据越来越大,人们对于数据库的看法开始转变,从一开始单纯认为数据库是加工车间,转变为数据库也需要是储存仓库,而数据已经是加工完成的成品,没有被重塑修改回滚的需求。而随着大数据应用的进一步拓展,业界发现价值密度更低的非结构化数据也有储存及挖掘的必要。比如客服的对话可能是语音、文字甚至是图像、视频,这都不是传统意义上数据库、数仓可以处理的结构化数据,因此用于储存非结构化的数据湖出现了。
在了解数据存储模型的演进过程后,我们可以看出关系型数据库、数据仓库与数据湖的底层构建模型并不相同,大数据领域各个技术栈几乎全部是由开源社区推动的,数据技术的快速发展却也带来了领域内部的无尽割裂。数据是AI乃至整个IT行业的血液,是业务开发链条上的重要一环,但各环节的兼容性不佳也引发了很多衍生问题。这其中最严重的是数据处理的时效性问题,大数据工程师往往需要在T+1日以后才能给出报表,但是产品经理却永远需要实时的用户画像,对于时效性的要求成为了技术与业务之间永远无法达成的协议。
当前,科技企业要处理的数据量还在迅速增长,从我了解到的情况,各大厂的数据量级正在以年化80%左右的速度增长,如果按照现在的迭代速度,大数据技术栈继续分化,那么云厂商如果拿不出全栈大数据解决方案,开发者的云原生开发也就根本无从谈起。因此只有提供包括数据采集、数据规范、数据开发、数据服务、数据治理、数据可视化在内的全栈式大数据工具,将数据集成开发平台与应用云平台与容器大数据平台打包交付,才是有竞争力的云原生产品。
AI落地,必走全栈之路
如果说大数据需要全栈解决方案是个锦上添花的选项,那么AI对全栈的需求则是必选项。从目前AI的发展趋势来看,最新的人工智能模型对于算力的要求往往都是非常高的,比如谷歌的T5,其整个模型的参数数量达到了惊人的 110 亿,甚至谷歌科学家直接在T5的论文指出:“越大的模型往往表现更好。这表现扩大规模可能仍然是实现更好性能的方式。“不过一般的创业公司如果没有雄厚的资金实力是不可能搭建这种级别的AI训练平台。
像去年火爆一时的GPT-3 的出现充分证明了大力就是能够出奇迹,这个训练集45TB,参数规模1750亿,预训练结果700G的AI模型一经问世就成为了大众瞩目的焦点。一时之间用GPT-3作诗、作曲乃至画画的应用层出不穷,不过GPT-3的训练成本高达上千万美元,这也进一步提升了AI领域的入门门槛,只有巨头才能玩得起AI。
不过另一个角度讲这样的趋势也推进了AI全栈技术与云的结合,只有将云、人与智能终端结合到一起,才能降低门槛,促进AI行业创新发展。而这种结合实际与全场景全栈AI是同一概念,只有算力不行,只有框架不行,只擅长训练集群也不行,只有把这些方面结合到一起,做到没有短板才能做好AI云,才能让AI充分发挥威力,体现价值。
云原生呼唤程序员的创造性
从Open AI官方的说法来看,Codex试图理解需求描述中的逻辑,并尽可能生成最好的代码。与其同门师兄Copilot一样,Codex也是基于GPT-3构建的。不过目前GPT-3的工作原理也就决定了Codex、Copilot等辅助工具本质上还是播种机和收割机,只能高效率的模仿,却很难进行创造性的自主、独立工作,也就是说目前AI在编程领域远未达到Alpha Go时刻,因此在这个编程工具辅助能力极大发展,基础底座被云原生打造成一片坦途的情况下,复制粘贴式的开发将逐渐失去价值,但对于程序员创造力与整合能力却要求更高了。
在云原生时代,有两种开发方向,一是云原生的底层基础开发,这点在上文的大数据和AI部分已经详细介绍过了,底层技术关键在于整合与打通,性能与资源的开销是最需要考虑的方面。二是基于云原生的开发,这需要对于云原生各模块的进行创造式的组合,从而形成新的生产力。由于辅助工具最擅长的就是模仿与简单的修补,这方面AI很可能比人类程序员强很多,因此无论是哪种开发方向,有创造力的大神级程序员都会比以往更加紧俏。
人云合一,方显原生本色,
去年哈佛大学孵化的脑机接口创业企业BrainCo也发布了其最新产品BrainOS,其主要的创新点在于脑机协同的操作系统,年初月华为发布了鸿蒙2.0操作系统,主打是端端协作的分布式操作系统,Codex、Copilot更是将程序员与AI工具结合的大幕正在开启。
未来,人云协同将成为云原生领域的核心,而人云协同将失去各行各业的智能化升级。不同于数字化转型,智能化是以人为中心,智能需要和人协同工作。因此,也许智能机器永远都无法取代人,但人与云达到最完善、最完美的共融共创的云原生,终将改变每个领域、每个行业以及每个人的生活方式。