Google CloudがApplication Design Center(以下ADC)という機能をプレビュー版で公開しました。
GUIで直感的にシステム全体の構成をデプロイ出来る点や、
作ったシステム構成をterraform(.tfファイル)に出力できる点が注目を集めています。
今回少しだけ触ってみたのでその感想を書いていこうと思います。
自分たちも使ってみようかな?と思った方の判断材料になれば幸いです。

筆者の立場

  • GCの経験:3ヶ月
  • terraformの経験:半年
  • 他クラウドサービスの経験:5年以上

のインフラエンジニアです。

 

最初にまとめ

  • GCで構成図をそのまま落とし込める点、テンプレートの共有は便利
  • terraform(tfファイル)での開発から移行出来るかというとそこまでの利便性・手軽さでは現状無い

 

詳細な感想

ここから細かい話をしていきます。自分が感じた大まかな良い点と改善点は以下の通り。

良い点

  • 構成図をそのまま落とし込める
  • 直感的に各サービスを繋げて連携出来る
  • テンプレートを保存でき、プロジェクト内外に共有する事が出来る
  • terraformとして出力出来る

改善点

  • 東京/大阪リージョン未対応、日本語未対応
  • 対応しているサービスが少ない
  • GUIが分かりにくい

構成図をそのまま落とし込める/直感的に各サービスを繋げて連携出来る

draw.ioなどで書いた構成図をそのままにシステムをデプロイする事が出来ます。
ただし、システム間の繋がりにはクセがあるのでデプロイ後に一度確認してみましょう。
また、「ソースが仕様」な困った現場もあると思いますが、ADCを使う事で多少緩和出来るかもしれません。

テンプレートを保存でき、プロジェクト内外に共有する事が出来る

テンプレートが保存でき、共有も簡単なので同じ構成のシステムを簡単にデプロイ出来ます。
弊社ではPoCから徐々に製品化の様なケースもあるので、
テンプレートの最新化を心がければパッケージ製品のデプロイなどもどんどん改善されると思います。

GC公式のテンプレートもありますが、まだ2種類しか無いので今後に期待です。

terraformとして出力出来る

デプロイ部分を担っているCloudBuildのログを見るとわかるのですが、ADCはterraform applyを使用しています。
その為、ADCで作成した構成をterraformのtfファイル形式として出力する事が出来ます。
テンプレートとしてGC上に保存出来ますが、
tfファイルとしてGitでバージョン管理するニーズも高いと思うのでこの機能目当ての方も多いと思います。

 

東京/大阪リージョン未対応、日本語未対応

デプロイリージョンが現状5つしか対応しておらず、UIは全て英語です。
自分は翻訳機能使って英語読んでる人間なので、日本語未対応は気になる点です。

 

対応しているサービスが少ない

一応改善点として挙げましたが、
BigQuery,Cloud Run,Cloud Storage,Vertex AIなど各分野の主要なものは一通り揃っている為そこまで不便は無いです。

 

GUIは今後に期待

自分が一番気になった部分です。
プレビュー版のため、入力欄周りに課題が見られました。
入力欄の必須/オプションが分かりにくく、普通プルダウンにする様な項目でも手入力が多い印象です。

インスタンスのTierあたりはプルダウンにして欲しい

This is optionalと説明文と同じフォントで書いてある部分もありますが、それ以外にもオプション項目がいっぱいあります。

ちなみに上のMin(Max) Instance Countは必須項目で、デフォルトだと未入力でエラーを吐きます。

テンプレートを作成する際も、機能単位でOKかNGは教えてくれますがどこが悪いかは教えてくれません。

 

せめてどの項目でエラーとしているか教えて・・・

この辺りから、terraformやgcloud cliレベルの入力値を理解していないと厳しいなと感じました。
「初学者がADCで直感的に構成を作成し、terraformに出力」の様なユースケースは厳しそうです。

terraformはlinterも充実してるのでまだteraformを選択しますが、
課題が解決すれば初学者にターゲットが広がるのではと期待を抱きました。

さいごに

プレビュー版という事で今すぐの実戦投入は厳しいかもしれませんが、
方向性としては非常に欲しい機能なので今後Googleさんのアップデートローカライズに期待しています!