您的位置:首页 >聚焦 >

干货 | 数字经济创新创业——软件研究 全球观察

2022-12-17 21:35:40    来源:程序员客栈

下文整理自清华大学大数据能力提升项目能力提升模块课程“Innovation & Entrepreneurship for Digital Economy”(数字经济创新创业课程)的精彩内容。

主讲嘉宾:Kris Singh: CEO at SRII, Palo Alto, CaliforniaVisiting Professor of Tsinghua UniversityKevin A. McGrail:Cloud Fellow,Dito Rick McGeer:CEO at engageLively, California, USAAshok Banerjee Vice President, VMware, California, USAJianmin Wang Professor of School of Software, Tsinghua UniversityPavlinaKröckel Chair of Information Systems, Friedrich-Alexander-Universität

今天我们想讨论一个非常重要主题。数字经济和数字技术有很多组成部分,其中最重要的则是软件,软件就像胶水一样粘合地基和支柱,以便数字技术正常运行、搭建应用程序。今天我们邀请了几位行业领导者和学校教授来加入该话题的讨论。我们将探讨软件如何帮助推动数字化经济和数字社会、数字生活的发展,我们想探讨的第二点是工业和院校,工业提供生产和服务解决方案,院校则集聚了大量人才。我们的目标是将人才作为杠杆撬动从研究到教学再到学生与工业密切合作,以便于他们可以学习如何将产品和解决方案用于应对问题和挑战,如何进行合作,工作如何更好地部署,如何变得更加高效。


(资料图)

接下来我将简单对今天的内容进行介绍。软件开发模型从需求分析、设计、代码、测试再到部署最后交付给客户,之后再debug并重复这个循环。以上是软件开发的全过程,而现在我们面临着软件需求大量增加的问题,因此我们需要加快软件开发速度、数量及规模。而旧有的系统无法满足现在高生产力的需求,所以我们要提高软件的开发速度、智能水平、安全性、更高质量的输出和更高的价值。

在IT行业发生的最大的事就是Ai的发展。大量的数据、计算速度加快、更多的存储空间、更好的算法这四点让AI比以往三四十年更适应现实生活的各种情况。上图展示了AI软件如何开发并应用于工业、制造业以及金融等行业。AI的接受度和应用性在过去几年里呈现指数级的增长,这在软件开发领域是非常大的进步。

我们如何使用AI工具和技术让软件更稳定、更快捷。软件开发是完整的体系,用户和细节都整合在一个包里,所以如果我们遇到问题的话不得不回到软件当中重做,这就分解成“微服务”,软件开发从原来完整包分裂成更小的微服务,这样就可以在遇到问题时访问特定的区块而非整体。这是非常大的进步,我人们仍有许多工作要做,这也是未来发展的新方向。对于安全性问题来说,以往的软件开发过程没有合适的技术或专利在开发阶段做安全性测试,因此人们必须等到部署阶段才去发现并修复安全性问题,这种传统方式效率太低,且十分昂贵。现在的新模型可以实现在同一个包里开发、做安全测试。如果到生产阶段再修复安全性问题,成本将会涨到原来的30倍,且软件开发会变得更费时。

你可能也听说过区块链,现在的区块链不仅仅是加密货币,它已经有了很多新的应用。例如在医疗领域,区块链的应用简化了软件开发流程并提高了鲁棒性,可以有效保障数据隐私和数据安全。

在软件开发过程中最耗时的就是代码。研究预计,在未来十到二十年里将会面临IT技术人才的短缺,未来对IT的需求会呈现指数级增长,但IT技术和劳动力水平却没能跟上。因此少写或不写代码的开发就会变得格外有吸引力。虽然目前不能做到100%完美,但是已经得到了较好的应用。

接下来由嘉宾对这些主题进行详细分享。

——Chris

目前开源软件的市场规模达到330亿,但这可能是低估了的数字。无论怎么说,在过去五年里,其市场规模增长了接近3倍,市场百分比正在增长的事实表明,其增长速度约为软件速度的两倍,并且可能成为软件的主流。事实上,如果你看看世界上顶尖的网站,就会发现其中有一半都在Linux这样的开源操作系统上运行。

