先日、MicrosoftがWindows365というクラウドPCサービスを発表した。
既に報道されているが、ブラウザか専用クライアントソフトウェアのどちらかを使用して、クラウドのAzure側に仮想デスクトップパソコンを作成し、リモートアクセスで、クラウド側で起動しているWindows10やWindows11を使用できるサービスである。
ローカルパソコンのストレージは使用しない。
データは全てクラウド側に配置するので、データ漏洩を防ぐにも有効だ。
要求されるクライアント側PCのスペックも小さい。
以下はMicrosoftの広報である。
以下は関連報道
クラウドPCとは何か
クラウドPCとはクラウドコンピュータ(サーバー側)で稼働する仮想デスクトップパソコンの事である。
OSはWindows10が主流である、将来はWindows11が主流になるだろう。
いくつかのITベンダーからクラウドPCのサービスは提供されている。
似たような言葉に「クラウドOS」という言葉があり、時々クラウドPCと同じ意味で使用される事があるが、本来は「クラウドOS」というのはクラウドコンピュータ上で展開するサーバー側のOSを示す言葉であり、クラウドPCとは別の物である。
言葉の誤解を防ぐ為にも、クラウドPC(クライアントOS)とクラウドOS(サーバーOS)は明確に区別すべきだと思う。
もしクライアントとサーバーが分からなければ以下の記事をどうぞ。
通常のデスクトップパソコンのOSはデスクトップパソコン自体にインストールされているが、クラウドPCはクラウドコンピュータ(サーバー側)に設置されるため、デスクトップパソコン上ではクラウドPCクライアントソフトウェアだけあれば、使用できる。
Windows365の場合はChromeやEdgeなどブラウザだけで使用できる。
ブラウザ上にJavascriptのクライアントソフトウェアをダウンロードして、クラウド側のWindows10にアクセスできるのだろう。
クライアントソフトウェアはクラウド側で起動するWindowsデスクトップOSに、ローカルPCからアクセスして、入出力情報の送受信だけを担当する。
入力は、ローカルPCのキーボードとマウスの入力情報を、クラウド側の仮想デスクトップPCへ送信する。
出力は、クラウド側の仮想デスクトップPCのスクリーン表示の情報を、ローカルPCの画面に送信して表示する。
Windows365の場合はブラウザの画面にWindowsデスクトップOSの画面を表示することになる。
ローカルPCには「仮想デスクトップPCのストレージ」は存在しないので、データがローカルPCから外部に漏洩する心配が無い。
ローカルPCにクラウドから送られるデータは、画面表示用のイメージデータだけである。
テキストデータを表示していても、ローカルPCにクラウドから送られるデータは、バイナリイメージだけである。
ここからテキストデータを抜き取るのはかなり困難だろう。文字を画像処理で解析しなければならない。
既存の類似製品
Azure Virtual Desktop
既存の類似製品としては、既にMicrosoftが提供しているAzure Virtual Desktopがある。
これもWindows365と同じクラウドPCだが、以下の相違点がある。
○使用した時間ごとに課金する従量課金制である。Windows365は月定額制。
○クラウドPCだけではなくクラウドコンピュータの全サービスの一部として提供されている。クラウドPCだけの契約にはなっていない。
○専用クライアントソフトウェアで起動する。ブラウザでは起動しない。
○macOSやiPad,Androidでは使用できない。
Amazon WorkSpaces
AmazonがAWSにより提供しているクラウドPCにAmazon WorkSpacesがある。
以下の特徴がある。
○従量課金と月額料金があり、自由に選択できる。
○Windows以外にLinuxデスクトップも選択できる。
○条件付きで無料枠がある。
似たサービスは他にも沢山ある。
Chrome OS (Chromebook)
Chrome OSはGoogleがChromebookに搭載しているOSである。
Chrome OSはローカル端末のChromebookにはOSとしての必要最小限の機能しか設置しない。
アプリケーションなどChrome OSの大半の機能は、クラウド側に配置されている。
よって限りなくクラウドPCに近いOSである。
他のクラウドPCと違って、OSとしての最小減の機能はローカルPCに存在しているので、通信が遮断されても最小減の機能は使用できる。
ただ、大半のアプリケーションがクラウド側に存在するので、通信が遮断されるとほとんどの機能が使用できないと思って良いと思う。
現在使用中のファイルだけ一時的にダウンロードする仕組みなので、文書作成の継続ぐらいならできるかも知れない。
基本的に高速通信回線が繋がっていることが前提のOSである。
大半のアプリケーションがWebアプリケーションで提供されているのも特徴である。
リモートデスクトップ
これはWindows10などWindowsデスクトップに標準装備されている「リモートデスクトップ接続」というアプリで、コンピュータ名やIPアドレスやドメイン名などを指定すると、外部のWindows10やWindows ServerなどのOSにログインして、接続先のPCを操作できるサービスである。
アクセス先のPCはリモートデスクトップ接続を許可する設定にしていなければ、リモートログインできない。
これも実態としてクラウドPCと同じである。
この機能はWindowsXPのころからある、かなり古くから使用されている機能である。
一般の企業でも社内で普通に使用されている。
シンクライアントとの違い
クラウドPCの仕組みは、シンクライアントという古いコンピュータアーキテクチャによく似ている。
ほとんど同じと考えても良いと思う。
昔、パソコンの性能があまり高くなかった時代に、メインフレームや大型のサーバー機やワークステーションを複数人で共有して、使用するコンピュータアーキテクチャとして、登場したのがシンクライアントである。
クライアント側端末は、入出力機能だけしか実装していない。OSらしいOSは搭載されない。
キーボードとマウスの入力と、スクリーン表示機能だけしか、クライアント端末には搭載されない。
OSとしての機能は、高価で大型のサーバー機一台に設置される。
サーバー機にはマルチユーザーOSがインストールされており、一台のコンピュータを複数人で使用する事ができる。
当初はUNIXもこのような使い方をしていた。
シンクライアントとは、現代とは技術形態の異なる古い時代のクラウドPCと思えば良いと思う。
クラウドPCの登場する技術的背景
ブラウザだけで複雑なアプリが動く背景
その昔、Webブラウザで最初にアルゴリズムを記述できる言語であるJavaScriptが実装された当初は、JavaScriptはコードをマシン語に翻訳しながら実行するインタプリタ言語として実装されていた。
昔は、C言語やJavaなどのコンパイル言語と異なり、JavaScriptはインタプリタ言語で遅く、複雑な情報処理には向いていない貧弱なコンピュータ言語だと思われていたし、実際にそうだった。
しかし、Chromeなど新しいWebブラウザが、V8エンジンなどのJavaScriptコンパイル実行基盤を実装するようになり、JavaScriptは高速実行できるようになった。
単に高速実行できるだけではなく、JITコンパイラという仕組みの導入により、OSやCPUの異なる環境でも、同じスクリプトを実行できる非常に環境柔軟性に優れたコンピュータ言語と化した。
JITコンパイラとは、Just In Time コンパイラの略で、JavaScriptのソースコードをそのまま実行環境に送り、受け取った実行環境で即時コンパイルして実行するコンパイラの事だ。
コンパイルする時は、その環境のマシン語に翻訳する。
どこでも同じコードが動く事と、コンパイル言語の高速さを合わせ持つ画期的技術だ。
主要なWebブラウザは皆、JavaScriptのJITコンパイラを装備した実行エンジンを持っておりJavaScriptのコードを高速実行する事ができる。
これにより、複雑な情報処理をクライアント側で行う場合、従来ならクライアント端末にアプリの実行ファイルを予めインストールして置かなければならなかったのが、JavaScriptのコードを送る事で実現できるようになった。
まだまだブラウザ固有の制約はあるが、プログラムの実行速度と情報処理の複雑さにおいては、制約が大幅に排除された。
この技術はサーバー側にもNode.jsという形で導入され、サーバー側プログラムも同様に高速実行できるようになった。
今ではJavaScriptは高速のコンパイル言語である。
高速通信環境の実現
ブラウザだけで複雑な情報処理ができるようになったもう一つの背景は、通信速度の高速化である。
もし、昔のADSLのような通信速度だったら、いくらJITコンパイラで高速実行できても、膨大なJavaScriptのソースコードを送信するのに時間がかかり、実用的な実行基盤にはならないだろう。
JavaScriptが実用的な高速実行基盤になる為には、「光ファイバーや4Gや5Gなどの高速通信環境が実現した」事の功績も大きい。
Webブラウザで稼働するクラウドPCが実現した背景には、JITコンパイラの高速実行基盤と、高速通信環境の実現の裏付けがあってこそのものである。
これにより、Windowsだけではなく、macOSでもiPadでもAndroidでも、JITコンパイラ装備のWebブラウザがあれば、どこでも動作するクラウドPCが実現できるようになった。
クラウドPCの利点
低性能で安価なPCでも良くなる
クラウドPCはクライアント端末側では、キーボード・マウス入力処理とスクリーンの表示処理だけしか行わない。
よって、クライアント端末自体はそれほど高性能な機器である必要は無い。
スクリーンの表示処理に関しては、将来は大画面4Kのスクリーンや、デュアル・トリプル・ディスプレイなど大容量表示への対応をするかも知れないが、それでも基本的な画面表示処理は変わらない。
少し高価なディスプレイを設置することになるかも知れないだけである。
よって、クラウドPCの場合はWebブラウザが快適に動作する程度のPCがあれば、不自由しない。
主要な情報処理はクラウド側で行うからだ。
クライアント端末に要求されるスペックは大きくない。
安価なPCでも快適にクラウドPCを使用する事ができる。
もし企業組織などが、社内の全てのIT基盤をクラウド上に移すのなら、社内の全ての社員個人用端末はクラウドPCだけで良くなり、端末に要求される性能は低いもので良くなり、安価なPCを導入するだけで良くなる可能性もある。
ただ、少しでもオンプレミスなITシステムやデータ基盤を残し、クラウドと併用するのなら、この利点は活用できない。
オンプレミスの部分は、通常のデスクトップパソコンでアクセスする必要があるからだ。
MacでもiPad,Androidでも使用できる
Windows365の場合はWebブラウザだけあれば使用できるため、クライアント端末はWindowsパソコン(AT互換機)である必要が無い。
Macパソコンでも良いし、キーボード付きiPadやAndroidタブレット端末のようなキーボードタブレット端末でも良い。
使用する端末は柔軟に選択する事ができる。
また、一つの端末である必要もない。
社内のPCから使用しても良し、営業先でタブレット端末からアクセスしても良し、自宅PCからもアクセスできる。
Webブラウザからアクセスできれば、どこからでも、どんな端末からでもアクセスできる。
面倒なUpdate作業もクラウド任せ
Windows10などのセキュリティパッチなどのUpdate作業は、それなりに面倒な作業である。
Windows365の場合は、Updateはクラウドに任せておく事ができる。
企業組織の場合、許可するUpdateを会社で管理していたり、必要なUpdateを行うように社員にアナウンスしたりと忙しいと思う。
これを一元管理できて、自動でUpdateできるのは便利だろう。
小さいが、バカに出来ない利点でもある。
データ漏洩の防御に有力
クラウドPCは、その記憶領域であるメモリやストレージをクラウド・コンピュータ側に配置している。
クライアント端末側には記憶領域が存在しない。
クライアント端末側に送信しているのは、画面表示情報だけだ。
画面表示情報はバイナリなので、テキストでその情報を取り出す事は、通常はできない。(文字読み取りソフトでも使えば別だが簡単ではないし、文字読み取り精度も低い)
よって、クラウドPCからストレージ上のデータを、クライアント端末側に取り出す事は、通常はできない。
SSH・SCPやFTPなど、特別に通信ポートを開けて通信すれば、可能だがセキュリティ的に好ましくないなら、通信ポートを塞いでデータ通信を禁止できる。
つまり、クラウドPCなら重要な情報をクラウドの中に閉じ込めておくことができる。
外部へデータ漏洩することを防ぐことが、比較的容易にできる。
これは社員が在宅勤務により、自宅でクラウドPCを使用している場合でも同じである。
クラウドPCの欠点
通信速度の遅い環境では使えない
クラウドPCが実用性を帯びてきたのは高速通信環境が整備されたからだ。
逆に通信環境が貧弱で、通信速度が遅ければ、快適には使用できない。
固定回線なら光ファイバー回線が必要だろう。
モバイルブロードバンドなら4Gや5Gが必要になる。
田舎の通信環境の貧弱な旅館などでは、クラウドPCは実用にならない。
都市部など高速通信回線で確実に使用できる仕事でなければクラウドPCの導入は避けるべきだ。
通信品質の安定しない環境では使えない
モバイルブロードバンドで4Gや5Gが使用できても、移動が多く、時々通信速度の遅い場所でPCを使用しなければならない職種や、通信が断線する可能性のある場所で作業する可能性があるのなら、クラウドPCは実用にならない。
高速通信回線が安定的に使用できて、通信が断線する心配の無い仕事でのみ、クラウドPCは役に立つ。
その二つの条件が満たされないのなら、これまで通りデスクトップOSをクライアント・サーバーのシステム環境で使用すべきだ。
オンプレミスとクラウドの併用は課題が多い
これまで使用してきた社内システムや社内サーバーに配置しているデータを、クラウド・コンピュータと併用している場合、クラウドPCだけで、その両者のシステム・データを活用しようとすると、課題が多い。
クラウドPCのWindows365はクラウドのAzureの中に設置される。
クラウドPCからオンプレミスな社内システムへアクセスしようとすると、社内システムをAzureに対して公開して、クラウドから社内システムへアクセスできるようにしなければならない。
インターネットを経由することになるが、セキュリティ的に良くないので、SSLやVPNなどで通信回線を保護することになる。
本来なら社内システムは外部から遮断されているから、機密が保持されているのに、これを利便性の為にわざわざ公衆回線へ公開するなどナンセンスだ。
だから、常識的に考えて社内システムをクラウドへ公開する事は考えにくい。
よって、オンプレミスと、クラウドはそれぞれ別々に使用するのが現実的である。
従って、社員の固有PCは、デスクトップOSでオンプレミス・システムにアクセスし、クラウドPCでクラウド・コンピュータへアクセスするという使い方になる。
又は、クラウドPCを使わずに、デスクトップOSだけでオンプレミス・システムとクラウド・コンピュータへアクセスすることになる。
現実には後者が多いかも知れない。
セキュリティ面を考えると、警察組織のようにクラウドの使用できない組織もある。
この場合は全てオンプレミスにならざる得ない。
社外に流失すると困るが、警察ほど秘密性の高い情報は扱っていない企業もある。
自社製品のソースコードや企業秘密データなどを扱っている場合は、クライアント端末からの情報漏洩のリスクの方が大きいので、データをクラウドコンピュータへ配置して、クラウドPCからだけアクセスするようにした方が良いかも知れない。
機密保持の事情は組織によって異なる。
オンプレミスとクラウドの併用は、クラウドPC使用の是非に限らず、課題の多いシステム運用である。
クライアントの障害が全体に波及しやすい
クラウドPCはシステム的に一元化しているため、クラウドPCに何らかの障害が発生した場合、全体がダウンして使用できなくなったりする。
一部の障害が全体に波及しやすい。
これはクラウドPCに限らず、クラウド全体の問題点でもある。
デスクトップPCの場合、全ての端末が一度に使用できなくなる事は希である。
組織のPC環境が変化する可能性
警察や病院施設や、銀行などのように特別に機密性の高い情報を扱う組織でなければ、通常の企業はクラウドの中で扱える程度の機密情報しか扱っていないと思う。
顧客の個人情報を預かるとしても、病気や債務情報など重要な個人情報を通常の民間企業が預かるケースは少ないと思う。
大半の企業が預かる個人情報や企業秘密はクラウドのセキュリティを信じて良い水準だと思う。
リモート勤務など社員の自宅PCからの情報漏洩のリスクを回避するなら、社内のデータをクラウド上に配置して、クラウドPCからのみデータにアクセスするIT環境を構築した方が、大半の企業には安全である。
それが出来なければ、会社でPCを支給してVPN回線で社内ネットワークにアクセスする環境を構築することになるが、これは大企業でなければ難しいと思う。
中小企業がある程度のセキュリティを維持してリモート勤務態勢を導入するとなると、クラウドの活用が現実的だと思う。
全て、クラウドに配置して、クライアント端末もクラウドPCを使用する体制にすると色々な利点がある。
まず、先に説明したようにセキュリティ面で情報漏洩のリスクが低減する。
ファイアーウォールなどデータの保護をクラウド任せにしてしまえるのも利点である。
社内のIT部門の仕事が減り、コストダウンになる。
個人端末がクラウドPCだけになると、社員のPCが安価で低性能のPCでも快適に使用できる。
通信回線なども通常のインターネット回線を使用できる。
VPNなども必要無い。
元々、社内に十分なIT環境を装備していない企業ほど、クラウドとクラウドPCは導入しやすいと思う。
経費もWindows365の場合は月額定額制で会計的に扱い易い。
クライアント側もサーバー側も同じクラウド環境の中に配置されている場合、ファイアーウォールなどセキュリティ対策はクラウド全体の保護だけで良くなり、クライアントとサーバー間のセキュリティに労力を割く必要が無くなる。
その分、専用業務システムを開発するとき単純なシステムで済むようになる可能性が高い。
この話は別の記事で書こうと思っている。
以上のように、いくつかの条件が満たされていれば、クラウド・コンピュータとクラウドPCの導入は、安価にセキュリティ堅牢なIT環境を導入できる、便益の大きい選択だと思う。
必要な条件は、
○高速通信が保証できる。
○断線のない安定通信が保証できる。
○国家機密や個人の病気障害や社会保障に関わる重要機密を業務で扱っていない。
○オンプレミス・システムやデータを使う必要がない。
オンプレミス・システムとの併用が必要な場合は、一部の人員だけデスクトップPCでオンプレミス・システムにアクセスさせて、他の人員はクラウド環境に全面移行するという選択もある。
と言ったところだと思う。
これらの条件が満たされるのなら、クライアント端末を全面クラウドPC化する事も検討してみる価値はあると思う。
簡単にクラウドPCについて、知っている事を記事に纏めてみた。
参考になれば幸いです。