watermint.org - Takayuki Okazaki's note

Visual Studio CloudとAzureとiPad Proによる仕事環境

手元で使っている仕事用のIT環境というと、数年前からMacBook ProにせいぜいVirtualBoxやDockerを使った仮想環境というぐらいでした。ただ、いくつか不便なところも出てきたり、Windowsデスクトップ環境でのテストが必要になったりと要件が増えてきたのでいまはVisual Studio Cloudを使っています。加えて仕事上外出も増えたのでiPad Proを使うことも増えてきました。そのいきさつ等を記録がてら公開しておきます。

増えてきた要件と変わってきた要件

Windowsデスクトップ環境

Windowsデスクトップ環境

手元に持っているハードウエアは仕事用も個人用も見事にほぼApple一色でiPhone、iPad Pro、MacBook Proといった組み合わせです。

OSの種類でいえば、macOSとiOSだけですが仕事がら、Windowsデスクトップ環境での検証がなんだかんだ必要になります。会社のPCにはWindowsのライセンスと仮想環境があるのでこれを使えば実用上困らないのですが、まっさらなWindows環境を準備したり、様々なバージョンのWindowsを準備するのはディスクが足りなくなったりかなりの手間もかかります。

手元にWindows 7、Windows 8.1などのライセンスも持っているのですが、Windows Server 2012R2が検証に必要になったり、最近ではWindows 10を検証したい場合も増えてきました。

iPad Pro

デモや検証のために会社のMacBook Proを出先に持ち歩いてもいいのですが、VMwareのような重量級アプリケーションを利用するとあっという間にバッテリーもなくなってしまいます。それに、MacBook Proも15インチ版を利用していると少々かさばるので持ち歩きには不便なときもあります。

このため最近では出先にiPad Pro (SIMフリーモデル)だけを持っていていくことも増えてきました。作成した書類はすべてDropboxに入れてありますし、別途個人的にOffice 365 Businessも契約しているのでExcelやPowerPointなどが必要になってもiPadからでも利用できます。iPadからHDMIやVGAへの変換端子を使えばプレゼンテーションもiPadから可能ですし、Apple TVが会議室に設置されていればそのまま投影することもでき、パソコンを使うよりも便利な場合さえあります。

iPad Proを使っていて最も便利と感じるのはインターネット接続です。Wifiモデルではなく、SIMフリーモデルを利用してIIJmioのデータ用SIMを入れているので、テザリングやWifiルータなどは別途必要ありません。一昔と比べればiPhoneからのテザリングやWifiルータの操作も幾分か簡単になったのですが、それでもネットワーク接続のためにあれこれ操作するのは一定の煩わしさがあります。

出先でiPadのような端末を使いたいというときの利用シーンは議事メモ、スケジュール確認、仕様などの確認、プレゼンテーション、デモといったところでしょうか。このような使い方であれば、iPadは今のところおおよそ丸一日持ち歩いてもバッテリーは十分持ちます。

クラウドの選択肢

クラウドもこれまでAmazon Web Services、OpenStack、OpenShift、DigitalOcean、Herokuなど様々利用してきました。その中でもいまVisual Studio CloudとAzureを使っているのはほぼ消去法での選択です。理由はWindowsデスクトップ環境が使えて簡単にいろんなWindowsバージョンを試せるところです。

(なお、Azure上でWindowsデスクトップ環境を使うにはVisual Studio Cloudの年間サブスクリプションが必要です。詳しくはVisual Studioのサイトにてご確認ください)

Windowsデスクトップ環境を使うには有名どころとしてAWSのWorkSpacesを使う方法もあります。WorkSpacesも一月ほど試しに使ってみてかなり便利であることは実感しました。ただ頻繁に検証用に環境を作り直したかったので目的には合いませんでした。

AzureでのWindowsデスクトップ環境

よく使うところとしてWindows 7 Enterprise N、Windows 8.1 Enterprise N、Windows 10 Enterprise N、Windows Server 2012 R2 Datacenterなどのバージョンを使っています。仮想環境を新規作成するとしてもだいたい5分くらい待てばできあがります。デスクトップ環境にはRemote Desktopアプリケーションを利用しますがこれは、Mac版もiPad版もあります。Amazon WorkSpacesと比べればUIなどすこし使いづらいですが、慣れとして割り切って進めましょう。

特に混乱するのはiOS版Remote DesktopではCmdキーはWindowsのCtrlキーにマップされているものの、Mac版Remote DesktopではマッピングがないためmacのアプリからコピーしRemote DesktopでペーストするにはCmd+C → Ctrl+V といった操作になり頻繁に操作ミスします。このマッピングを設定的に変更する方法はすこし調べた限りは無いようで、慣れるしかありません。

仮想環境のお値段

Visual Studio Cloudの年間サブスクリプションを購入すると毎月50ドル (5,500円分)のクレジットが付与されます。初期設定ではもし利用がこの枠を超えてしまった場合には仮想環境がすべて停止するだけで追加で請求されることはないようですから安心です。クラウドの価格は頻繁に変わりますので随時ご確認いただくとして、ここでは手元の実績をすこし紹介しておきます。

まずVisual Studio Cloudで仮想環境を立ち上げる際、利用できるリージョンには制限があります。残念ながら執筆時点で利用できるリージョンに日本は含まれていません。韓国などアジア地域のリージョンで利用可能なところはありますが、日本が使えないなら一番安いリージョンにしようということで今はもっぱらWest US 2を利用しています。

仮想マシンはSSDタイプのDS1_V2 (1コア、3.5GBメモリ)を一番よく使っています。執筆時点での見積もり利用料金は4,401円/月です。これは稼働させっぱなしの場合での見積もりです。停止している間もストレージなどの利用料金は発生し、SSDの仮想マシン1台ぶんで1,500円/月ぐらいです。これまで実績利用時間としては週数時間ずつぐらいですが、おおよそ2,000円前後といったところでした。

データ転送などでも料金がかかりますが通常の利用方法であれば、5,500円のクレジットでおおよそ仮想マシン2台分ぐらいは常に作成済みの状態で使える換算になります。

West US 2での使い勝手

大陸をまたぐのでレイテンシの点について気にしていましたが、たまにもたつく印象のときもありますが慣れでカバーできる範疇と思えるようになってきました。YouTubeなどを再生しても十分再生が追いつきますし、ネットワーク環境の充実と技術の進歩には驚かされます。

Visual Studio Team

Visual Studio Team

ほとんどWindows仮想デスクトップのために利用しているVisual Studio Cloudですが、せっかくなので他の付属サービスも使い始めています。いくつか最近Goでツールを作っているのですが、固定したCI環境を準備していなかったので今回はVisual Studio Teamに作ることにしました。

git pushをトリガーとしてビルドもできますし、成果物をビルドごとにパッケージにすることもできます。どちらかというと、Webアプリケーション向けにデプロイするという流れのUIになっていますが、ビルドにDockerも使える点が便利です。

いまDockerイメージをDocker HUBからダウンロードしてくるだけで5〜6分かかってしまうところが難点ですが、もう少し本格的に困ったら解決方法を探すことにします。

まとめ

Visual Studio CloudとAzureを使ってアプリケーション開発環境もそうですし、検証やデモといった作業もほとんどクラウド上で行える環境ができあがってきました。時々まだパソコンでなければできない操作もありますが、ほとんどの作業はiPadからも作業できるようになってきました。

パソコンはたくさんのメニューやショートカットを使いこなしててきぱき作業するのに向いていますし、iPadのようなデバイスは出先で主要な用事を片付けるためにかなり役立ちます。

使い分けはまだまだ必要でしょうけれど一つ変わったのはパソコンのスペックについての考え方です。Azure上のWindows仮想デスクトップは必要に応じて簡単にメモリーやCPUコア数などを追加できます。手元のMacBook ProにはCore i7 6920という比較的高スペックなものが乗っていますが、一方のAzureではサーバ用のXeon E5-2673といったCPUを使っているようで、クラウド上で処理した方が早い場合もあります。

手元のデバイスはいかに手になじんで、目に優しいかが大事でスペックについてはそろそろ妥協していい時代になってきているのかもしれません。