微软开发平台事业部全球资深副总裁潘正磊谈 Visual Studio 敏捷开发与 Azure 在国内的发展

  • 水羽哲

2013 年 12 月 14 日

话题:.NET微软Azure语言 & 开发

2013 年 12 月 5 日,TechEd 2013 大会在北京召开,这次大会以“创新、开放、社区”为主题, 来自云微软和相关合作伙伴、社区的技术专家在会上和大家分享了微软的最新技术进展,今年是 TechEd 进入中国 20 年,微软在会上正式宣布启动第二届微软云创益大赛,开发者可以通过大赛官网报名参赛。

会上,我们围绕“敏捷开发”、“Visual Studio”、“Azure”等问题采访了微软开发平台事业部全球资深副总裁潘正磊女士,潘正磊于 1992 年加入微软,在微软已经工作了超过 20 年,现任微软开发平台事业部全球资深副总裁,她所在的 Developer Division 部门,负责 Visual Studio、TFS 等开发测试、架构的工具和.NET 等,早在 2009 年,InfoQ 就针对 Visual Studio 过程中的敏捷实践项目管理对潘正磊做过专访。

敏捷与开发

InfoQ:您台上讲了 DevOps 也是最近几年比较流行的趋势,能具体介绍一下微软对 DevOps 怎么支持的?微软的支持有哪些特色?业界其他家也在做这个事情,微软有哪些优势?

潘正磊:DevOps 是一种新的方法论,我看到中文的翻译是“敏捷的运维”。美国总部不管是 Bing 的团队、Office 团队、Windows Azure,还是我们自己做服务,本身采用的全是 DevOps 的这种体系。具体来说我们做 Visual Studio Online,就没有用一个运营的团队。我们只是开发下面有几个人,万一有突发事件,他们做第一时间处理。他们做完第一时间处理之后,其他的问题都是由我们的开发人员来处理,这实际上把 DevOps 运行到全部把这两个部门并成一个部门的情况。我们能够做到这样,也是因为我们架构在 Windows Azure 云上,我们没有任何的服务器,或者是硬件设备需要去处理。像 Windows Azure 团队,我们有一个全球的 GFS (Global Foundation Service),他们帮忙管理全球的数据中心,他们也并不管数据中心里面 Azure 的运行,他们管这个数据中心的电、网络、机器的维护。在微软我们 DevOps 得到非常大的支持。我们真的是非常的深信,尤其像我们发布速度非常快的情况下,只有开发团队真正的承担了运营时候的责任,才能保持在开发和运营时候高的质量的交付。这是 DevOps 的精华。

另外一方面使用 DevOps 把这套理念放到开发桌面的产品上,这也是我们一个创新。如果你从一般来说,Visual Studio 你说是一个桌面产品,桌面产品为什么也有 DevOps,如果你想把这个想成让用户能够第一时间来使用我们的软件,这个 Ops 就是把我们发布到或者 MSDN 的门户网站还是下载中心,只有全部做完产品放到那上面成功下载,我们才做到用户可以使用这个产品。我们一年做了四次的更新,我们也加快我们发布的节奏。我们也需要把 DevOps 周期缩短,DevOps 另外一个重要的理念,我前面提到,把你用户的反馈跟你运行中得到的数据很快拿到迭代里面来,这是我们这个里面同样放到桌面产品的开发。

我们对 DevOps 认识还是非常深刻,我们自己确实每天都在使用这些理念和方法论。微软一向是把自己使用过的、并且觉得成熟的产品拿出来推给业界,也就是“Dogfooding”,这在微软是很有名的传统,我们也是把“Dogfood”过的这些工具拿出来给分享给全球的开发团队。我觉得我们的体会、经验还是有其他公司不太可以比的地方。

