ZYNCを使ってみて2ヶ月目...

March 8, 2016
Googleに買収されて、GoogleCloudPlatformの一員となったZYNCを試用しはじめて2ヶ月目に突入しました。1ヶ月以上使ってみた感想などを書いてみたいと思います。

ZYNCとGoogle Compute Engine
ZYNC
https://www.zyncrender.com/

ZYNCが現在で対応しているソフトはMaya版のV-rayと同じくMaya版のArnold、Nukeとなっています。またパブリックベータでRenderMan for Maya, After Effectsがテスト中です。パブリックベータはそのままでは試用できませんので、別途メールにて申し込み制となっています。

ZYNCではGPGPUレンダリングをサポートしていませんので、事前にテストする際にはCPUによるレンダリングで結果を予測する必要があります。

Googleの場合はCompute Engineサービスの一環としてレンダファームのZYNCのサービスも行っています。マシンはバーチャルマシンのインスタンスとして起動します。いわゆるデスクトップPC用のホスト型(VMWare Fusionなど)ではなく、ハイパーバイザ型(VMWare vSphereやXenなど)なので、ハードウェアのパフォーマンスは損なわれません。膨大なCPUコアとメモリを持つモンスターマシンを分割して試用する感覚です。

他のレンダリング専用サービスだとレンダリング以外にハードウェアやソフトウェア、ネットワークのリソースを活用できませんが、Googleの場合は、他のデータ解析やシミュレーション、バックエンドサーバーなどといった、膨大な有料サービスと同じエンジンを共有することで、Googleの保有する莫大なリソースを低価格で利用可能になっています。

Google - Compute Engine
https://cloud.google.com/compute/

Compute Engine自体は用途を限定していないので、ZYNCのようにレンダリングに特化したサービス以外にも、自分のデスクトップマシンやバックエンドサーバーのように使うことも可能です。

ちなみに最近ではこんなニュースもありました。

TechCrunch - GoogleのCustom Machine Typesがベータを終了、Red HatとWindowsもサポート
http://jp.techcrunch.com/2016/02/18/20160217googles-custom-machine-types-hit-general-availability-gain-support-for-red-hat-and-windows/

すでにデスクトップワークステーションから、稼働人数によってマシンのリソース(コア数や使用メモリ、GPUなど)を動的に割り振れる仮想マシンに移行しつつあると言いますし、それがクラウド上に展開されるのも案外近いかもしれません。

Google Cloud Platform - Media Solutions
https://cloud.google.com/solutions/media/


ZYNC価格
気になるお値段なんですが、コンポジターとしてはあまり外部のレンダリングサービスを利用してきませんでした(そもそもNukeやAEに対応しているところが少ない)。

MentalRayでレンダリングサービスを利用したプロジェクトに参加したことがありますが、そのときはプロデューサーが持ってきた請求書みて貧血起こしそうになったくらい...それらと比較してZYNCはかなり安い価格となっています。明細を見たとき一瞬なんか間違えてるんじゃないかと思ったくらい。

詳しくは前述のZYNCサイトにある価格表を参照してください。注目すべきなのは、他のレンダリングサービスが、CPUコア単位やCPUクロック(1GHzとか)単位であるのに対して、Googleではマシンのスペックに応じたスペック単位での料金となっていることです。

また最低利用時間も10分あとは1分単位となっているので、レンダリング時間に応じてユーザーへの課金額が最小限になるようになっています。

先にも書いた通り、この価格はGoogleという莫大なハードウェア、ソフトウェア、ネットワークを有するサービスの強みかと思います。普通にレンダファームサービスだけやっていたのでは太刀打ちできない価格なんじゃないでしょうか。

使ってみると、レンダリングコストは他社の1/5程度の感覚です。4台の8-core/30GB RAMのマシンで4台で5時間くらいレンダリングしても3,000円以内。これにプロジェクトの保管用ストレージ容量が加算されますが、1GBあたり月0.2ドルなので、使い終わったプロジェクトをこまめに消去すればあまり気にしなくてもいいかと思います。

使用料金は2日ほどでGoogle Developer Consoleの画面で確認できます。ZYNCの管理画面では使用時間はわかりますが、具体的な金額はわかりません。支払いはクレジットカードとなり、事前にクレジットとしてチャージすることも可能です。