根据上图可以看出自从2013年开始,商业授权和开源授权的流行趋势占比已经逐渐有重合的趋势。Linux在85%的智能手机和100%的超级计算机上运行,现在主要的供应商都在推动开源软件的使用。以Meta为例,React是目前最流行的网页开发程序,Pytorch是最流行的机器学习环境,用于搜索大型图表(如Facebook社交图)的GraphOL都是脸书的流行产品。Chris提到的微服务架构,主流的微服务是Kubernetes,这来自谷歌。

实际上是谷歌读取其基础设施,在基础设施上运行。几年前他们完全重写了该架构,并进行了商业发行、现任谷歌的云服务副总裁Eric·Brewer说,他认为未来将是微服务的世界。Android是目前主流的手机操作系统,Chromium是浏览器的主要操作系统,即使是Microsoft Edge现在也只是Chromium上的一个新皮肤,而Tensorflow可能是最受欢迎的机器学习,但都是开源的。微软也已经开始走向开源:Web编程语言的下一个演变typescript,visual studio皇冠上的明珠BS code,现在都已经开源了。git不仅是最受欢迎的软件版本工具,而且已经成为开发人员的社交网络。I B M为自己开发的开源软件感到非常自豪。所有这些主要供应商都是开源的,那么问题在于,你自己的产品和他们的产品都是开源的,为什么这些平台主导者在线信息服务?这就像一个链式问题,但它触及到了问题核心,即成为平台选项。

美国日报就是一个例子。在过去二十年,美国日报发行量减少了一半。但对于四家报纸。尤其是三巨头《华盛顿邮报》《纽约时报》和《华尔街日报》,发行量增加了两倍。过去二十年,他们从不到百分之五的读者人数上升到超过百分之二十五,而且他们的发行量增加了两倍,为什么呢?是因为平台效应,他们获得了更多的读者,更多订阅带来更好的内容,进一步带来了更好的资金或更多的订阅量。更好的资金导致更好的内容,从而带来更多的收入,更好的内容吸引了更多的订阅量。平台效应的良性循环对信息技术同样适用。

关键在于,如果你使用主流平台,就会带来富人更富的结局。更多的用户带来更多的回报,如果开发人员想开发新功能,他们自然会倾向于最流行的平台,因为他们可以获得更多的用户。而更多的开发者意味着更多的功能,这又会带来更多的用户和更多的回报。所以成功的秘诀就是无论在任何领域,都要成为最流行的平台,移除所有使用和贡献的障碍。你不希望你得到报酬的方式阻碍你获得更多用户和更多收入,因为这推动了整个周期运行,然后你可以找到一种获得报酬的方法。

举个例子,我们的公司提供了一个Jupyter作为网络服务平台,同时提供了一个无与伦比的数据可视化平台,但我可以告诉你,Jupyter正在腾飞,它是大数据的电子表格,它看起来确实不同,但最终这就是人们使用它的目的。也是网飞的背后支持。网飞的一切都是在Jupyter上完成的,Jupyter每天有3500万用户,且它在五年前才刚刚起步。所以在短短五年的时间里,它就从0开始到3500万用户。它有一个非常活跃的扩展和应用程序生态系统,而我们都是其中的一份子。我们已经扩展了Jupyter的新功能,当然,我们选择Jupyter是因为它令人难以置信得流行,这将吸引更多的开发人员,所以这就是平台如何影响行为。

上图展示了从2017年1月到2020年5月达到800万下载量,由于疫情原因人们居家办公增速又有所提高。但这样做也低估了Jupyter,因为没有算上使用我们平台的两千人。因为他们安装了Jupyter并在云上使用它,使用我们的服务,我们也不是唯一的Jupyter云服务用户,所以Jupyter上有庞大的生态系统。基础是用于服务Jupyter的Jupyter hub,一个结合HTML、markdown、不同程序语言代码的易用平台,但是它远不止于此。我们整合了大量的其他工具包括我们的studio和vs代码进入Jupyter,因而成就了支配网络的主流平台。我们整合自己的studio的原因是另外一个开发者出于自用的目的发布了自己的平台,然后我们就采用并整合进入了我们的服务器。一旦你有的自己的平台,你就会持续的优化它,因为人人都对此作出了贡献。

