ニュース

Datadog、10個の“気付き”をまとめたコンテナ利用実態調査レポート 2023年版を解説

 サーバー監視&分析サービスの米Datadogは、コンテナ利用実態調査レポート「10 insights on real-world container use」の2023年版を、11月に発表した。その名のとおり、調査結果から得られた10個のインサイト(気付き)をまとめたものだ。

 このレポートの内容を国内で解説する記者説明会が、12月20日にオンラインで開催された。

 調査は2023年9月に行われた。対象は、Datadogの顧客ベースである数万の企業の24億を超えるコンテナからのデータであると、説明にあたったDatadog Japan合同会社 シニアデベロッパーアドボケイトの萩野たいじ氏は述べ、それによるバイアスがあると、あらかじめ注意した。

 なお、レポートの日本語版は現在ローカライズ作業中で、近日公開予定とのことだった。

Datadog Japan合同会社 シニアデベロッパーアドボケイト 萩野たいじ氏

①45%以上がサーバーレスコンテナを使用

 1つめのインサイトは「コンテナ採用企業の45%以上がサーバーレスコンテナを使用」というものだ。

 なお、ここでいうサーバーレスコンテナとは、クラウドサービスのAmazon ECS Fargate、Amazon EKS Fargate、AWS App Runner、Google Kubernetes Engine Autopilot、Google Cloud Run、Azure Container Instances、and Azure Container Appsを指す。

 組織でのクラウドプロバイダーのコンテナプラットフォーム利用のうちサーバーレスコンテナの採用の割合は、2年前は31%であり、上昇基調にある。中でも、Google Cloudのサーバーレスコンテナが、サーバーレスコンテナを実行している組織の割合が多く、68%にのぼる。

①コンテナ採用企業の45%以上がサーバーレスコンテナを使用
①サーバーレスコンテナの採用ではGoogle Cloudが多い

②GPUコンピューティングでのコンテナ使用が、コンテナ不使用より高い増加率

 2つめのインサイトは、「コンテナでのGPU使用量は増加傾向」ということ。コンテナでのGPUワークロードの計算時間が前年比で58%増加している。それに対してコンテナ不使用のGPUコンピューティングの計算時間は25%の増加だという。

 GPUは、近年では機械学習やLLMなどに使われている。コンテナプラットフォームを利用することで、データ規模が増加する中で開発の俊敏性を向上させたり、機械学習用のコンテナイメージを使ったり、ワークロードをクラウド間で移行したりできるという。

②コンテナでのGPU使用量は増加傾向

③ARMベースのインスタンスが2倍以上に増加

 3つめのインサイトは「ARMベースのコンピュートの採用がこの1年で2倍以上に増加」。マネージドコンテナプラットフォームを利用する組織におけるARM CPUベースのインスタンスの利用が、1年で2.6%から7.1%へと2倍以上に増加した。

 AWSではARMインスタンスはx86ベースと比較してコストを20%削減できるとしており、パフォーマンスを犠牲することなくクラウド支出を削減しているとレポートでは推測している。

③ARMベースのコンピュートの採用がこの1年で2倍以上に増加

④Kubernetes採用組織の過半数が水平ポッド自動スケーリングを使用

 4つめのインサイトは、Kubernetesで繁忙期などにポッド(コンテナの動作単位)の数を自動的に増減する、水平ポッド自動スケーリング(HPA)についてのものだ。

 まず、Kubernetes採用組織の過半数が、HPAを使用しているという。HPA利用は以前から増加が続いており、今回は50%を超えた。

 また、HPAを利用する組織の80%以上は、過半数のクラスタでHPAを利用している。全クラスタでHPAを利用している組織も45%にのぼる。

 HPAは、最初はCPUなどの基本的なメトリクスを元にしか自動スケールできなかったが、外部メトリクス対応など機能拡張を続けている。そのことにより、HPAの導入が増えているのだろうとレポートでは考えているという。

④Kubernetes採用組織の過半数が水平ポッド自動スケーリング(HPA)を使用
④HPAを利用するKubernetes採用組織の80%以上はクラスタの過半数でHPAを利用

⑤多くのコンテナでCPUやメモリの使用率は要求した半分未満

 5つめのインサイトは、コンテナが要求したリソースの使用率だ。まずCPUについては、コンテナの65%以上で、リクエストされたCPUを半分未満しか使っていないという。同様に、メモリについても、コンテナの65%以上で、リクエストされたメモリを半分未満しか使っていないという。

 レポートでは、これは適切なサイジングが難しいことを物語っており、組織はリソースの利用をより最適化してインフラのコストを削減する余地があると指摘している。

 例えば、Kubernetesには、過去のリソース使用量にもとづいてコンテナのCPUやメモリの要求値を推奨する垂直ポッドスケーリング(VPA)を備えている。ただし、VPAを使用している組織は1%未満であり、この利用率は2021年から横ばいだとレポートでは報告した。そして利用率が低いのは、まだベータ版であり、さらに制限があることが原因ではないかと推測している。

