日前,微软开发平台事业部全球资深副总裁潘正磊(Julia Liuson)从美国总部回到北京参加TechEd2013,在大会现场,潘正磊接受了CSDN的访谈,对于微软研发团队如何运用DevOps模式、对开源的态度、Visual Studio 2013的移动开发能力、开发者的转型、.NET的未来以及记者提出的各种问题,潘正磊分享了精彩观点。
微软开发平台事业部全球资深副总裁 潘正磊 CSDN配图
记者:微软如何支持DevOps?微软的优势在哪?
潘正磊:DevOps是一种新的方法论,我看到很多中文把它翻译成敏捷的运维。微软美国总部不论是Bing团队、Office团队、Windows Azure,或者是微软自己做服务的时候,都采用了DevOps模式。以Visual Studio Online为例,我们没有一个(单独)的运营团队,只是开发下面有几个人,万一有突发事件,他们会做在第一时间处理。紧急处理之后的其他问题会由各部分的开发人员接手,这实际上是通过DevOps把两个部门并成一个部门的情形。
因为Visual Studio Online架构在Windows Azure云上,(本地端)没有服务器,或者是硬件设备需要去处理。而Windows Azure本身会由GFS(Global Foundation Service)维护,由他们负责管理全球的数据中心。在(产品)发布速度非常快的今天,只有开发团队真正承担运营责任的时候,才能保持在开发和运营的时候高质量交付,这是DevOps的精华。
另一方面,将DevOps这套理念放到开发桌面产品上,这也是一个创新。如果想让开发者在第一时间反馈产品的体验,我们会将它发布到MSDN或者下载中心。Visual Studio新版本今年做了四次(大)更新,期间将用户反馈和产品运行中的数据反应到迭代的版本里。
微软有个有名的传统,总是把自己内部先使用过、并且觉得成熟的产品才拿出来给到业界,我们内部称之为“DogFooding”(吃自己的狗粮)。
值得一提的是,Visual Studio Online有一个预览的功能叫做Application Insight(程序洞察力),它在每一台运行的机器上面装一个Agent,它可以把运行中的数据汇总到一个Dashboard上,帮助开发者监控运行情况。如果有突发事件,可以把它连接到上一次部署之后,包括部署的时候有哪些代码变更,能帮助开发者快速解决运营中发现的问题。这个能力是其他公司不太具有的。Application Insight可以作为一个服务跑在微软的云服务上,不论你的程序是在本地部署,还是在云架构上都可以适用。这种混合的提供能力很少有其他厂商能够做到。
记者:我们看到微软正在将更多开源软件引入到自己的平台上,未来还有哪些后续计划?现在微软如何看待开源?
潘正磊:微软对待开源的态度跟两三年前业界的传统观念已经大大不同了。我们今天在Windows Azure上演示,上面启动的是Linux。另外,我们还用安卓或者iOS来演示应用。包括ASP的开源,人们可以看到微软在对待开源上的改变。开源技术是整个技术环境中非常重要的组成部分,微软有参与开源的技术(能力),并且有足够的经验,未来在开源规划上会有更大的动作。微软美国有一个OpenTech公司,专门帮助处理敏感性的开源内容,正在考虑会在中国放一个类似的机构,听取更多的信息。
记者:我们看到微软在新推的Visual Studio 2013功能中明显加大了对移动开发能力的支持,包括通过Visual Studio结合Xamarin利用C#语言来构建跨平台(Android、iOS)移动应用,这些直接“迁移”过去的应用和原生应用的用户体验是否有差距?
潘正磊:Xamarin技术核心是这样,很多应用程序里有很大一个比例代码,这部分核心我们叫做商业逻辑。这一部分经常会占到70~80%的代码量,不管在哪个平台上运行,它都是最后的Core。例如Model View Controller (MVC)模式,除了View,Model和Controller这两部分,在哪个平台上都是一样的。接下来是专门针对不同平台的View。通过Xamarin会将跨平台的代码编译成本地的执行码,效能和用户体验会非常好,因为它就是一个本地的Android和iOS的App。
记者:我们看到Visual Studio有很强大的项目管理和异地协作开发功能,包括Visual Studio本身的开发也是用到了Visual Studio,能详细谈一下吗?
潘正磊:我们整个Division都是用自己的TFS和Visual Studio,整个大的部门大概有2000人左右,全部的团队都放在三个星期的迭代计划上。每三个星期做完之后就会出一个DogFood的Build,整个部门的人基本都要求大家做到DogFood,这些产品我们自己天天都在用。
记者:大量的微软.EXE软件开发人员面临向Windows Phone和Windows 8的(商店应用)的转型,这种转化过程对他们门槛如何?
潘正磊:应该没有门槛。不论是C++还是.NET开发者,依然可以用.NET框架,不论是做客户端或者是App编程,很多API都是完全一致的。对于一个开发者来说,门槛实际上相对非常低。
记者:微软的研发团队能推出很多具有创新功能的产品,微软如何把握这些新的技术趋势或功能点,微软内部是不是有一个专门有一个市场调研团队,根据用户需求来开发新的功能?
潘正磊:以Visual Studio为例,我们并没有一个专门的团队只做市场调研,我们是有标准(通用型)的市场团队。研发团队也会通过各种各样的渠道去跟用户交流,得到他们第一时间(对产品)的反馈,这也是研发团队工作中最重要的工作。
记者:微软对.NET技术的未来是如何规划的?
潘正磊:.NET是微软的基础技术,在过去十年中起到了非常重要的作用,不论开发者做客户端或者服务器端开发都有统一的.NET平台,我们应该利用.NET技术的优势,未来提供一个更适合于设备和服务的.NET。开发者可以用现有的技能开发更适合于设备和服务的程序。微软在美国发布Visual Studio 2013的时候做了一个演示,用.NET开发的Windows App,同时启动在两个Surface上运行,一个没有经过优化,启动比较慢,另外一个是编译成本地语言的.NET,启动非常快。这是我们正在做的,还没有正式发布。这次演示我们是为了让所有的开发者一睹为快,让他们知道微软在.NET上的投入非常大。在Windows平台上有大提速,这不需要他们做任何事情。