Framing up FinOps: Google Cloud でクラウドの費用対効果を最大化する方法
Google Cloud Japan Team
※この投稿は米国時間 2023 年 4 月 20 日に、Google Cloud blog に投稿されたものの抄訳です。
クラウドは費用がかかるものであることは、Google も理解しています。実際、クラウドへの投資をまだ回収できていない企業もあります。また、クラウド費用の上昇を目の当たりにしながら、その理由を理解していない企業もあります。クラウドの費用対効果を最大化することが重要な課題であるとお考えの企業は、読者の皆様だけではありません。Cloud FinOps の導入を検討中で、疑問をお持ちの方は、こちらをご覧ください。また、本投稿では、クラウドの費用対効果を最大化する方法をご紹介いたします。
Google Cloud FinOps のフレームワークの 5 つの構成要素の一つである費用対効果の最大化は、「Framing up FinOps」の最近の回で重点的に取り上げました。この投稿では、Google Cloud の費用対効果の最大化を専門とする数名の方々との会話から得られた主な要点をまとめています。また、クラウドの費用対効果の最大化を今すぐ開始できるよう、専門家による推奨事項と業界で一般的な手法をまとめています。
クラウドの費用対効果を最大化するための 3 つの方法
費用対効果の最大化は幅広いテーマであり、継続的なプロセスでもあります。組織の全員から協力を得る必要がある分野です。つまり、エンジニア、開発者、財務担当者、ビジネス リーダーのいずれもが、仕事の一部として費用を意識することが求められます。クラウドの費用対効果を最大化する方法として、リソースの最適化、価格の最適化、アーキテクチャの最適化の 3 つが挙げられます。
リソースの最適化
簡単にいうと、リソースの最適化とは、必要なリソースを、必要なときに、必要なだけ使うということです。これを、クラウドの効率を最適化する最初の目標とする必要があります。また、リソースの流動的な需要を管理するということでもあります。たとえば、トラフィックや需要に合わせたインスタンスのサイズの適切な調整、アイドル状態のサービスの停止、自動スケーリング(必要なときにリソースを拡大し、不要なときに縮小する)のような手法の使用が求められます。
価格の最適化
Google のお客様の多くは、オンデマンド料金を採用しています。しかし、クラウド費用の仕組みをより深く理解することで、十分な情報に基づいた判断を下し、すでに使用しているクラウド サービスをより低料金で使用できます。Google Cloud は、確約利用割引(CUD)を提供しています。これについては以下で詳しく説明します。その他にも、多様なライフサイクル ポリシーや BigQuery 内のスロット予約などの選択肢があります。
アーキテクチャの最適化
多くのお客様は、クラウドの費用対効果を最大化するときに、インフラストラクチャ スタックから着手します。しかし、Google は、お客様がアプリケーション テクノロジー スタックを再構築したときに最大の価値を実現できる傾向があることを何度も確認してきました。お客様は、リソースや価格の観点からだけでコンピューティング エンジンやクラウド ストレージを最適化しているわけではありません。むしろ、総所有コスト(TCO)を考慮しています。そのため、Google Cloud のマネージド プラットフォームや、BigQuery、Cloud Functions などのサーバーレス サービスを活用することがよくあります。
Google Cloud の費用対効果の最大化に取り掛かる
クラウドの費用対効果の最大化に着手したばかりで、どうすればよいかわからないと感じ始めている方も、ご安心ください。再構築も良い選択肢ですが、それだけが唯一の選択肢ではありません。Google のほとんどのお客様にとっても、再構築は最初の選択肢ではありません。繰り返しになりますが、クラウドの最適化は反復的かつ継続的なプロセスなのです。特に、一般的な Cloud FinOps の実践と費用対効果の最大化については、「簡単なことから着手し、徐々に範囲を拡大する」手法をおすすめします。すなわち、小規模で始めて、改善を続け、繰り返すことをおすすめします。費用対効果を最大化する際の出発点としておすすめなのが、CUD とも呼ばれる柔軟な確約利用割引です。
柔軟な確約利用割引(CUD)
CUD は、クラウド費用の削減を実現するための、簡単で効果的な価格最適化方策です。実際、多額の料金を払ってクラウドを利用している企業の中には、柔軟な CUD を戦略的に活用することで、数百万ドルの費用削減を実現した例もあります。CUD は、1 年間または 3 年間の最低利用額の支払いと引き換えに、大幅な定額割引を提供する費用ベースのコミットメントです。CUD を利用すると、複数の VM ファミリーやワークロードの需要の変化に対して、料金プランを柔軟に選択でき、費用を予測しやすくなります。重要なのは、CUD を利用することで、すでに利用しているクラウド サービスの費用を節約できることです。
確約利用割引に関する推奨事項
過去の利用データによると、CUD の推奨事項は、クラウド費用を削減する機会を発見するのに優れた方法といえます。CUD の推奨事項を活用することで、アプリケーション アーキテクチャとオンデマンドの使用状況を分析できます。また、年次、月次、日次、さらには 1 時間ごとのクラウド利用状況を可視化することで、ニーズに合った適切なコミットメント レベルについて十分な情報に基づいた意思決定を行えます。CUD Recommender と CUD 分析ダッシュボード ツールは、GCP 課金コンソールに標準装備されています。CUD の推奨事項は、Compute Engine、Cloud SQL、Cloud Run、Google Kubernetes Engine(GKE)、Cloud VMware Engine など、複数の Google Cloud プロダクトで利用できます。クラウド費用の削減を実現するために、これらのツールをご活用ください。
GKE で費用対効果の最大化を支援
GKE は、複数のチームがクラウド上で複数のワークロードを実行するマルチテナント環境です。このため、費用対効果の最大化に関する独自の課題と機会が存在します。たとえば、複数のワークロードを同時に実行している場合、費用の帰属、アプリケーションの適切なサイズ調整、需要に応じたダウンスケーリングが特に重要となります。
組織は、費用を管理するために、各チームのクラウド費用を可視化する必要があります。VM インスタンスがワークロードに適切にプロビジョニングされるように、十分な可視性と柔軟性を確保する必要があります。また、需要が少ないときには、クラスタの使用量を縮小できるようにしておく必要もあります。GKE は、マルチテナント アーキテクチャのため、費用配分をすぐに可視化できます。たとえば、BigQuery 課金データ エクスポート機能を使用すれば、クラスタ名、Namespace のほか、コア、RAM、永続ディスクの Pod ラベルごとに、GKE の費用の主要因を確認できる詳細な費用データを得ることができます。また、Autopilot のような GKE 独自の機能を利用すると、アプリケーションから要求されたリソースに対してのみ支払いが発生します。Autopilot では、費用対効果を最大化するために Google がお客様のクラスタ構成を管理するので、お客様は、複雑な作業を行うことなく割引を受けることができます。
Google Cloud Storage サービスによる費用対効果の最大化
データはビジネス価値を高めるものであり、クラウド ストレージに保存されます。Google のお客様のほとんどにおいて、クラウド コンピューティングにかける費用よりも、クラウド ストレージにかける費用の方が大きいのが現状です。多くの場合、お客様は、クラウド ストレージが削減できないサービスであると想定しています。しかし、こういった想定は、すべてが正しいとはいえません。特に、ビジネス価値を高めるためにデータにアクセスする必要性が生じる状況、時間、経緯、頻度を理解することで、ストレージの費用対効果を最大化できる方法がいくつかあります。
ロケーション タイプの最適化
ロケーション タイプのストレージとは、基本的には、クラウド上のさまざまなリージョンにデータをどれだけ複製するかをいいます。Google Cloud のロケーション タイプは、リージョン、マルチリージョン、デュアル リージョンの 3 種類です。データをどこに保存するかによって、クラウドの費用が変わってきます。しかし、データをどこに保存するかは、単なる財政的な観点だけで判断できません。データの保存場所は、可用性のニーズとアプリケーションの災害耐性によって決まります。ここで、自分の組織ではアプリケーションの高可用性を確保する必要があるか、自問自答してみましょう。確保する必要があれば、マルチリージョンおよびデュアル リージョンのクラウド ストレージが最適です。これらのクラウド ストレージでは、クラウド上の複数のリージョンにデータが複製されるため、1 つのリージョンに障害が発生しても、アプリケーションは稼働時間 100% を維持できます。また、2 つ目のリージョンからデータを引き出すこともできます。主にクラウドからデータを読み込む場合は、リージョン型とデュアル リージョン型のロケーション タイプを選択してください。主にインターネットからデータを読み込む場合(コンテンツ サービスなど)は、マルチリージョン型をおすすめします。
ストレージ クラスの最適化
Google は、ホット(最も高価)からコールド(最も安価)までの 4 つのクラウド ストレージ クラス(Standard、Nearline、Coldline、Archive)を用意しています。どのストレージ クラスを選択すべきかは、データを保存する必要がある期間と、データを読み込んだりデータにアクセスしたりする頻度によって決まります。端的に言うと、データの寿命が短い場合や、月に複数回アクセスする必要がある場合は、最も高価なクラスである Standard Storage を選択します。そうすることで、頻繁な読み込みや高精度な分析を行えるよう、パフォーマンスを最適化できます。逆に、データを長期間保存し、データにほとんどアクセスする必要がなく、費用を抑えたい場合(アーカイブやバックアップなど)、データ保存には、Archive Storage が適しています。
アクセス パターンの最適化
クラウド ストレージにあるデータの読み込み頻度と利用頻度はどれくらいでしょうか?データのアクセス パターンを知ることで、データ保存の費用対効果を最大化することができます。一般的に、データは最初に書き込まれたときは頻繁に使用されます。時間が経つにつれて、使用頻度が少なくなります。つまり、新しいデータをすぐに Standard Storage に保存することは理にかなっています。しかし、読み込み回数が減ってくると、Coldline Storage や Archive Storage に使用頻度の低いデータを移行することで、費用対効果を最大化できます。無料で利用可能なセルフサービス ツールであるオブジェクトのライフサイクル管理を使用すると、ルールを設定してデータのライフサイクルをより適切に管理し、ストレージの費用対効果を最大化できます。
Autoclass でクラウド ストレージの費用対効果の最大化を自動化する
クラウド ストレージの費用の複雑さと、それ以外に必要なすべての要素をどのように管理すればよいのかわからず不安を覚え始めているとしても、Google がサポートします。Autoclass は、データへの最終アクセスに基づき、データを自動的に最適なストレージ クラスに配置するマネージド サービスです。これを使用すると、クラウドの費用削減を自動化できます。Autoclass を使用すると、より使用頻度の低いデータ向けのストレージ クラスに一般的に付随する検索料と追加料金が不要となります。運用の負荷を削減できるだけでなく、価格も予測しやすくなります。クラウド ストレージの費用対効果を最大化したいが、新しいソリューションやテクノロジーの開発と管理に組織のリソースを費やしたい場合は、Autoclass への投資をご検討ください。
クラウドの費用対効果の最大化に際してやってはいけないこと
クラウド費用を節約しなければならないという強い圧力を感じている場合、費用対効果の最大化に関して思い切った決断を下したくなるかもしれませんが、それはやめておきましょう。クラウド費用を可視化したり、考慮したりすることなく、無謀な決断を下しては、不必要な混乱を招きかねません。それにより、生産性が悪化し、顧客体験が低下するおそれがあります。
その代わりに、次のように考えてみましょう: 何を軸にして意思決定をしているか?クラウドの費用を十分に把握できているか?クラウドがビジネス価値にどのように寄与しているか?そして、誰が何に責任を負うのか?繰り返しになりますが、Cloud FinOps の実践では、簡単なことから着手し、徐々に範囲を拡大することが重要です。クラウドの費用対効果を最大化するための意思決定を行うときは、正しい枠組みを持たずにいきなり最大化に取り掛かるというミスを犯さないようにしましょう。
費用対効果の最大化計画
小規模で始めて、改善を続け、作業を繰り返すなかで、以下の Cloud FinOps の費用管理の基本を常に意識しましょう。
費用の可視性: 組織内の全員がクラウド費用レポートにアクセスできるようにする。
ガバナンス: 費用管理の方針と基準(自動化やリソース階層など)を確実に設定する。
インテリジェンス: より適切なビジネス上の意思決定を行うために、運用とインフラストラクチャのトレンド、インテリジェンス、分析情報を把握し、考慮する。
イネーブルメント: 費用対効果の最大化は、組織全体で取り組むべきものであることを常に念頭に置く。ベスト プラクティスを採用して、チームがクラウドの費用対効果を高める案を出せるようにする。
費用の可視性、ガバナンス、インテリジェンス、イネーブルメントは、費用対効果の最大化に向けた取り組みの改善に役立つだけでなく、より良い組織と顧客体験の創出にも寄与します。
今日から活用できる費用対効果を最大化するための方策を少なくとも 1 つはご確認いただけたのではないでしょうか。このトピックやその他の Cloud FinOps のトピックについては、Twitter スペースの Framing up Cloud FinOps をぜひご確認ください。新しいエピソードを隔週で公開しています。
- Cloud FinOps 担当責任者 Eric Lam