WSL2登場でWindowsは有力なWeb開発環境に

2022年6月7日(火)
赤井 誠
クラウドネイティブ時代到来とともに変わっていく最新の開発環境を紹介します。

はじめに

ここ数年、デジタルトランスフォーメーション(DX)やデジタル化という言葉を聞かない日はなくなりました。とりわけ、政府がデジタル庁を発足し、国を挙げてのデジタル化を推進することを宣言したことで、企業の規模を問わず加速されているように思います。

また、IT分野に限れば、クラウドネイティブという言葉も非常にホットワードになってきています。クラウドネイティブをキーワードにした製品発表やセミナーなどが多数実施されるようになりました。以前、本サイトでクラウドネイティブについて連載しましたが、当時はまだまだ認知度の低い用語でしたが、開始時とは違ってきたと実感しています。

「クラウドネイティブ」の人気度はGoogleトレンドでも上昇傾向

「クラウドネイティブ」はGoogleトレンドでも上昇傾向

Googleトレンドの傾向をみても、クラウドネイティブの人気度の傾向が増加しているのがわかります。

クラウドネイティブ時代の開発環境

このような時代の変化に合わせて、コンテナ環境でのアプリケーション開発、AIの活用、企業での内製化など開発環境に関する話題も増えてきています。

ここで重要なポイントの1つが、プログラミング環境の標準化、見直しです。今までは、Web開発環境やクラウド開発環境といえば、デバイス環境として、macOSが多く使われてきたことをご存知の方も多いでしょう。もちろんWindows PCの利用も多くありましたが、特にスタートアップやWebサービスを提供している企業で働く人は、macOSを利用していることが多いのではないでしょうか?

この傾向は、最近始まったことではないと思います。筆者が10年以上前に参加したオープンソース関連の最大のエキスポであった米国でのLinux Worldや、JBossビジネスを開始したころのRed Hat Summitに参加したとき、会場の多くのエンジニアが手にしていたのが、アップルのMacBookでした(はっきりとした数字はありませんが、半数以上の人が使っていたと思います)。国内においても、コロナ禍以前に参加したIT関係の勉強会やセミナーでは、かなり多くのエンジニアがMacBook Airなどを使っていたように思えます。

ご存知のようにPCが登場した時代から、長らくWindowsか、Macか? という議論がありましたが、Web開発環境やクラウド利用の点においては、Macの人気が市場シェア以上に高い状況であるといえるでしょう。

これには、macOSは、The Open Groupが認証したUNIXであるため、Web開発環境やクラウド環境で中心となっているOSであるUNIXに似たLinuxとの相性がよかったことなどが理由として挙げられています。

macOSはThe Open Groupのお墨付き

macOSはThe Open Groupのお墨付き

Open Brand(opengroup.org)

今まで、企業での利用制限からWindows PCを利用するしかない開発者は実際には1つの端末をWindowsとLinuxのデュアルブートで使うか、違うOSが稼働する端末を2台並べて利用する、あるいはLinuxとの親和性が高いUNIX環境を提供するmacOSを利用して、開発、テストするしかなかったともいえるかもしれません。

もちろん、クラウド上のリソースを使いながら開発することも1つの方法です。しかし使用する時間が増えると、クラウドとの通信費や、クラウド上のGPUなどを利用する場合の使用料などのコストが増してきます。その費用は、時にはGPU搭載PCの場合と比較して、高くなるケースもあるでしょう。また現場の近くで、トライアンドエラーで分析を行うケースでは、ネットワーク遅延問題やネットワークが外部とつながっていないために、手元のPCを使う必要がある場合もあります。

このような状況は、2015年に「Microsoft Loves Linux」というスローガンのもとに、オープンソースに力を入れ始めたマイクロソフトの動向により変化が起きました。例えば、Windowsだけでなく、macOS、Linuxもサポートし、MITライセンスで公開されているオープンソースエディタVisual Studio Code(VS Code)のリリースです。VS Code は、Stack Overflow 2021 Developer Surveyにおいて、最も人気のある開発者環境ツールとしてランクインし、約70%の開発者が支持しています。読者の方も、VS Codeを利用している方も多いのではないでしょうか。

Windows Subsystem for Linuxの登場

また、以前はあれほど嫌っていたLinuxをWindows 10上で稼働させることができるWindows Subsystem for Linux(WSL)もリリースされました。ただWSLは、発展途上の製品であったこともあり、まだまだ積極的に利用する人も多くなかったように思えます。しかし、2021年11月にリリースされたWindows 11には、標準でWindows Subsystem for Linux 2(以降、WSL2)が搭載されたことで状況は大きく変化してきました。