再给大家讲一个,Visual Studio Online 有一个预览的功能,叫 Application Insight(程序洞察力)。它在运行的机器上面,每台机器上装一个 agent,可以把你运行中的数据汇总到 Dashboard 上面,它帮你监控运行的情况。我们做了非常好的结合,如果有突发事件,可以把突发事件连接到突发事件是你做了上一次部署之后发生的,你上一次你部署的时候有哪些代码的更动,可以把这些事情连在一起,帮助你快速解决运营中发现的问题。这种能力也是其他公司不太具有的,而且我们提供的支持,我们说的是Hybrid,也就是说我们的 Application Insight,作为一个服务是在我们云服务上面。但是它可以用来不管你在本地部署的程序,还是在云里面架构的程序都是可适用的。混合的提供能力,我也很少看到其他的厂商有这种类似的能力。

从各个方面来说,不管是混合云,对企业级的软件应用的经验上,和把我们自己的实践提供为工具,这方面我们还是有很多优势。

InfoQ:您刚才提到现在很多公司四分之一的开支在四大趋势(大数据、移动、云计算、社交)上,在四大趋势上,开源软件他们在这一块做的比较领先。我看到微软把开源软件更多引到自己的平台上,包括 Hadoop,你们怎么看待开源的事情?

潘正磊:我们希望大家得到的很重要的信息是微软对开源的态度可能跟两三年前业界的理念已经大大不同。不管从今天的 Azure 上面演示所启动的 Linux,还是拿安卓或者 iOS 的演示,亦或是微软跟其他开源社区的合作关系,开源技术成了整个技术环境中非常重要的组成部分,我们也深信微软参与开源的技术有了足够的经验。在开源方面,接下来会有更大的动作,包括我们在美国有一个 OpenTech 的公司,他们专门帮我们敏感性的开源技术,我们也在考虑会在中国放一个类似的机构。

Visual Studio

InfoQ:我问几个关于 Visual Studio 的问题,最新的版本加大对移动开发的支持,包括我们和 Xamarin 都有一些合作。通过.NET 开发应用,我们部署在这些平台上,它的应用体验和 Windows 的体验上差距有多少?和原生的应用差多少?

潘正磊:Visual Studio 主要还是透过 Xamarin 把应用编辑成原生的机器码,所以 Xamarin 更多程度上是 VS2013 的插件。我们在这里的思路很先进,像 HTML 5,更多是中间件的概念,大问题是你打包整个中间件到设备上的时候,第一效能很慢,第二兼容性大家都听到很多负面的东西。我们在前端解决这个问题,机器码就是他们原生的东西做,这是不一样的事。 我们发现很多的应用程序它里面有很大的一个比例,我们叫商业逻辑,经常会达到 70%、80% 的代码量。它这个代码量,不管你在哪个平台上运行都是最后的核心。而 MVC(Model View Controller )中,除了那个 View,Model 和 Controller 这两部分,你哪个平台上都是一样的,如果你在苹果上面有苹果的 view,你在安卓上有安卓的 view。所以你的用户体现是非常好的,因为它就是一个本地的 iOS 和安卓的 App。

InfoQ:我们看到 Visual Studio 有很强大的项目管理和异地协作功能,能不能谈一下内部怎么用 Visual Studio 开发?如何做产品新功能的需求搜集?

潘正磊:我们整个 Division 都是用我们自己的 TFS 跟我们自己的 Visual Studio,整个大的部门大概 2000 人左右,全部的团队都放在三个星期的迭代计划上。每三个星期做完之后就会出一个 Dogfood 的 Build,整个部门的人基本要求大家都需要 Dogfood。保证我们做很多新的功能的同时,整个基础是非常高质量的基础。对于 Visual Studio,我们没有一个专门的团队只做市场调研,我们是有标准的市场团队和研发团队。研发团队很重要的一部分工作是和客户交流的时候得到这些信息。我们有各种各样的渠道去跟用户交流,得到他们第一时间的反馈,这也是研发团队比较重要的一部分工作,通过这方面,我们能对总的产业的趋势有些认知,具体用户最需要的要求和需求是什么。

Azure

InfoQ:目前国内 Azure 市场份额有多大?

