從Java到物聯網,微軟智能云全力支持開源創新
今天,“微軟愛開源”已經不是新聞。
從 Windows 10 操作系統原生支持 Ubuntu 到 PowerShell 和 .Net Core 開源,從 SQL Server 推出 Linux 版本,到可以面向不同操作系統、框架、語言、設備編程的 Visual Studio 開發工具。微軟正在以“支持、整合、貢獻、生態”策略為指引,全力以赴地加強在開源世界中的投入和貢獻。
作為微軟三大遠見的核心,微軟智能云 Azure 從底層基礎設施、容器、數據庫和中間件,乃至平臺框架、開發運維、應用程序等各個層次全面支持開源,打造了一個全面開放、靈活智能的云計算平臺。從全球到中國,Azure 已經加入了對 Red Hat Enterprise Linux、CentOS、SUSE Linux、Ubuntu Linux、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 IoT Edge 可實現混合云和物聯網解決方案,在跨平臺物聯網設備上直接無縫部署和運行人工智能、Azure 服務和自定義業務邏輯。基于 Visual Studio Code 編輯器,微軟為開發者提供了支持多語言和多服務的無縫開發體驗,目前下載量已接近 2 萬次。
AzureIOT 輕松診斷解決方案:端到端的物聯網診斷。只要在設備中集成 Azure IoT 設備 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 月***發布以來, 這項功能在 Visual Studio 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 的喜愛,同時也證明了微軟實實在在地兌現了自己對于開源世界的承諾。