Datadog Japanは12月20日、コンテナーの利用状況を調査した「10 INSIGHTS ON REAL-WORLD CONTAINER USE」の日本語版「コンテナー利用に関する10のインサイト」を解説する説明会を開催した。
Datadog Japan シニアデベロッパーアドボケイト 萩野たいじ氏
Datadog Japan シニアデベロッパーアドボケイトの萩野たいじ氏は「われわれはクラウドコストに関する推奨事項を『クラウドコストレコメンデーション』と呼んでいるが、すべてインテグレーションしているコンテナー資産も使用データに基づけば節約できる。アプリケーションとサービスの費用も監視で最適化」すれば、マネジメントやコンピューティング実装が容易になるという。
米Datadogが実施した10 INSIGHTS ON REAL-WORLD CONTAINER USEは、2023年9月に数万社の顧客企業で稼働中の24億を超えるコンテナーの使用状況データをまとめたもの。このレポートによれば、コンテナー採用企業の45%以上がサーバーレスコンテナーを使用中だという。ここでいうサーバーレスは主にクラウド環境を示しており、Amazon Web Services(AWS)であれば、「AWS App Runner」や「ECS/EKS Fargate」、Microsoft Azureなら「Azure Container Instances」や「Azure Container Apps」、Google Cloudは「Google Cloud Run」や「GKE Autopilot」の使用を意味する。
Datadog Japanによれば、サーバーレスコンテナーの利用比率はGoogle Cloudがもっとも多く、コンテナー採用企業の68%がサーバーレスコンテナーを使用し、2年前の35%から急増した。萩野氏は「2022年8月にGoogle Cloud Run上で構築した第2世代の『Cloud Functions』リリースに起因している」と分析する。なお、サーバーレスコンテナーの採用比率は複数回答の結果をまとめている。
サーバーレスコンテナーの採用比率
コンテナーのGPU使用量は前年比58%増加。同氏は「コンピューターグラフィックやアニメーションなど計算負荷の高いアプリケーションに使用されてきたが、最近は機械学習やLLM(大規模言語モデル)の学習、推論の実行、大規模データセットの処理に使用されている」と増加理由を解説した。
なお、非コンテナーのGPUベースインスタンスも同時期で25%増加している。同氏は「次世代AIベースアプリケーションへの投資が全体的に拡大し、モデルに必要な非構造化データ量も増加した。企業としてはコンテナー上でGPUベースベースのワークロードを実行することで、開発の俊敏性を向上させながらデータからより良い洞察を得ようとしている」とも述べている。
Armベースのコンピュート採用率も過去1年間で2.6%から7.1%と2倍以上に増加した。Datadog Japanによれば、Armベースのインスタンスは低電力と低発熱量からx86ベースのインスタンスに比べてコストを20%削減できるため、このような潮流が生まれているとしている。ただし、Armベースのコンテナーで使用できる開発言語やライブラリー、フレームワークの互換性を確保するため、アプリケーションのコードをリファクタリング(内部構造の再整理)する必要がある点に注意が必要だという。
Armベースのコンピュート採用率
「Kubernetes」採用企業の半数以上がHPA(ポッド水平オートスケーラー)を使用している。アプリケーションコントローラー内のポッドを、CPU使用率などに基づいて自動的に規模を調整するHPAだが、萩野氏は「トラフィック急増時はUXとアプリケーションのパフォーマンスを維持し、アクティビティーが低い時期には実行中のポッド数を自動的に調整することでインフラコストを削減」できることから注目を集め、その人気度は現在まで続いているという。
その理由として同氏は「当初のHPAはCPUのような基本的メトリクスでポッドをオートスケールしていたが、バージョン1.10から外部メトリクスをサポートし、多くの企業がオートスケール戦略を微調整するために新しいリリースを早期採用している。たとえばバージョン1.27は実験的に(ターゲットリソース使用率を定義する)タイプメトリックに対応。Kubernetesユーザーはコンテナーが最低限のリソースにアクセスできるようリクエストできる」と説明した。
HPA利用企業におけるKubernetesクラスターの割合別分布
同レポートによれば、Kubernetesユーザーはコンテナーが要求したCPUとメモリーの半分未満しか使用していないという。「Kubernetesワークロードの65%以上が要求されたCPUとメモリーの半分未満しか利用していない。ワークロードライトサイジングの困難さを示している。企業はコンテナー用に過剰な資源を割り当てるケースが多い。クラウド以前から同様の傾向があり、もっとも大きなアプリケーションに合わせてインフラを用意してしまう。資源の利用を最適化し、インフラコストを削減する余地はまだ十分にある」と萩野氏は説明。
また、KubernetesのVPA(ポッド垂直オートスケーラー)の使用率は全体の1%未満だという。その理由について同氏は「この数字は2021年の調査結果と同様。VPAはベータ版であり、CPUとメモリーのメトリクスはHPAと並行利用が推奨されていないなど、一定の制限があるため」、今後は資源を非効率的に使用しているワークロードを特定し、最適化する「Kubernetes Resource Utilization」のようなツールの採用が増加すると予想した。
萩野氏は個人的意見と前置きしながら「システムのユースケースによって異なる。年間を通して揺れ幅が少ないシステムなら最適化も難しくないが、変動的なシステムインフラの最適化は困難だ。オートスケール機能を使いこなすのが肝だ」とも述べている。
要求されたCPUの使用率