微软开发工具事业部 Somasegar 谈技术变革的趋势

  • 杨赛

2013 年 6 月 20 日

话题:Windows Azure语言 & 开发

2013 年 6 月初,微软 Windows Azure 服务正式在中国市场启动预览版之前,微软开发工具事业部全球资深副总裁 Somasegar 在中国微软办公室做了一个分享,谈论到很多他对技术变革趋势的看法。Somasegar 所带领的团队负责 Visual Studio、Expression 系列、.NET Framework、Team Foundation Server 等产品线,还负责管理 MSDN、TechNet 等微软网站。同时,他本人也负责领导微软在中国、印度和以色列的三个海外研发中心。

InfoQ 中文站将 Somasegar 本次分享中的一些观点进行了整理,发布如下。

首先,在 Somasegar 看来,目前在全球范围内,技术方面的变革主要在三个方面:

第一,数字设备正在迅猛增长。今年早些时候,中国宣布拥有全球最多数量的智能设备,我想这一趋势在今后几年还会持续。预计在今后五年中,全世界智能设备的数量将会是全球人口总数的 2 至 3 倍。应用程序和数据会从一个设备流向另外一个设备。

第二个趋势,云计算。所有这些数字设备都会连接到云端,以便为消费者提供服务。对企业而言,最重要的问题是:如何最大限度得益于基于云的 IT 基础架构?怎么样能使我的应用和我的业务联系起来?云的应用将如何影响我的收益?许多企业都想按照自己的方式进行运作,他们有自己的发展节奏。

第三个趋势是数据爆炸。随着设备数量变得越来越多,在今后五年中,人类社会产生的数据将会超过人类历史到今天为止所有数据的总和,每一年比前一年数据的增长量达到了 10 倍。同时,每年都会有新的设备出现,会产生新的数据类型。

面对这三个趋势,Somasegar 认为,软件一直是推动整个世界不断变化和发展的重要力量,它在今后将会发挥更为重要的作用。

我们相信,微软正处于一个转型的时间点上,我们将会以软件作为自己的核心竞争力或核心资产,为消费者和企业提供以软件为核心的设备和基于云端的服务。

Somasegar 认为,现在的应用开发模式已经发生了转变:从上世纪 90 年代的 C/S 架构,到本世纪初的 B/S 架构,下一个模式将是 Device/Cloud 模式。

我们需要提供平台和工具,不仅能开发 C/S 架构和 B/S 架构的应用,也要开发能够适应 Device/Cloud 模式的应用。

平台,主要指 6 月 6 日在中国开始公测的 Windows Azure:

云服务是中国政府不断提倡的一种新兴的模式。Windows Azure 在中国的进展对于微软公司继续保持在业界的领先是非常重要的。更为重要的是,这为我们提供了一个机会参与到中国的生态系统建设中去。与此同时,我们的基础架构合作伙伴世纪互联,他们也有在数据中心方面长期的运营经验和良好的可靠性。

而工具,则是新版的 Windows、Windows Server、System Center、SQL Server、Visual Studio 等产品。这些产品的新版本都会陆续在今年发布。

一方面,应对变革体现在提供新的平台和工具;另一方面,Somasegar 表示微软本身的开发模式也进行了改变,工作节奏进行了大幅提升:

在过去,微软经常会说,接下来 6 个月我们要形成一个新的产品或功能,接下来一到两年我们会做某一个产品的测试。现在,周期的长度大幅缩短了。比如 Visual Studio,2012 版是在去年 9 月份发布的,而 Update 1 和 Update 2 都是在同一年内发布的。

无论是前端还是后端,原先的开发周期是按年和月计,现在都是按周和天计。另外,我们也在实践 DevOps,从设计到实践到部署、交付,都是新的节奏。

对于设备越来越多的问题,Somasegar 认为开发者们需要一种“标准化的开发包”来实现一次开发、到处部署:

随着设备越来越多,平台越来越多,更多的开发者会想,如何使我们开发的应用更广泛地到达更多的设备和人群?每隔 6 个月,微软都会做一个全球开发者的调研。在过去的两三年里,问卷调查结果表明,大部分开发者需要能够把他们的应用部署到三个平台上。

微软对于未来有一个非常大的赌注,就是我们希望能够有一种标准化的开发包,一方面可以进行 HTML5、CSS 和 JavaScript 的应用开发,可以支持到 UI 设计人员的层面;另一方面又可以支持传统应用的开发,尤其是 C++——C++ 到目前为止是最具有平台一致性的语言。Visual Studio 的目标就是要帮助开发者,让他们使用现有的技术和工具就可以将应用一次部署到多个平台上去。比如,Visual Studio 2013 版本中的 Connected IDE 就提供了将你的应用部署到不同平台上的功能。

在 Somasegar 的分享之后,InfoQ 编辑就微软在开源方面的一些工作与 Somasegar 进行了交流:

InfoQ:对于很多开源领域的开发者来说,面对 Windows Azure 的第一个疑问就是:我的应用服务都是基于开源技术的,它们原本都是在 Linux 服务器上跑的,放在一个底层由 Windows 构建的云环境,能跑得好么?您要如何应对开发者的这种疑问?

Somasegar:首先最重要的一点就是,Windows Azure 是一个开放平台。现在,Windows Azure 的 SDK(软件开发工具包)已经支持 Java、PHP、Node.js 等多种语言和开发环境。

第二,Windows Azure 支持 Linux。之前我们宣布了一个 Windows Azure Infrastructure Services,这个服务可以运行 Windows VM 和 Linux VM。

第三,今天的 Windows Azure 有很多东西都已经开源了出来,开发者可以自行获取这些组件的源码,了解它们是怎么写的。另一方面,我们的工具也在吸收开源领域的一些成果,比如 Visual Studio 和 Team Foundation 中就引入了 libgit2 来支持 Git 部署方式

从微软的角度,我们要继续与开源世界进行合作,并且我们要逐渐去打造和形成开源世界对微软的正确观点和看法。在过去的一两年时间里,我们也做了一些努力,比如我们成立了微软开放科技公司(Microsoft Open Technology, Inc.),这家企业的主要任务是能够实现微软和开源社区之间的沟通。

InfoQ:对于开发工具这方面,现在除了用 Visual Studio 开发、部署 Windows Azure 的服务之外,微软是否也对 Eclipse、Netbeans 等开源 IDE 提供相关插件支持?

Somasegar:这问题问我的话,我肯定会说 Visual Studio 在为 Windows Azure 开发应用的领域内是最好的工具,没有之一。Visual Studio 是个好工具,以至于 Amazon Web Services 都想为 Visual Studio 开发往 AWS 部署应用的插件呢。

当然,我们对 Eclipse 是提供插件支持的。

Windows Azure语言 & 开发