この連載でさらに詳しく紹介しますが、WSL2は、簡単にいうなら、Windows上でLinuxがあたかも1つのプロセスであるかのように動くことを可能にしたものです。それによってWindows PC上にLinux開発環境とテスト環境を簡単に構築できることになりました。

WindowsにおけるWindows Subsystem for Linux 2の構成

WindowsにおけるWindows Subsystem for Linux 2の構成

そして、2021年にはVisual Studio Code Remote Development(リモート開発拡張パック)が発表されました(現在は、プレビュー中)。

Remote Development - Visual Studio Marketplace

Remote Development - Visual Studio Marketplace

Remote Development - Visual Studio Marketplace

このパッケージには、次の3つの拡張機能が含まれています。

Remote - SSH

SSHを使用してリモートマシン/VM上のフォルダを開くことができます。

Remote - Containers

コンテナにマウントされた、またはコンテナ内の任意のフォルダを開くことができます。

Remote - WSL

Windows Subsystem for Linux の任意のフォルダを開くことができます。

つまり、Windows 11上に、Linux を稼働させ、Windows 11からLinuxへアクセスしたり、Linux上に起動したコンテナ環境にアクセスしたりできるようになったということです。これで、クラウドネイティブを意識したプログラミング環境も構築可能になったといえるかもしれません。

内製化でキーワードに挙がることが多いAIにおいても、開発環境の整備で変化があります。AI活用ではNVIDIA GPUを活用したソリューションが多く存在します。NVVIAは、マイクロソフトと協力して、WSL2でNVIDIA GPUをサポートしました。つまり、GPUを利用した開発プラットフォームとしても、WSL2が使えるということになります。

Enable NVIDIA CUDA on WSL 2 | Microsoft Docs

Enable NVIDIA CUDA on WSL 2 | Microsoft Docs

Enable NVIDIA CUDA on WSL 2 | Microsoft Docs

GPU in Windows Subsystem for Linux (WSL) | NVIDIA Developer

GPU in Windows Subsystem for Linux (WSL) | NVIDIA Developer

GPU in Windows Subsystem for Linux (WSL) | NVIDIA Developer

最後に、企業のIT管理の視点から、プログラミング環境を考えましょう。DX推進における課題の1つであるDX人材の育成があります。DX人材で求められる資質は議論がありますが(個人的には、この手の議論の中身には賛成できないことが多いです)、データを分析活用するために、Python などのプログラミングができる人材育成を開始している企業が多数あります。そういった人材向けにプログラム環境作りとして、MacBook を導入することで対応したり、検討したりすることが多かったかも知れません。一方で、今まで厳しいITの運用ポリシーを持っていた企業(特に大企業)は、各種のツールを導入しWindows PCを管理する知識、経験を蓄積しています。そのため、MacBookを導入しても管理するためのノウハウは十分にたまっている状況ではありません。エンジニア視点でなく、デバイス管理という視点からも、Windows PC環境で、クラウドネイティブ開発環境を構築できるならば、Windows PCを管理してきた今までの知見を生かせるため、Windows PCを整備することでDX人材向けの環境を提供できると考えている企業もあるようです。

終わりに

今回は、これまでの開発環境や今後の動向を踏まえて、今後の開発環境の動向を紹介しました。次回からは、Windows 11で、Linux開発環境、コンテナ環境、GPUを利用する方法を紹介したいと思います。

今後の予定

  • Windows Subsystem for Linux 2の設定方法
  • コンテナ開発環境の設定
  • WSL2からNVIDIA GPUを利用する方法

次回からの連載にご期待ください。

MKTインターナショナル株式会社 代表取締役社長
日本HPに入社後、ソフトウェアR&D、事業企画、マーケティング部門を歴任。Linux事業リーダーとして日本HPをLinux No.1ベンダーに、HPC事業を立ち上げHPC No.1ベンダーへと導く。2011年4月MKTインターナショナルを起業し、現職。『できるPRO MySQL』(インプレス刊)等著書多数。

連載バックナンバー

開発ツール技術解説
第4回

Windows Subsystem for Linux 2 でDocker を使用する(その2)

2022/11/24
前回に引き続き、WSL2でDockerを使用する方法を紹介します。
開発ツール技術解説
第3回

Windows Subsystem for Linux 2 でDocker を使用する(その1)

2022/11/16
今回と次回の2回で、WSL2でDockerを使用する方法を紹介します。
開発ツール技術解説
第2回

Windows 11でLinuxを使う:Windows Subsystem for Linux 2の設定

2022/7/26
連載2回目となる今回は、Windows Subsystem for Linux 2のインストール・設定を解説します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています