MacOSX をクラウドで利用できる Xcloud を契約してみた
ソフトウェアを開発する際に CI を行なうのはもはや常識だと思いますが、 iOS アプリをビルドするためには OS として MacOSX が必要です。
Linux や Windows と違って MacOSX は仮想化を利用することが難しく、 VPS や IaaS のようなサービスがあまり存在していません (共有サーバや Co-Location といったサービスは結構あるようです) 。
しかし、いくつかの VPS ホスティングサービスを見付けることが出来ました。
これらを利用すればクラウドで iOS アプリをビルドすることが出来そうです。
各社のプラン
Xcloud MINI | HostMyApple Basic | vmOSX Lite | |
---|---|---|---|
メモリ | 2GB | 1024MB | 768MB |
ストレージ | 80GB | 30GB | 30GB |
vCPU | 2 | 不明 | 1 |
価格 | CHF79/mo | USD49.99/mo | USD24.75/mo |
価格 (JPY*) | 7220円/月 | 4193円/月 | 2075円/月 |
(* 日本円の価格は為替によって変動しますので参考程度に)
vmOSX が一番安く、 Xcloud が一番高いのですが、スペックを考えればまあどこも同じような価格帯でしょうか。 また HostMyApple の VPS プランは良く在庫が切れたり復活したりするようなので、在庫がなくても辛抱強くチェックするのがオススメです。
Xcloud MINI
VPS サービスについて詳しく調べずに契約してしまったということもあり、割高感のある Xcloud を契約してみました。 ( 続きを書きました→ MacOSX をクラウドで利用できる vmOSX を契約してみた )
まずネットワークレイテンシですが、東京港区の一般回線から ping を打って計測したところ以下のような結果になりました。
min | avg | max | stddev |
---|---|---|---|
286.966ms | 332.667ms | 499.297ms | 59.674ms |
会社がスイスにあるということで、サーバもスイスにあるようです。 twitter.com や facebook.com が 200ms くらいなので、ネットワークは遅く感じます。
次にマシンスペックですが、さすが仮想化ということもあり、どうしても遅く感じてしまいます。 ベンチマークで計測してみたかったのですが、良さげなベンチマークが無かったので、ちょうど開発で利用していた OpenCV iOS をフルビルドしてみました。
実行したのは以下のコマンドです。
git clone git://github.com/Itseez/opencv.git cd opencv/ios time ./build_framework.py .
参考のためにそれまで Jenkins サーバとして利用していた Mac mini Mid2011 (Corei7 2GHz/4GB Memory) と比較してみました。
Xcloud MINI | Mac mini | |
---|---|---|
real | 34m58s | 7m15s |
user | 55m27s | 42m11s |
sys | 6m58s | 2m4s |
やはり仮想マシンということもあり非常に遅いです。 OpenCV のフルビルドにいままでの約 5 倍の 35 分もかかっているようでは開発に支障をきたしてしまいそうです (とは言え VPS と Mac mini を比較するのも酷な気もしますが) 。
しかし、 Jenkins のジョブで毎回 OpenCV をフルビルドするかと言われれば別にしないので、この環境で 1 ヶ月ほど Jenkins サーバを運用してみる予定です。
まとめ
- Xcloud や vmOSX 、 HostMyApple を使うことで MacOSX をクラウドで利用することが出来る
- クラウドで iOS アプリをビルドすることが可能
- ただし仮想マシンなのでスペックにやや難あり
個人的には vmOSX の一番強いプランが気になっていたりします。 Xcloud が微妙だったら来月はそれを試してみようかな。 ( 続きを書きました→ MacOSX をクラウドで利用できる vmOSX を契約してみた )