潘正磊:在中国是处于试运营中,去年 11 月 1 号是我们跟上海市政府以及世纪互联在上海签了一个备忘录,承诺会尽快将 Windows Azure 和 Office 365 借助世纪互联的运营团队在中国落地。基本上世纪互联的团队帮我们在中国运营整个 Windows Azure、Office 365。5 月 22 日鲍尔默访华的时候,正式的把中国的 Windows Azure 落地。6 月 6 号正式开始公测 Windows Azure,8 月 8 号正式公测 Office 365,这个阶段我们目前还没有公布,向市场汇报我们开始我们的,目前也没法告诉你一个比例。但是,在短短的半年的时间里面公测的时间,Windows Azure 已经有了 2000 多个用户。其中 70 多个用户是付费的,大企业的。

InfoQ:对 Azure 来说你们对哪一类用户感兴趣?

潘正磊:当然这个东西要因地制宜,如果全球来看我们对企业用户最感兴趣,企业级用户安全的要求、份额的要求,我们可以提供最佳的解决方案。中国游戏业非常热,明天在上海我会见一两个做游戏的。我也想体会一下得到一些更多的中国市场的信息。微软在全球的优势以及我们自身在公有云、私有云、混合云的优势,微软是唯一一家能够给客户提供混合云的服务提供商。大企业一定是微软在中国 Windows Azure 锁定的非常重要的群体,恰恰在过去的不到一年的时间里面我们跟大企业客户沟通当中,他们也因为微软这项独特的优势对云产生很大的兴趣。大企业他们一般都有私有云的经验,自己都有数据中心,买了很多服务器。现在有一些业务需求需要放到公有云, 是对他已有的数据中心的延伸,比较多是混合云的模式。这个微软是驾轻就熟,微软提供的 Windows Azure 是可以支持所谓的友商的机器,包括开源的东西,这部分是毋庸置疑的。

可口可乐已经是我们的客户,他把数字营销的运营网站放到 Windows Azure 上。因为大家也知道可乐在季节性促销上动作很多,一旦到圣诞节、相信它的互动营销用户数量和访问速度就会到了一个峰值,大家在休息过年的时候就会落到低谷,这个是目前最符合业务需求的表示。其对于 Windows Azure 来讲最追求的两部分,互联网它本身的业务形态对公有云产生天然的需求,还有一部分无论是全球还是中国的蓬勃发展也是我们比较想去锁定的一个领域。不知道您是否知道 8 月 3 号互联网大会上分享的 PopCap (植物大战僵尸) 已经把服务放到 Windows Azure 上,互联网企业更多了,PPTV 稍候还会跟大家分享更多互联网的东西,Windows Azure 不仅仅在中国给 PPTV 提供服务,同时 Windows Azure 海外服务也能够帮 PPTV 向东南亚、美洲提供无缝的品牌,这对中国的互联网企业来讲是难得的走出去的一个优势。

.NET

InfoQ:最后一个问题,.NET 之前很广泛的运用,现在到了移动到了 Windows 7、Windows 8,微软谈.NET 谈的少,很多人希望知道微软对.NET 未来的发展方向是怎样计划的?

潘正磊:.NET 是我们的基础技术,.NET 的过去十年中它是起了非常重要的,不管你做 Client 还是做 Server 我们有统一的.NET 平台给你提供新的“设备 + 服务”中,我们应该用.NET 的优势,提供一个更适合于设备和服务的.NET。你可以同样用你现在所有的技能开发更适合于设备和服务的程序。我们其实在美国做 Visual Studio 2013 发布的时候做了一个演示,我们做了一个 Fresh Paint,是 Windows 8 的 APP。我们是启动两个 Surface,同时点击,一个是没有进行优化的,它启动比较慢,另外一个是做了本地语言的.NET,我们编译成本地语言,它启动的非常快。这是我们正在做的,还没有正式发布,我们也是为了让所有的开发人员一睹为快,让他们知道我们在.NET 有非常大的投入。在 Windows 的平台上有非常大的提速,不需要他们做任何事情。

.NET微软Azure语言 & 开发