クラウドのコスト最適化を推進する“3要素” ─NECが見据えるFinOpsへの到達法とは
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/rep_cndt2023_necsol_main.jpg?itok=d5t_Osrg)
コミュニティ、企業、技術者が一堂に会し、クラウドネイティブの動きを牽引することを目的としたテックカンファレンス「CloudNative Days Tokyo 2023」が、2023年12月11日と12日の両日、東京の有明セントラルタワーホール&カンファレンスで開催された。昨年に引き続き開催された同イベントでは、最新の活用事例や先進的なアーキテクチャなどの数多くの講演やディスカッションが開催され、初心者から熟練者までの幅広い参加者が集い、学び合うとともに、新型コロナ禍で生じたコミュニティの分断を乗り越える場にもなった。
本記事では、その中でのクラウドのコスト最適化をテーマとするNECソリューションイノベータ株式会社の細川雅貴氏と、CloudNatix Inc.の金田憲二氏による講演「CloudNatixではじめるクラウドオペレーションの最適化」の内容をお届けする。
クラウドコストの3割が“無駄”な支出!?
クラウドはシステムの柔軟性や効率性を向上させ、ひいては企業のビジネス革新を加速させるうえでもはや必須の存在だ。クラウド・プロバイダーは現在進行形でサービス拡充を進め、多くの企業がそれらの活用に精力的に取り組んでいる。
ただし、「その中で近年になり課題視されるようになってきたのがクラウドのコストです」と指摘するのは、NECソリューションイノベータでマルチクラウド設計・開発のクラウドアーキテクトを担当する細川 雅貴氏(写真1)だ。実際に、とあるベンダーが毎年実施するクラウド利用の課題に関するアンケート調査でも、昨年までの回答で最も多かった『セキュリティ』が今年は2番目となり、代わって『クラウドのコスト管理』が最上位となっている。
その主たる原因として細川氏が挙げるのが、クラウドの利用規模の拡大——全社規模の利用に加え部門レベルでの多様なサービス活用——により、社内でのクラウド利用の網羅的な把握が困難になったことでの、コスト管理の難度の高まりだという。結果、多くの企業で無駄な支出が生じる事態を招いており、その額は一般に企業のクラウドコストの約3割に上っているという。
この状況を打開し、コストの無駄を削減するための方法論として細川氏が提示したのが「FinOps」だ(図1)。データを基にクラウドの利用状況を可視化し、コストを分析し、最適化するサイクルを回し続ける、コスト最適化のための部門横断型運用モデルである。
現状ではムダの可視化だけでも一苦労
細川氏の話を引き継ぎ、クラウドコストの削減に向けた課題を具体的に解説したのがCloudNatix社でChief Architectを務める金田 憲二氏(写真2)である。金田氏は過去、GoogleでKubernetesの前身のクラスター管理システム「Borg」の開発に従事し、SquareやNvidiaでもインフラシステム開発に携わってきた生粋のインフラ技術者である。
金田氏が最初に指摘した課題が「可視化」だ。無駄を排除するには、まず無駄を特定するための現状把握が不可欠だ。そのために誰が、どこで、どれだけリソースを利用し、そのうち無駄がどれだけ生じているかを、各種情報を基に洗い出す。
ただし、そこで問題となるのが、プロバイダーから得られる請求データだけでは情報が十分ではない点だ。確かに利用料金の詳細は確認できるが、「それだけでは有効活用されているか否かの判断は不可能です。同様に、Kubernetesの名前空間やワークロードごとのコストの内訳把握も困難です」(金田氏)。
次の課題が「最適化」だ。企業が利用するクラウドサービスは冒頭に述べた通り多様化を続けている。マルチクラウドによる複数プロパイダーのサービス併用やハイブリッドクラウドの運用もすでに珍しくはなくなった。利用される技術スタックも、同一プロバイダーでありながらサービスによっては異なることもある。このような多様性が存在する状況では、個々の環境やワークロードごとに異なる最適化の方法を模索する必要があるのだと金田氏は訴える。
最適化自体も一筋縄ではいかない。一例に挙げたのがKubernetesクラスター構成の最適化だが、多くの要因が複雑に絡み合っているため判断は極めて困難で、行える技術者も限られる。万一、誤った手法を採用してしまった場合には、その上で稼働するサービス性能は当然低下し、業務遅延などの悪影響をビジネスに与えてしまう。
直近の仕事が優先されコスト最適化が後回しに
担当者の立場により判断が変わることも最適化を難しくさせている(図2)。例えば、「インフラ運用・管理」と「財務」の立場であれば、優先して取り組むべきは、前者で「リソース利用率の向上」「無駄なリソースの削減」、後者で「キャパシティや予算プランの確立」「ディスカウントのためのコミットメントの購入」などとなる。その場合、両者が同時に最適化に取り組むと、運用・管理では「無駄」と判断したリソースのために財務がコミットメントを購入したり、財務側が割引料金で利用できるインスタンスタイプを用意しているにも関わらず、運用・管理側が別のものを選択したりという不適切な事態が生じる可能性がある。
コミュニケーションを密に取ることで問題回避は可能だが、「複数のチーム間で協調しながらの最適化は実際問題として非常に困難」と金田氏は強調する。最後の課題として指摘したのが「人的作業/コスト」だ。コスト最適化の判断が下せたとしても、作業に乗り出せるとは限らない。実作業を担うのは多くの場合、クラウドを利用する現場のエンジニアで、彼らはそもそも多忙だ。コスト最適化の方が彼らの仕事より優先順位が高いことを合理的に説明できなければ、社内の理解は到底得られない。別に技術者を確保するには当然、コスト負担が発生する。こうした事情から、コスト削減に向けた最適化の重要性は高まりながらも、なかなか作業に乗り出せないという状況が少なからぬ企業の実態なのだという。
これらの3つの課題を説明したうえで、その中でのクラウドコストの削減に大きく寄与するツールとして紹介したのが、CloudNatix社のクラウドコスト最適化SaaS「CloudNatix(クラウドナティックス)」である。金田氏はCloudNatixを、リソースとコストを「可視化」し「最適化」するためのオペレーションの自動化を支援し、人的作業の負担を大きく軽減させることで、FinOpsによる持続的なクラウドコストの最適化を推進するSaaSだと説明する。サポート対象のクラウドはAWSとAzure、GCP、オンプレミス(プライベート)だ。
Kubernetesクラスターの構成最適化を手間なく実現
CloudNatixは、クラウドから継続的に収集した各種データを基に「可視化」と「最適化」「自動化・支援機能」の3つの機能を提供する。そのうち、1つ目の「可視化機能」の一番の特徴は、企業の階層的な組織構造にあわせて、いわゆるドリルダウンによるきめ細かい情報の可視化を実現している点だ(図3)。ダッシュボードへのアクセスを通じ、あらゆるチームが自身の利用するクラウドの最適化に必要な情報を取得できる。請求データのみならず、そこからは把握できない各リソースの利用率やKubernetesの名前空間ごとのコストなどの可視化も実現。それらを参考に、例えばクラウドコストの上昇時には適切な利用の結果なのか、それとも無駄が生じているからなのかを適切に判断できるようになる。
2つ目の「最適化機能」は、継続的に収集したKubernetesクラスターの利用データを基に、利用可能なすべてのインスタンスタイプの中から最適な設定を検出したうえで最適なクラスター構成を提案するものだ(図4)。提案では、ワークロードの実行履歴に対してKubernetesスケジューラーのシミュレーションを事前に実施することで、すべてのスケジューリング上の制約が満たされていることを保証。提案の適用を通じて、クラスターのリソースの利用率を手間なく確実に高められ、コスト削減を推進できる。
最適化の「適用前」と「適用後」のクラスターの状態のGUIによる事前確認のほか、「特定のノードグループには特定のインスタンスファミリを使用」といった条件による最適化も可能となっている。
コスト削減にとどまらない自動化も実現
3つ目の「自動化・支援機能」で用意されている機能は、サービスの可用性向上のためのワークロードのアップサイジング機能や、Kubernetesのアップグレード支援に向けた非推奨のAPIの検出機能など多岐にわたる(図5)。すでに述べた通り、開発者は開発以外に可用性や開発効率の向上、コンプライアンスへの対応などでそもそも多忙だが、それらの機能による各種の自動化を通じて、工数削減により浮いた時間やコストを最適化に回せるようになる。
これらの説明の後、金田氏はCloudNatixのインストールから最適化の適応までの手順をデモンストレーションで披露した。
CloudNatixはエージェント「CloudNatix Cluster Contoroller」によりクラウドから各種データを取得する。インストールで必要とされる作業は、CloudNatixのインストーラーを立ち上げ、質問に答えることで最終的に表示されるコマンドを実行するだけだ。
インストール完了後、エージェントはCloudNatixと自動的に通信を開始する。あとはCloudNatixのダッシュボードにアクセスし、組織構造を登録することで最適化作業はいよいよ本番だ。
金田氏はマウス操作によりチームやクラスターごとのコストや利用状況をまずは確認。そのうえで、「最適化提案画面」に遷移し、提示されている最適化提案を選択することで、現状のリソース利用率と割り当てリソース量、推奨する割り当て量などをグラフィカルに表示させた。あとは推奨に従うか、自分で微調整を行うことで作業を実施できる。
このほか、デモでは「クラスター」のページにおいて、Kubernetes間で発生しているイベントやクラスター内に存在するリソースを確認できることなどが紹介された。
NEC×CloudNatixがコスト削減で台風の目に
細川氏は金田氏のデモを受け、コスト削減や最適化と一言で言っても、そのための手法はいくつか考えられ、そこに難しさがあると指摘。その中で最適化を適切に進める原動力こそエンジニアリングだと強調する。そこで必要とされるクラウドに関する豊富な知見と人材による、NECソリューションイノベータのクラウド最適化支援サービスでの“伴走力”の高さを訴えた。
NECソリューションイノベータは現在、クラウド運用の高度化支援の一環として、CloudNatixの可視化、最適化機能を活用した効果的なコスト最適化を支援するソリューション「NECクラウドコスト最適化ソリューション」を提供している。本ソリューションには、無料のトライアルも用意されている。進化し続けるクラウドを使いこなすために必要なコスト管理のエンジニアリングの第一歩を我々と一緒に、と細川氏は呼び掛けた。
クラウド利用が加速し続ける中、CloudNatix社のCloudNatixとNECソリューションイノベータのNECクラウドコスト最適化ソリューションの存在感は今後、さらに大きなものになりそうだ。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- クラウド運用における「可視化」の課題を解決するNECのクラウドコスト最適化ソリューションとは
- クラウド利用の最大の課題は「コスト管理」
- Podのリソース割り当ての推奨値を提案するKRR(Kubernetes Resource Recommender)
- CNCFのCTO、Chris氏の「Cloud Native Predictions for 2021 and Beyond」に見る、クラウドネイティブに関する予測【後編】
- Kubernetesの新しいネットワーク機能、Gateway APIを理解する(後編)
- Linux Foundationが語るハーモナイゼーション2.0とは?
- クラウドホスティング移行でやりがちな4つの大きなミス
- Kubernetesを操作するターミナル用ツール、K9sとKDashを紹介
- コンテナを効率的に運用・管理する標準ツール「Kubernetes」とは
- Cloud Native Community Japanキックオフミートアップ レポート