⑤コンテナの65%以上で、リクエストされたCPUの使用率は半分未満
⑤コンテナの65%以上で、リクエストされたメモリの使用率は半分未満

⑥主要用途はデータベースとWebサーバー

 6つめのインサイトは、「コンテナの主要なワークロードは、データベースとWebサーバー」ということだ。

 コンテナは、元はステートレスなワークロードで使われてきたが、後にステートフルなワークロードにも対応するよう進化してきた。レポートでは、現在コンテナ利用組織の41%以上がコンテナでデータベースをホストしていることも報告している。

 そのほか、JenkinsやArgo CDなどの「CI/CD」や、KafkaやRabbitMQなどの「メッセージング」、HadoopやElasticsearchなどの「分析」、SparkやFlinkなどの「ストリーミング」、CrossplaneやGardenなどの「社内開発者プラットフォーム」がランキングに上がっている。

⑥コンテナの主要なワークロードは、データベースとWebサーバー

⑦コンテナで人気ある言語はNode.js

 7つめのインサイトは、コンテナ用に人気のあるプログラミング言語だ。Node.jsが最も人気で、その後にJavaやPythonが続く。この傾向は前回の2019年の調査と同じ傾向だという。

 変化した点としては、4位がPHPから、コンテナと相性のよいGoになった。また、クラウド用のツールなどが提供されるようになったことで、C++の割合が増加した。

 なお、組織が複数の言語を使っている場合もあるので、言語のパーセンテージの合計は100%を超える。

⑦Node.jsが引き続きコンテナで最も人気な開発言語

⑧大規模利用の40%以上がサービスメッシュを利用

 8つめのインサイトは、サービスメッシュについてのものだ。1,000台以上のホストを持つ組織の40%以上がコンテナでサービスメッシュを使用している。利用規模が大きくなるほどサービスメッシュの利用が増えるという。

 2020年の調査では、EenvoyやNginxなどによるサービスメッシュが始まったところだったが、今回はIstioやLinkerd、Trefik Meshなど、より広範なサービスメッシュの利用状況が把握できたとした。

⑧1,000台以上のホストを持つ組織の40%以上がサービスメッシュを使用

⑨コンテナランタイムでcontainerdの採用が急増

 9つめのインサイトは、Kubernetesの中でコンテナを実行するコンテナランタイムとして、containerdの採用比率が昨年比で倍増以上になっていることだ。

 もともとKubernetesではDockerを呼び出すdockershimがコンテナランタイムとして使われてきたが、その後dockershimは非推奨になったため、採用率が大きく下がった。代わりに、Dockerの主要機能を独立させたcontainerd(Dockerもcontainerdを使用)が、1年前の23%から、53%にまで急増している。そのほかのコンテナランタイムであるCRI-Oは、あまり伸びていないという。

 なお、言語と同様に、組織が複数のコンテナランタイムを使っている場合もあるので、パーセンテージの合計は100%を超える。

⑨コンテナランタイムでcontainerdの採用比率は昨年比で倍増以上

⑩新しいKubernetesが使われる割合が以前より増加

 10番目のインサイトは、多くのユーザーが以前より早くKubernetesの新しいバージョンに早くアップデートしているというものだ。

 Kubernetesは年に3回、新バージョンをリリースする。今回の調査では、レポート執筆時点から16カ月のバージョン1.24が最も人気がある。この部分の傾向は以前と同じだが、それより新しいバージョンの採用も増加しており、組織の40%がバージョン1.25以降を使用しているという(1年前は5%)。

⑩多くのユーザーがKubernetesの新しいバージョンに早くアップデート

DatadogのKubernetes関連のサービスも紹介

 最後に萩野氏は、DatadogのKubernetes関連のサービスを紹介した。

 Datadog Operatorは、Kubernetes Operatorを使ってKubernetesにDatadogエージェントをデプロイするものだ。

 Kubernetesオーバービューページは、Kubernetesのリソース概要などを把握できるDatadogダッシュボードだ。また、Kubernetesリソースの利用で、リソース消費量を確認できる。

 コンテナイメージの脆弱性スキャンの機能もあり、本番稼働前にホスト上のコンテナイメージの脆弱性を特定できる。

 クラウドコストに関する推奨事項の機能では、コンテナの使用データにもとづいて、リソース要求を節約できるポイントを発見して、最適化を助ける。

Datadog Operator
Kubernetesオーバービューページ
コンテナイメージの脆弱性スキャン
クラウドコストに関する推奨事項