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 を契約してみた )