2022年4月19日
FinOps
クラウドのコストを削減するためには、クラウドのコスト管理に開発者が参画することが最も重要です。ここでは、開発者を巻き込んで、コストをエンジニアリングリリースに関連付けるべき3つの理由を説明します。
クラウドのコスト管理とデプロイメントは、しばしば組織内の異なるチームによって個別に分析されることがあります。これらのチームが密接に協力し合うとどうなるのでしょうか?コストとリリースを関連付けて見ることに意味はあるのでしょうか?この記事では、全ての組織がエンジニアリングリリースとクラウドコストの関連付けを検討すべき3つの理由について見ていきます。
リフト&シフト戦略は、初めてクラウドに参入する企業では一般的なものでした。しかし、フルマネージドクラウドサービスを採用する企業が増えてきました。新しい フルマネージドサービスをアーキテクチャー全体に導入すると、無効な設定や誤った使用法の解釈などのバグが発生します。
例えば、Amazon CloudWatch Eventsでは、ルールが繰り返し実行される無限ループを引き起こすルールを作成することができます。例えば、Amazon Simple Storage Service(Amazon S3)のバケットでACLが変更されたことを検知し、ソフトウェアをトリガーしてACLを望ましい状態に変更するようなルールが考えられます。このルールが慎重に書かれていない場合、その後のACLの変更によって再びルールが発動し、無限ループが発生します。無限ループは、すぐに予想以上の高額請求の原因となります。
GCP Stackdriverのロギングでは、開発者がコードのホットパスにログ行を追加している可能性があります。価値のない、またはほとんど意味のないログが1日に何百万回も出力されるため、Stackdriver Loggingのコストが急騰する原因となります。
同様に、開発チームによって構築された全てのマイクロサービスでは、導入されたばかりのコードからバグが本番環境に忍び込むような変更があります。フロントエンドのマイクロサービスが同じAPIエンドポイントを複数回呼び出すとしたらどうでしょう?もしこれが開発サイクルの早い段階で発見されたなら、小さなコーディングミスで済みます。しかし、本番環境では、ページのパフォーマンスに影響を与えます。一般的な従量課金クラウドサービスによってAPIレイヤーが処理されている場合は、コスト増加の一因ともなります。例えばラムダ関数では、ユーザーは呼び出しと使用した計算秒数ごとに課金されます。
さらに、デプロイメントとコストの上昇を関連付けることで、開発者はライフサイクルの早い段階でバグを見つけることができます。ステージングやプロダクションなどの上位環境に忍び込んだバグも例外ではありません。
開発者は最適化を好みます。開発者がコストを最適化の機会、また最適化のための単なる境界条件と見なすようになれば、組織はクラウド上のコスト支出の効率化を達成することができます。コストをエンジニアリングリリースに関連付けると、最適化の機会が数多く見つかります。以下はその例です。
BigQueryなどのデータウェアハウスでは、クエリー実行中にスキャンされたデータ量に応じて課金される場合があります。新しいクエリーを追加する際にパーティションを削除すると、スキャンされるデータ量が大幅に増加する可能性があります。これでは、コストが高騰してしまいます。同様に、Stackdriverのメトリクスの場合、最適化されていない(必要以上にGroup Byフィールドが多い)新しい メトリクスをプッシュすると、コストが急騰することになります。
多くの場合、アプリケーションで使用するさまざまなクラウドサービスの価格モデルやエンジニアリングの選択がコストに与える影響を理解するために時間を費やすことは、組織にとって有益です。これを実現する最も簡単な方法は、すべてのデプロイメントがコストにどう影響しているかを注意深く監視することです。
関連付けにより、コスト高騰の根本原因を絞り込むためのフィードバックサイクルも短縮されます。これにより、改善が極めて容易になります。製品ライフサイクルの早い段階でコスト高騰や問題に気づくことで、ビジネスへの影響を軽減し、ユーザーの幸福度を上げることができます。
Harnessは、継続的デリバリーとクラウドコスト管理を同じプラットフォーム上で実現するエンドツーエンドのソフトウェアデリバリープラットフォームで、モジュールを横断するカスタムダッシュボード機能を備えています。これにより、コスト上昇とデプロイメントとの関連付けが非常に容易になります。さらに、Cloud Cost Managementは、第一級の異常検知機能を備えています。この機能は、コストの異常値をユーザーに通知し、コスト上昇を常に確認するプロセスをさらに簡素化します。
HarnessプラットフォームやCloud Cost Managementについてもっと知りたいですか?[email protected] までご連絡ください。また、Slackコミュニティーにもご参加ください。
この記事はHarness社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。