私の場合は、今の所、試用版クレジットとかテストクレジットとかが残っているので都度差し引かれて支払いはゼロ円になっています。支払い明細はGoogle Developer Consoleでちゃんと日本円に設定しておけば、日本円換算で表示されます。

zyncpaymentscnshotexmpl.png
ちなみにZYNCのサイトにある試算フォームで8-core/ 30GB RAMのマシンをNukeで、「24時間フル稼働状態で30日間使用」した場合は約605ドルとなります。とりあえず2週間も使いながら支払い明細を確認していれば、自分のレンダリングに対する課金額の感覚も掴めると思います。


ZYNC使用感
ZYNCで使用しているのはNukeとAeのみですので、それに限定します。

まずGoogle Developer ConsoleにZYNC用のプロジェクトを設定する必要があったり、そもそもこのGoogle Developer Consoleが不慣れな人にはわかりにくい(私はGoogle Appsのスクリプトを作っていたので幸い見慣れてましたけど)んです。

このDeveloper Console、多岐に渡るGoogleの開発者向けAPIの設定画面があるので、全貌がわからないくらい広大。基本的にわからないものは触らないというポリシーをお勧めしますが、ここにクレジットカード支払いの設定もするので、初めての人は神経質になってここで引き返しちゃうひとも多そう。

このあたりの手順は要望があれば別途記事にしてみてもいいかなと思いますが...

事前にZYNC用のアプリケーションを起動しておく必要があります。JavaベースなのでMacの場合は事前にJava Runtimeをインストールする必要あり。

各アプリケーションにZYNCプラグインをインストールしてZYNCのレンダリングコマンドからレンダリングの設定(使用マシンや台数など)を行えばいいというだけです...というか、この辺の詳しい手順も機会あれば別の記事で。

nkzyncrendersetting.png
Nukeでレンダリングする場合は、コアあたりのメモリを確保したいのでコア数が少なくてメモリが多めのn1-standard-8という一番安いやつを選んで、その分マシンの台数を増やしてます。

ちなみに(PREEMPTIBLE)というのは、アイドル状態にVMを有効活用するというもので、VMの稼働状況によっては途中で処理がとまったり遅くなったりする可能性もあるものの、空いてるリソースの有効活用という意味で低価格で提供されているものです。VMの割り当てやレンダリング開始までの諸々に時間がかかるので、私は「ダメもとレンダリング」に使うくらいでほとんど使っていません。

使用マシンのコア数や台数に応じて、分散レンダリングが開始され、その様子はウェブブラウザで確認できます。

レンダリング終えた画像は、ローカルの指定フォルダ(NukeならWriteノードで指定した場所)に、レンダリング終わったものから随時自動でダウンロードされてきます。別途手動でダウンロードする必要などはありません。転送速度は結構速く感じますが、実はレンダリング待ちの時間にうらで淡々とダウンロードしてるので、ダウンロード時間を気にしたことがありません。今現在4K HFRのプロジェクトで使用してますが、それでも転送時間が問題になったことはないので、速いんだと思います。

プラグインやGizmoがうまくロードされない(Gizmoはちゃんと動くように設定できる)という問題はあります。あとNukeでQuickTimeのフッテージを使用した際、エラーでレンダリングできないということがありました。うまくこの辺の特性を見極めて使用する必要がありそうですが、それはどこのレンダーファーム(自前のもの含め)でも一緒かと。

ZYNCにレンダーキューを投げたマシンにレンダリング画像が返ってくるので、そのマシンはレンダリング中にシャットダウンしたりできません。そういう意味でZYNCに最適化された設定のNukeをインストールした、キューを投げる専用のマシンを用意するのがよいかなと思ってます。

個人的にプラグインなどの対応をもう少し多くしてほしい(現状ではNukeはSapphireのみ)...特にRenderMan Pro Serverに対応してほしいなと思います。

まとめ
Google DriveやGoogle Spreadsheetときて、ZYNC(Compute Engine)にまで手をひろげ、お前はどんだけGoogle好きなんだと思われてるかと... 。

自前でレンダリングマシンを用意して、常のマシンの保守と光熱費、ソフトウェアのライセンス料などを(たとえ使用していないときも)払い続けることを考えると、ZYNCはかなり有効な選択肢ので、今後も使い続けようと思います。


[関連記事]
Google AppsをVFXのプロジェクト管理に使ってみた - その後の話
Google AppsをVFXのプロジェクト管理に使ってみようかと思う