为什么Jupyter在AI和数据科学方面做得格外出色呢?它所做的工作与电子表格如出一辙,但是其更优质的数据资源获取能力、更出色的编辑和理解能力和计算能力,且对于企业来说它是完全开源的,虽然有一点复杂且难以维护,但是如果你用过R系统,你就会觉得Jupyter也还好。

伯克利也在Jupyter上运行自己的数据科学项目。Jupyter上每天有2000用户来自伯克利校园。每个本科生都会上数据科学导论课程,所以校园里的每个人都使用它,他们现在有关于它的使用的庞大数据量。Syzygy.ca这是一个天文学术语,意思是行星的合相,它是一个Jupyter十九校园联合会的名称。如果你在加拿大的这些学校里,你就能使用Jupyter做云分析。它也因此成为了越来越多用户的流行平台。

每当我推广我们的产品的时候,总是会遇到这样的问题,你们的平台是开源的,我可以自由下载并使用,那我为什么还需要你们呢?我会回答,你可以免费使用,但是我向你出售的是你的时间。你虽然可以在私人云上下载安装并使用,也可以自己维护,但是我向你保证,这会花费你两倍的时间,价值50万美元的开销。我曾经跟生物技术公司的老板聊过,他说他的公司里有一半开发内部应用程序的全栈工程师,花了一半时间维护他们的 kubernetes。这就是人们为什么会支付像我们这样的开源公司了。因为我们写了软件,所以我们比其他任何人都知道知道如何去更好地维护它,但同时也让你可以自由做你想做的事。

每一个开源系统最终都会有一群核心的系统开发者,然后下一级有一群人,这些人通常在私营公司,他们通常是运营商,他们从开发人员那里获取来自开源的东西,并使其可用和打包。没有人会运行原始的Linux,相反,你从 canonical 运行 ubuntu,或者从 canonical 运行 debian,或者从 red hat 运行 fedora。那是因为从安装和维护Linux难度很大,更不用说与之相关的软件包了。这些工作值得去做,这就是为什么他们开展现有业务的原因。第一个意识到这一点的人是美国的signal Solutions,这甚至在 Linux PC 出现之前。1988年,他们开始维护软件和工具,主要是开发工具,他们今天仍然在做这件事,当然他们大部分都是基于Windows,我仍然在Windows PC上运行sigwin,虽然这个业务有些陈旧,但这仍是获得服务的最佳方式。

从图上来看,三个组各司其职。提供者构建它、维护者打包它、而应用程序供应商让它有价值。对Linux来说,有一个小型规模的开发商打底,少数公司维护,然后有大量的附加值公司和增值服务坐拥一切,Jupyter也是如此。所以到现在我们不仅了解如何制作开源软件,还了解价值在哪里以及如何将其转化为商业模式。

——Rick

开源软件明显改变了我们计算的方式,从出现到现在也就20多年的时间,但是像 Apache 软件基金会这样的地方,旗下有超过四百个项目,就像他们对微软所说的那样,Azure比Windows更依赖Linux,Azure云系统很明显成为他们目前工作的主要驱动力。我热爱技术,也喜欢不同的平台,我有个人电脑、有mac也有Chromebook,轮流使用,我有好多数据中心都在用Linux系统。我使用多个发行版,这就是像红帽以及某些东西这样的框架,这使得安装 linux 比搭建自己的内核更容易,对于普通人来也说不是很困难。但对我来说最重要的事情是学术界到底能为工业发展做些什么。我第一个想到的是安全。当我们研究这些类型的东西时,安全需要被嵌入而不是固定在表面,它必须是一个概念,需要被教导。我们正在教像Jupyter这样的东西,我没有听说过伯克利那么专心地使用它。

