みなさんはマイクロソフトと聞くとどういう会社を思い浮かべますか。パソコン上で動く Windows や Microsoft Office を販売している会社というイメージですか?最近では Office 365、Microsoft Azure といったクラウドサービスもはじめましたね。iOS や Android 上で動く Office アプリなんかも配っているようです。でも、それだけじゃありませんよ。
Linux に代表されるオープンソース (OSS) は、かつてはマイクロソフトの宿敵といわれていました。しかし、いまや、マイクロソフトは世界で一番オープンソースに熱心な企業かもしれません。マイクロソフトでは、オープンソースへの貢献、開発環境の提供、そして運用環境の提供を積極的に行っています。たとえば、ソフトウェア開発プロジェクトのための代表的な共有 Web サービスである GitHub では、マイクロソフトのリポジトリがあり、約 270 のプロジェクトが登録され、860 人のマイクロソフトメンバーが貢献しています。(2015 年 11 月現在)
Visual Studio を使ったオープンでクロスプラットフォームな開発
まずはオープンソースへの貢献と開発環境の提供から見ていきましょう。
最新の Visual Studio 2015 では、HTML/CSS/JavaScript による Web アプリ、JavaScript/Cordova を利用した Hybrid アプリ、C#/Xamarin が実現する Native アプリ開発、そして C++ によるクロスプラットフォーム開発にも対応しています。(オンライントレーニングでやり方を学べます)
iOS や Android のアプリを Windows と同じコードベースでクロスプラットフォーム開発することも可能です。
また、Visual Studio ではたとえば、Python のような Windows プラットフォームでは標準ではない言語を使ったプログラミングを、Python Tools for Visual Studio を使って行うことができます。(オンライントレーニングでやり方を学べます)
加えて、GitHub に直接プロジェクトを保存することのできる Visual Studio の拡張アドインもリリースされていますので、オープンソースプロジェクトでの開発環境として Visual Studio を利用することもできます。ASP.NET 5 アプリや JavaScript/ECMAScript を Linux や Mac OS X 上で開発するための Visual Studio Code もプレビューがリリースされており、もはや Visual Studio は Windows 環境上だけのものではなりつつあります。
Microsoft Azure で構築するオープンソースの環境
次に、オープンソースの運用環境の提供についてみてみましょう。
Microsoft Azure では仮想マシン (VM) をホストすることができますが、Windows だけではなく、Linux などの OS もホストすることが可能です。(オンライントレーニングでやり方を学べます)
また、オープンソースの Linux ベースのデータセンターネットワーキングOS「Azure Cloud Switch」でソフトウェア定義スイッチ (SDN) の分野で一石を投じたり、Apache Mesos のような実績のあるオープンソーステクノロジーを Azure に組み込むことにより、効率の良い分散システムをパブリッククラウド上で構築する仕組みも実装していくことを発表しています。