[第8回] クリーニングから始まるTableau Cloud移行
miyabiiです。Tableauサイト管理者 兼 DATA Saber挑戦中のApprenticeとして、考えたことや学んだことをシェアしていきます。第8回は、自分が管理するサイトをTableau ServerからTableau Cloudに移行した話(現在進行形)です。移行作業を開始する前に何を行ったのか、計画と準備にフォーカスしてお話しようと思います。
方針決定まで
移行する?しない? Cloudに移行するメリット
Tableau公式サイトでは以下4点をCloudに移行するメリットとして挙げています。
イノベーションの活用 - 常に最新バージョンで最新機能が使える
コストの削減 - インフラコスト不要、バージョンアップ作業も不要
セキュリティの強化 - 世界基準に準拠
容易な規模拡大 - SaaSメリット(スケーラビリティ等)の享受
詳しくは、Tableau Blueprint「Tableau のクラウド移行」を参照。
今回、Cloud移行の動機となったのは、コスト削減でした。Serverではハードウェアやインフラのコスト(お金)だけでなく、それを管理・運用する体制を維持するため、専門エンジニアを抱える必要があります。
そこで、ServerバージョンアップかCloud移行か、コストを比較した結果、Cloud移行を選択することになりました。
コストを論点とする場合の移行の判断ポイント
最終的にCloud移行を方針決定する前に、移行コストの見積、及び、ノックアウトがないことを調査しています。
まず、コストは以下の観点で比較分析しました。
移行ツールはない
移行コストは大きく2つ。移行作業とライセンス(上図右上)です。
移行作業については、セルフサービスでの手動移行を行うことにしました。
Tableau Server から Tableau Cloud へワンクリックで丸ごと全部を移行してくれるような便利なツールは残念ながらありません。手動で、Cloudへの設定登録を行い、コンテンツをリパブリッシュすることになります。
Tableauヘルプでは、小規模(100人未満のユーザ)の場合、移行ツールを使わず、手動での移行を推奨しています。私が管理するサイトでは、400名を超えるユーザを抱えていますが、実質的な稼働率やユーザの利用状況を鑑みて、名目の数より移行対象の規模は少ないと考え、迷わず手動で移行することにしました。実質的な規模感を正確に捉えることは、この後に決める移行計画に大きく影響するため、とても重要だと考えます。
公式が提供する移行ツール(Content Migration Tool)は、ワークブック・データソース・パーミッションの変換に対応できるようですが、制約事項もあり、ツール仕様理解や検証に時間をかけるのを嫌って早々に選択外にしてしまいました。
ちなみに、セルフサービス移行が難しい場合は、Tableau コンサルティングサービスや移行パートナーの利用など、外部有償サポート利用の選択肢もあります。セルフサービス移行が適するかどうかは、TableauヘルプのTableau のクラウド移行 - Tableau「お客様による Tableau Cloud 移行」に詳しく記載されているので参照してください。
移行対象の量の見立て
手動での移行となると、その量によって作業期間や工数が大きく変わります。そこで、移行対象の量を大雑把に見立てました。移行対象プロジェクト、ワークブック・データソースなどのコンテンツ、ユーザの数を推定しています。この時点では、利用者へのヒアリング(移行意思確認)はせず、Tableau ServerリポジトリDBから取得したアクティビティログをもとに、稼働率から移行量を導出していきました。
移行ライセンスコストの取り扱い
移行期間中は、Tableau Server と Tableau Cloud の両方のライセンスが必要となります。ライセンスについてはTableauアカウントチームに連絡してサポートを受けるのが良いと思われます。Tableauヘルプにも記載があるように、ライセンスの移行プログラムを利用して、ライセンスコストを二重負担せず移行することも可能(2023年11月時点)でした。今回、あいにく当方の考えるスケジュールや条件と折り合わず利用を見送っていますが、利用できればコストメリットは大きいです。
ノックアウトはないかを探す、機能/非機能の比較
Cloud移行しようかなと考えたことのあるTableau管理者の方なら、ServerとCloudの機能差異やサイト容量上限100GB制限など、Fit &Gapは既に調べているのではないかと思います。それらの一つひとつを説明するのは話が長くなりすぎるので、その調査の結果、私たちが懸念したポイントと対応を共有しようと思います。
オンプレからSaaSになると性能が良くなるとは限らない
機能面ではFit &Gapで特に問題が見当たらなかったものの、非機能面では性能懸念が浮上しました。これまで潤沢なスペックのオンブレ環境で余裕を持って利用していたため、重いワークブックでもそれなりに動いてしまったからです。共用環境であるTableau Cloudではメモリ増強などのハードウェア的対処はできないため、性能劣化する可能性がありました。そこで、サイトを早めに構築し、移行開始前に性能検証を行う段取りを挟むことにしました。これにより、移行開始前にノックアウトがないことを確認することにしたのです。
方針が決まりいざ移行!ではなくクリーニング
コスト比較と移行前確認を経て、Cloud移行にGOが出ます。
最初のステップは、どのコンテンツを移行するかを決めること
移行方針の検討プロセスにおいて移行量の概算を推定していますが、移行を開始する前に、移行対象を全てリストアップする必要があります。そこで大切なのは、ゴミ掃除クリーニング。
Tableau Cloudでは、1つのサイトでストレージ容量100GBまでの制限があります。超えた場合、Advanced Managementライセンス購入で 1 TBに増やせますが、追加料金でコストが跳ね上がりますので、何としても身軽な体でCloudに移行したい!
Tableau管理者はコンテンツの所有者ではないので、人のものを勝手に捨てるわけにはいきませんね(どう見ても使ってないのとかさっさと捨てたいけど)。ここで、所有者に移行要否を確認するヒアリングを行いました。
非稼働コンテンツがなぜ蓄積されるかを考えてみる
方針検討と移行実施前の二段階で移行対象を絞り込んでいきましたが、その中で想像以上に非稼働コンテンツが多いことに気付きました。それまでもTableau管理者としての作業をしている中で「アレもコレも使ってなさそうだなあ」という気はしていたのですが、腰を据えて調査したのは実は初めて。非稼働コンテンツは、だいたい3パターンのいずれかで生まれていました。
パターン1:テストや一時利用で作成した残骸
プロジェクトやワークブックの名称に、日付やそれらしきキーワード(テスト、プロト、バージョン番号)が入っていることが多いです。かなり前に使われていた場合はアクティビティログで機械的に移行対象外にできますが、少し前まで使っていたが既に不要というケースもあるため、所有者に判断してもらう必要があります。
パターン2:バックアップ
パターン1同様、だいたい名称で想像がつきますが、そのバックアップが現在も必要か、所有者に判断してもらう必要があります。
パターン3:利用終了後に放置
すでに所有者が離任していて引継ぎ先がないものもありました。誰も判断できず削除されないまま放置、場合によっては存在すら誰も把握していないなんてことも。
Tableau上に置く必要なければダウンロードしてコンテンツを保管
パターン1・2は、Tableau上で開く予定がない場合、ワークブックやデータソースをダウンロードして、ファイル保管してもらうように利用者にお願いしました。その結果、9割以上が移行対象外になりました。パターン3は、「半年以内に利用実績がないものを移行しない」という合意を取り付け、一律対象外で片づけます。
非稼働ではないが移行対象外になるパターン
その他、ヒアリングで移行対象外と判明したものもあります。
・移行実行までに利用終了の予定
・当面使わないため必要になったらCloudにパブリッシュする仕切りにした
クリーニングで移行対象減!Cloud移行で棚卸しのススメ
これらのヒアリングと調整を経て、移行対象が8割減。普段からきちんと削除フローや定期クリーニングが運用されているサイトであれば、ここまで減ることはないでしょう。Cloud移行を棚卸しの機会と捉えて、サイト容量制約を逆手に取り利用者の協力を取り付けて、踏み込んだクリーニングを推進すると良いなと思いました。
ようやく移行スケジュール確定
クリーニング済の移行対象リストを手に、ようやく移行スケジュールが確定しました。移行作業は、手動移行ガイドが参考になります。
Tableauヘルプに掲載されている、手動移行ガイドの目次は以下のとおり。
ちなみに、一番苦労した項番6のパーミッション設定については、[第3回] 新しい運用ルールの決め方に詳しく書いていますのでぜひ見てください。
まとめ
今回は、移行作業を開始する前の計画と準備について、私の経験をシェアしました。実際にやった作業だけでなく、Tableau管理者としてどう考え何を感じたのか、手記としてアウトプットしてみました。
ゴミを抱えて引越しするかのようなCloud移行はしたくないという思いで、時間と労力をかけてクリーニングを実行しましたが、その効果で、その後の移行作業がコンパクトになり、すがすがしいCloud生活のスタートが切れそうです。
現実には、それぞれのサイトごとに移行目的も状況も異なるため、同じようにできるとは限りませんが、どこか参考になる点があれば幸いです。
【backnumber】
[第1回]TableauのExplorerライセンスは、どういう時に使うのか?
[第2回] Tableauのパーミッションはベストプラクティスを死守すべし!
[第3回] 新しい運用ルールの決め方 ~パーミッション続編
[第4回] 権限制御はどこに実装する? ~Tableauとデータベースの機能分担について
[第5回] Tableauでの行レベル/列レベルセキュリティの実現方法あれこれ
[第6回] Tableauからデータベースへのアクセス時の認証について
[第7回] 失敗例から学んでほしいダメなTableauの使い方
[第8回] クリーニングから始まるTableau Cloud移行
[第9回] Vizが遅い?! ~TableauCloud移行で性能に悩んだ話