![](http://www.ctiforum.com/uploadfile/2018/0330/20180330092445403.jpg)
OSCAR尖峰开源技术研发创新奖名单发布及颁奖仪式
在云计算、大数据、人工智能等技术交织的科技时代,开源已变得无处不在。近年来,我国云计算,尤其私有云的发展势头迅猛。开源技术逐渐成为云计算发展的重要支撑,深刻影响着整个信息技术产业的发展格局。开源并不是技术,而是一种理念和思想。早在2015年,微软公司CEO萨提亚·纳德拉提出的“Microsoft Loves Linux”,刷新了大家对于微软的认识。实际上微软正在以前所未有的开放胸怀积极拥抱整个开源世界,为开发者创造理想的开发工具和开发环境。
微软爱开源
从Windows 10操作系统原生支持Ubuntu到PowerShell和。Net Core开源,从SQL Server推出Linux版本,到可以面向不同操作系统、框架、语言、设备编程的Visual Studio开发工具。微软正在以“支持、整合、贡献、生态”策略为指引,全力以赴地加强在开源世界中的投入和贡献。
作为微软三大远见的核心,微软智能云Azure从底层基础设施、容器、数据库和中间件,乃至平台框架、开发运维、应用程序等各个层次全面支持开源,打造了一个全面开放、灵活智能的云计算平台。从全球到中国,Azure已经加入了对Red Hat Enterprise Linux、CentOS、SUSE Linux、UbuntuLinux、Kubernetes、 Cloud Foundry、FreeBSD、MySQL、PostgreSQL、Hadoop、Hive、Spark、Mesos等开源技术的官方支持。同时,在开发项目上,微软也加入了对各大开源语言与框架的支持,如Java、Python、Go、Ruby等,都与。NET及C#有同样充足的专业团队维护。这些努力,旨在为全球用户提供更多、更丰富的应用选择,不管用户偏好使用Windows Server、 Linux操作系统或是各种开源工具,都能在Azure上顺利运行,并且获得完整的知识产权保护及技术支持。在中国运行的Azure上,更有超过60%虚拟机运行各种开源应用。
为Java 开发者打造最优的云端开发体验
微软爱开源,也爱Java。
通过在Visual Studio开发工具和微软智能云Azure上的一系列努力,微软正在从DevOps开发运维的各个角度,为Java开发者创造最好的开发体验。
首先,微软在开源跨平台代码编辑器Visual Studio Code上提供了一系列工具来支持Java,例如Red Hat支持Java语言插件,目前已经有超过300万次的下载量。在GitHub上,微软工程师也在持续不断地贡献代码到支持Java语言的插件,在过去一年中就陆续推出了Java调试器、Java Test Runner 、Maven Explorer、Tomcat、CheckStyle等项目。
面向云计算时代的大势所趋,微软也在努力为Java开发者打造更好的上云工具。微软提供的Java SDK开发包,允许开发者通过 Java 使用和管理微软Azure平台上的资源。Maven插件项目让Java应用可以直接通过Maven插件部署到App Service和Azure Function等Azure服务上。目前微软已经面向Visual Studio Code、Eclipse、IntelliJ等开发工具,提供了Azure App Service插件,最近还在Visual Studio Code中加入了针对Azure Functions的插件。
针对当前最流行的Java Web框架Spring,微软专门推出了一系列的Spring Starters,方便开发者更轻松地将他们的Spring应用与Azure服务中的服务总线、存储、Azure Active Directory、Azure Key Vault、Azure CosmosDB/Document DB 数据库服务提供 Spring Data 支持。
为了进一步改善开发者在Azure上应用Java编程的便利性,在接下来的几个月中,微软将发布更多针对针对Spring、Gradle工具的新功能,还将在Visual Studio Code中发布Kubernetes插件,让用户更轻松地部署Java应用到Kubernetes微服务平台并在本地调试。
从云到端的完整物联网开发解决方案
面向物联网应用,微软智能云Azure提供了完善的IaaS, PaaS和SaaS云端服务和边缘智能解决方案,广泛涵盖了从设备管理、数据分析、人工智能到业务展现的各个层次的需求。无论是初次接触物联网,还是经验丰富的专业用户,都能找到合适的工具和技术,打造端到端的完整开发体验。
Azure IoT Edge:将云智能扩展到边缘设备。Azure IoTEdge可实现混合云和物联网解决方案,在跨平台物联网设备上直接无缝部署和运行人工智能、Azure 服务和自定义业务逻辑。基于Visual Studio Code编辑器,微软为开发者提供了支持多语言和多服务的无缝开发体验,目前下载量已接近2万次。
Azure IoT轻松诊断解决方案:端到端的物联网诊断。只要在设备中集成AzureIoT 设备SDK,即可以获得物联网解决方案中端到端的诊断功能,让开发者可以方便地诊断已连接设备和丢失的数据包、了解跨Azure云服务跟踪设备消息、使用分析工具获取设备端到云端的所有事件等。
Azure IoT 腾云之路与在线树莓派模拟器。微软准备了上百篇新手教程,帮助开发者在几分钟内将自己的设备连接至Azure智能云。这些教程囊括了500多种市面上主流的物联网开发板,包括C, Python, Node, Java, C#等主流开发语言。此外还有进阶教程,帮助开发者将已连上Azure的设备结合Azure智能云的其它功能,做进一步的设备管理、人工智能数据处理,数据可视化等功能。开发者没有物理设备也没关系,微软提供了在线的树莓派模拟器,帮助开发者跨出物联网开发的第一步。
使用Visual Studio和Visual Studio Code管理物联网服务和设备。为了给开发者提供无缝的开发体验,微软在最流行的开发工具Visual Studio和Visual Studio Code中提供了连接Azure IoT的插件,目前已经有超过8万用户下载使用。
使用 Azure IoT Devkit 物联网开发套件进行快速物联网项目开发。在去年9月的微软Ignite大会上推出的Azure IoT DevKit开发套件,在一块信用卡大小的开发板上集成了物联网开发和评估所需的常见的传感器、屏幕与安全芯片,用以帮助物联网开发者迅速上手,而无需在硬件选型与连接上花费时间精力。依托Visual Studio Code,用户可以使用Arduino代码对设备端进行开发,并方便地连接到Azure IoT和其它丰富的Azure服务。目前此开发套件已经成为微软各项物联网培训和会议上所使用的首选开发套件。
Arduino 扩展。Visual Studio Code构建了 Arduino 扩展, 以满足来自Arduino开发者和社区长期以来对代码提示、项目创建、代码片段、例程集成等功能的需求,还提供了Arduino IDE 中缺失的硬件调试。自2017年4月首次发布以来, 这项功能在VisualStudio Code市场上的下载量已超过13万次,成为很多Arduino物联网开发者首选的开发工具。
Azure长远规划:在云端为开源工具提供一等支持
越来越多的开发者希望使用成熟的开源工具来构建和操作大规模的云应用,因此微软的长期目标是在Azure智能云平台上为主流的开源工具提供一等支持。为此,微软也在持续、积极地贡献代码到开源社区项目中,目前微软智能云Azure正重点支持的项目包括Kubernetes、Jenkins、Ansible、Terraform等。
Kubernetes(K8S)是用于自动部署、扩展和管理容器化(containerized)应用程序的开源系统,也是目前主流的微服务与容器架构工具。随着K8S的项目发起人Brenden Burns与主要贡献者Gabe Monroy相继加入微软,K8S更成为微软容器服务(Azure Kubernetes Service, AKS)的重要元素。微软除了将K8S提供托管服务版本的AKS外,更宣示将在开源方面持续贡献该项目,以及发展更丰富的开发、运维相关工具(包含Helm、Brigade、Draft等)与源代码,同时也与Visual Studio Code进行深度集成。
Jenkins是一个非常受欢迎的开源自动化服务器,主要用于设置软件项目持续集成和交付 (CI/CD)。Azure镜像市场已经提供了Jenkins 解决方案模板,帮助用户使用Azure 资源托管 Jenkins 部署或扩展现有的 Jenkins 配置,其最新功能不但允许用户在虚拟机上运行Jenkins Agent,还能在Azure容器实例上运行Jenkins Agent。
另一个开源自动化产品Ansible主要用于自动执行云预配、配置管理和应用程序部署。使用 Ansible 可预配虚拟机、容器和网络,以及完成云基础结构。 一方面,微软直接贡献代码到GitHub上的Ansible开源项目,让它能更好预配Azure的资源;同时也在Visual Studio Code里发布了Ansible插件,为Ansible Playbook的开发提供了很好的代码智能提示、自动补全和本地、容器、远端SSH、云端执行的支持。
Hashicorp Terraform是一种用于预配和管理云基础结构的开源工具,用于编写描述云资源拓扑的配置文件中的基础结构,例如虚拟机、存储帐户和网络接口。在Terraform的Registry里里可以找到诸多Azure的模块,其中一部分由微软开发,另一部分则直接由社区的爱好者们贡献。
类似这样由微软开发团队与开源社区共同努力打造的开源项目不胜枚举。目前微软有超过6000位工程师投入开源项目,9700多个开源组件被采用,发布开源项目超过3000个。微软还在持续不断地将过去闭源的项目逐渐开源,包含Service Fabric、Windows Container、Service Broker等,并不断与广大开发者社群一起贡献更多开源项目。
继2016年在 “章鱼猫报告”中上榜GitHub贡献最高的组织之后,微软Visual Studio Code在2017年成为贡献者最多的项目,一方面证明了开源社区对Visual Studio Code的喜爱,同时也证明了微软实实在在地兑现了自己对于开源世界的承诺。
如今,数字化转型已经成为摆在全球各地每一家企业、组织乃至政府部门面前的关键议题。数字化转型带来的不仅是更高效、更智能的生产力工具,也为企业和组织的业务模式、组织架构、技术平台提出了新的要求。微软开发平台事业部全球资深副总裁潘正磊女士曾在2017年11月的微软技术暨生态大会上表示:“开发者正在迎来最好的时代,市场、技术、业务需求的快速发展也为开发者提出了更高的要求和挑战。希望微软提供的技术、工具、平台、服务,以及深厚的知识积累和实践经验,能帮助中国开发者不断增强实力,决胜数字化转型深水区。”