但这些很棒,我想看到的是学校教你这些,就像教计算机科学和网络安全的硬科学一样。例如,我经常说,如果你在大学期间获得化学学位,你得待过十几个实验室。如果我雇用你,就能确保你已经掌握了如何在化学实验室做数据记录和科学期刊以及数据完整性和学术诚信。但现在我们没有这样的“实验室”或者实训经验,所以很高兴看到像Jupyter这样的东西在课堂上使用,但我们需要知道其他东西,例如我们提出了灵敏的软件开发,我想看到我们的版本控制系统正在被教授,我想看到像OWASP(Open Web Application Security Project,开放网络应用程序安全项目)和STRIDE(微软员工开发并于 1999 年发布的威胁建模框架)这样的安全概念被教导。我希望拥有非常标准的实验室,以便知道我何时从一所或另一所大学雇用人员。我可以在他们的知识基础上进行构建,我不必只是培训他们如何在现实世界中工作。

现在大部分公司都在使用多重云服务,因为这样可以避免供应商封锁。在美国,有个蟑螂汽车旅馆,它的广告讲虫子如何进入盒子不出来,这跟数据相类似。有一句名言只是说数据是新的石油。当你有像Jupyter Notebook这样的东西,或者你知道big query和类似的东西,你的数据数据变成了你正在挖掘的东西,它变成了有价值的或你正在寻找有价值的项目资产。因此,他们可以将您的数据保留在那里,保留服务就足够。你经历了基础设施即服务的演变,运行虚拟机而不是类似的程序即服务或平台作为服务,这就是许多公司试图做的事,他们想为您提供具有独特的供应商锁定的微服务,而这应该是我们需要尽力避免的结果。

我在网络领域所做的最重要的事情是在网络安全方面有三大支柱。第一个几乎适用于任何人的任何角色的任何工作,让你的老板生活更轻松。这样做你已经达到了任何工作的第一个目标,但在网络领域,它延伸到另外两件事。第二件事让人们在晚上睡个好觉,让他们的生活更安全,知道你在工作,让他们能够在晚上睡得着。然后第三件事有点麻烦,但这是完全正确的,让你的老板、你的客户和你的公司远离头条新闻。这几乎是最重要的事情。学术界可以做的是将其视为一门硬科学,开始给人们上课,这不是在反理论,而是一种促进实践的方法。

——Kevin

我在这个领域工作了35年,有个经济学术语叫网络外部性(network externalities)。电话本身无用,除非它能与其他人连通。一个人使用YouTube而非其他视频服务的原因只是因为大家都在使用YouTube。这是一种自然趋势,我不会用垄断来定义它,这是一小撮人的胜利和一大群人的失败。但关于它的疯狂部分是,我们已经在这个领域工作了大约三十五年,最终发生的事情是你意识到总是有一个新的捕鼠器,到处都在创造新的捕鼠器,其中一些捕鼠器技术正在嵌入,无论主导者是谁,或者它创造了新的生态系统并最终吞并了原有的竞争者。

在Google或Yahoo来搜索之前,我们只能看到自己的网络搜索空间,它已经改变了,看看流行的计算机软件语言的趋势,你可以在行业中看到谁在接管,谁在那里。事物在朝着网络外部性趋势发展。而开源就是主要推动力。因为人们可以相对划算的成本进行实验,获得知识和技能并让其变得有用起来,因为其他人也在使用相同的技术。所以如果我创造了一个比Jupyter Notebook更好的捕鼠器,即使它的性能比Jupyter好一倍,如果我向你们收取一千美元的许可证费用,很可能没有人会使用它。这就是我想强调的,其中涉及商业力量,没有东西是免费的。你想使用一些很好的产品,但它要求你能够围绕这些开源技术制作一个简单的按钮,围绕这些环境创造一种价值流。但是我会告诉你,五年后可能有比Jupyter Notebook更好的捕鼠器,而且创新总是在发生,大多数人会失败,有些人会被吞并到其他领域,但这完全取决于你的客户他们处理的需求以及他们试图解决的问题。

