Microsoft社は、2019/05/06にWindows10でLinuxバイナリを実行する技術である「WSL (Windows Subsystem for Linux)」の最新版となる「WSL 2」を発表しました。
WSL 2の 特徴
「WSL 2」の最大の特徴は、仮想マシンでLinuxカーネルが動作する本物のLinux環境であるということです。従来からのWSLはLinux実行環境をLinuxカーネルではなくLXCore という「サブシステム」が作り出していました。
それによりカーネルへのファンクションコールをWindowsカーネルへのファンクションコールに変換して動作しています。対して最新版の「WSL 2」では専用の仮想マシン環境である「Light Weight utility Virtual Machine」(軽量ユーティリティーVM)を使い、ローカルパッチ(Microsoft社による独自パッチ)を当てたLinuxカーネルバイナリを動作させ、仮想マシン内にLinuxの実行環境を作ります。
これによりDockerやFUSE(Filesystem in Userspace)の導入が可能になります。すでにMicrosoft社はこの「WSL2」に組み込むLinuxカーネルのソースコードをGitHubで公開しています。
このカーネルは最新のLTSであるLinux4.19をベースにいくつかのパッチを当て、最小限のデバイスサポートで起動時間の短縮やメモリ使用量の最小化など「WSL2」が性能を発揮できるように最適化されたものになります。
この最新技術はWindows 10 Insider 向けのPreviewビルドで利用可能になっていますが、正式にWindowsに採用されるのは2020年5月に正式配布される見込みです。
WSL 2についてのDocker社の動き
また、Docker社も7月末までには「Docker Desktop for WSL 2」テクニカルプレビューを公開する予定であることを明らかにしています。
現在のDocker DesktopはWSLがDockerに対応していないため、Hyper-Vを利用した仮想マシンの中でDocker環境を構築しWindowsから利用するしかありませんでした。
今回Dockerに対応した「WSL2」を活用することでHyper-Vを経由せずにDocker環境をWindowsに構築できるようになるため、起動時間が短縮されるなどパフォーマンスが大幅に向上すると説明しています。
Microsoft Loves Linux / OSS
一方、クラウドに視点を移すと『Microsoft Azure』上でLinuxが実行可能になったのは2012年ですが、その後着実に勢力を増やし先日(7/5)に『Microsoft Azure』上で稼働するOSとしてLinuxがWindowsを上回ったことを明らかにしています。
『Microsoft Azure』上でLinuxが稼働しているのは顧客のシステムだけではなく、Azureが提供するサービス自体もLinuxで稼働していることが増加しているためでもあります。
2014年11月の開発者イベントである「Connect();」でASP.NETをオープンソース化すると発表したのを皮切りにMicrosoft社は大きくオープンソースに舵を切りましたが、これはあらゆる開発者にとってオープンソースが不可欠でさまざまなコミュニティと連携していく必要性を感じたからでした。
その後、2016年にオープンソースの総本山であるLinux Foundationにプラチナメンバーとして参画したり、2018年にはGitHubを75億ドルで買収するなど「Microsoft Loves OSS」を目に見える形で推進しています。
2011年にブラウザであるNetscapeを開発したことでも有名なソフトウェアエンジニアで投資家でもあるマーク・アンドリーセン氏が ”Why Software Is Eating The World“ と題してThe Wall Street Journalに掲載しました。その中で、彼は、古いビジネスモデルに基づいた産業がソフトウェアの登場によってビジネス転換を余儀なくされ、その「ソフトウェア化」の波に乗れない企業は廃業に追い込まれている構図を鮮明に描いています。
しかし現在では、この言葉はすでに過去の言葉でSoftwareの大多数がOSSなしに開発できなくなってきており、「OSS is eating Software」と言っても良い状況になってきています。OSSをいかにビジネスの現場に取り込み、コミュニティとどのように連携していくかがビジネスの成否を握っているといっても過言ではないと思います。それはほかならぬMicrosoft社にとっても同様で、今後ますますOSSにコミットせざるをえない状況になるでしょう。