凯文和我在研究一种旧的编程语言,它出现在1960年左右,叫做AP L编程语言。它可以进行多重分析?但它主要使用的是希腊字母。现在人们正在以想不到的方式看待数据的多重分析,只是把它扔在那里,因为我们已经解决了某些问题。但现实是,很多问题我们已经解决了却又回到生活当中。我认识四个程序员,他们仍然有很多的工作不知道该怎么做。所以我只是指出,现实是事物永远不会真正消亡,他们创造了一个仍然存在的生态系统,但总有一个新的生态系统最终会取代它。将一切重新回到自己身上,我们生活在一个竞争激烈的世界中,技术不断变化,不断解决新的主要业务问题。如果原有技术不再能解决问题,新金属就会取而代之。在你的解决方案中添加一个新的捕鼠器,只是不移动针头,就创造了一种全新的方法来看待问题,然后用一个新的解决方案,在生态系统中引入以前从未做过的新事物,这似乎就是创新周期。我们只能说出已经看到的东西,却很难预测将来的发展。从学生的角度来看,追随当前的潮流,如果你想让自己在工作中脱颖而出并变得有价值,就应用当前技术的实践,了解如何变成、如何部署。因为目前行业欠缺相关技术人才,而人们已经适应了当前的技术。“所以你可以把自己放在一个非常积极的位置,让自己为这个行业做好准备。我们很难看到看几年后会发生什么,但我们知道今天有什么成功。数据分析的主要趋势和 Kubernetes 或者让我们说路径比如服务等等,这些是火箭科学,但大学一些在课程方面仍在教学生软件工程这些旧的东西。

——Rick

感谢两位的分享,接下来有请Ashok Banerjee,他在网络安全领域有深厚的背景。曾在硅谷最大的安全公司担任CTO,之后再vmware担任副总裁,现在加入了一家新公司Trellix并担任工程高级副总裁。他将从企业、行业以及客户角度分享网络安全领域的发展现状。

——Chris

我发现现在的勒索软件大肆盛行。你加密东西并把它留在公司,有一个过滤,所以如果你有备份,那就是双重和三重勒索。你可以恢复文件,如果它都柏林三重勒索是它之前过滤掉的威胁,即使你恢复它,你的数据也会被盗取。客户端勒索软件变少了,企业端则有所增加。如果有人追踪Chris或我,不再是追踪我们个人,而是我们背后的公司。工作负载站点受到的攻击要多得多。不像说端点,昨天的机器就是今天的机器,我们的台式机和手机在工作负载端它的虚拟机,你不会攻击昨天的虚拟机,你只会弃之不用。然后启动一个新的虚拟机,所以虚拟机中的持久性是没有意义的,它明天就消失了。当它第二天被重新使用时,容器中的持久性就会消失。我认为随着远程工作的到来,一切都发生了变化,更多的事情已经转移到了网上,网络安全成为一个新的前沿领域。

而且你可以从管辖范围之外攻击,无一例外。在人工智能方面最大的区别是。人工智能。和博弈论。在常规AI中,没有人试图欺骗Netflix相信你喜欢你了解的电影。但在网络安全中,每次你接近奶酪时,奶酪都会移动。因为发生了其他事情,你的对手也在通过改变事物来做出回应。

我们确实看到了更多关于开源的信息,今天的开源能占到代码总量的70%。操作系统是开源的,数据库是开源的,Web服务器是开源的。不仅如此。开源上的暗网价格一直在上涨。我们生成的警报是因为网络安全定义越来越趋于绝对。我们检测纯已知的不良行为,定义绝对的好坏。而所有新的攻击都开始越来越模糊。这导致安全分析师降低了警报标准,因为误报仍然比你说它不是攻击但确实是的假阴性要好。

——Ashok

感谢Ashok的分享,接下来有请清华大学王建民教授分享软件领域相关研究。

——Chris

感谢Chris的邀请以及其他专家们所做的分享,我将围绕我们在软件领域的研究作简单的报告。第一个研究是关于智能软件工程。AI现在快速发展,有人说AI算法和AI工程师一体两翼。所以今天的内容也是关于工程学方法对智能软件以及智能方法对软件工程的应用。第二个主题是关于工业大数据软件。当前工业大数据也形成了庞大库,因此我们对不同格式的工业大数据进行有效管理。为了管理并分析工业时间序列数据,我们开发了开源数据库IOTDB。IOTDB是一个专用于物联网应用程序的数据库管理系统,支持从收集、存储、管理到分析的全生命过程循环。IOTDB以多协议兼容性、高压缩比、高吞吐量、工业稳定性以及最低程度操作和维护的特征著称。除此之外,工业大数据管理也面临着诸多挑战。第三和第四个研究是关于工业安全性软件。从工业角度来看,我们有很多实体设备,对我们而言,研究有意的安全威胁(security)和无意的事故风险(safety)差异是非常重要的。第二个问题则是如何让工业网络更安全,尤其是在终端方面。第三点是保护边缘应用程序不受攻击。以上是我分享的全部内容。

——Jianmin

接下来让我们有请下一位嘉宾Pavlina Kröckel,她来自德国的顶尖研究者,关注医疗领域的AI应用程序,她是在工业和学术领域都有较好的成绩,我邀请她来分享一下目前在做的工作。

——Chris

听到讨论很有趣,特别是关于“学术界和工业界之间的工作”,我想谈谈我在德国是如何工作的。我来自德语世界和欧洲最具创新性的大学之一,创建于1743年。它有大约四万名学生和六百多名教授,我所在的信息系统研究所位于纽伦堡,我们曾经是由知名教授Freimut Bodendorf领导,他是德国信息系统的先驱教授之一,现在他已经部分退休了。我们有很多资金和公司是来自该地区和国外的行业合作伙伴。我们可以相对自由地开展项目,同时不受教学时长等来自学校的限制。我们与西门子、阿迪达斯这些龙头企业有着长达十年的合作关系。以上是我们学校的背景信息。信息系统研究大都是应用导向的,因此今天我将围绕近期的学术研究展开,但重点会关注研究结果在工业领域的应用。

我于2019年博士毕业后再大学任教,期间有一个足球学校的项目。我们研究的是数据年轻足球运动员的数据,比如开发人才预测模型,试图预测这些年轻人才中哪一个会成功或中途退出。在跟教授和合作伙伴的讨论之后,我们决定将研究领域转到AI医疗方面。我的研究基于如何让AI系统更值得信任。下图是欧盟委员会提到的可信AI系统的关键要求。虽然这与医疗领域相关性不大,但是医疗领域AI的关注度也在慢慢提升。

我们目前也依据技术安全性和稳健性、隐私和数据治理,开展了一项关于区块链在医疗保健中的应用项目。我们的项目合作伙伴在澳大利亚墨尔本,主题是如何使用区块链技术解决医疗保健领域各种利益相关者的安全数据访问问题,因为它非常敏感,我们目前正在开发一个小型原型应用程序,并且收集墨尔本专家医疗保健专家的反馈,并尝试弄清楚这如何投入实践。当然,我们会遇到公正性歧视等一系列问题。

现在我专注于开始研究三个用例。第一个是医院急诊中的数字孪生。为了与澳大利亚墨尔本科技大学和ETH研究医疗保健研究中心合作,他们有很多来自急诊科的患者数据,我们的目标是尝试弄清楚如何使用这些数据来提高急诊科分流决策的效率。另一个项目再次与斯威本科技大学和默多克儿童研究所,这是澳大利亚最大的研究所之一。他们多年来收集了大量小病人的数据,有很多有趣的问题我们可以尝试解决。例如,为什么有些孩子对常见细菌的反应更差,并发展出危及生命的疾病而有些孩子则不会,这是一个价值百万美元的问题。我们会处理大量的遗传数据,还有环境因素数据等等。我关注的第三个用例是在社交媒体上传播的健康错误信息,但你可以想象在疫情期间会变得威力超强。所以要在阻止误解之前先搞清楚这些信息的内容为什么会大肆传播。以上就是我分享的全部内容。

——Pavlina Kröckel

编辑:王菁校对:林亦霖

关键词: 软件开发 应用程序 网络安全

相关阅读