コンテナとKubernetesについて知っておくべきこと(前編)Gartner Insights Pickup(345)

コンテナとKubernetesは、クラウドネイティブアプリケーションを構築し、マルチクラウドを実現するための優れたプラットフォームとして台頭している。企業にさまざまなメリットをもたらすコンテナとKubernetesについて知っておくべきことを、前編と後編の2回に分けてお届けする。

» 2024年04月05日 05時00分 公開
[Wataru Katsurashima(桂島 航), Gartner]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

ガートナーの米国本社発のオフィシャルサイト「Insights」などのグローバルコンテンツから、@IT編集部が独自の視点で“読むべき記事”をピックアップして翻訳。グローバルのITトレンドを先取りし「今、何が起きているのか、起きようとしているのか」を展望する。

 コンテナとKubernetesは、クラウドネイティブアプリケーションを構築し、マルチクラウドを実現するための優れたプラットフォームとして台頭しており、今後5年間で、人気と普及率がさらに大きく上昇するだろう。Gartnerは、2029年までにグローバル企業の95%以上が、コンテナ化されたアプリケーションを本番環境で稼働させるようになると予測している(この割合は、2023年には50%に満たなかった)。

 コンテナ技術は10年以上前から存在しているが、最近の急成長の背景としては、ソフトウェアのアーキテクチャと開発パターンの変化(マイクロサービスなど)や、DevOpsの導入拡大に加え、Kubernetesなどコンテナ技術の多くがオープンソースであり、幅広い参加者のエコシステムに支えられていることが挙げられる。

コンテナとKubernetesの主なメリット

 コンテナとKubernetesは、企業にさまざまなメリットをもたらす。その主なものを以下に挙げる。

アジャイルなアプリケーション開発およびデプロイ(展開)

 コンテナは、アプリケーションのパッケージングプロセスの簡素化の他、アプリケーションの迅速なデプロイプロセスを構築するのに役立つ。コンテナでは、アプリケーションの頻繁なビルド、迅速なソフトウェアリリースがやりやすくなるからだ。

環境の一貫性

 コンテナを用いると、開発やテスト、ステージング、本番クラスタにわたってプラットフォームの一貫性を実現しやすくなる。これは、開発者の生産性とサービスのレジリエンス(強靭〈きょうじん〉性、回復力)を向上させるための重要な要因となる。

不変性

 コンテナは、Infrastructure as Codeの考え方に従って一貫した方法でデプロイされるケースがほとんどだ。また、デプロイ済みのコンテナに変更を入れる代わりに、新しいバージョンで差し替えるやり方がとられることが多い。このようなやり方が構成管理の簡素化に役立つ。

柔軟性と選択肢

 Kubernetesはクラウドプロバイダーや独立系ソフトウェアベンダー(ISV)、独立系ハードウェアベンダー(IHV)の巨大なエコシステムによってサポートされている。こうした業界のサポートが、APIとクロスプラットフォームの一貫性、オープンソースのイノベーションなどにつながっており、業界のサポートは、利用者に大きな柔軟性を提供している。これにより、乗り換えの障壁が下がる可能性がある。

コンテナとKubernetesの難しさと課題

 コンテナとKubernetesの注意すべき主な難点や課題を以下に挙げる。

プラットフォームの複雑さ

 現在、コンテナとKubernetesは多くのワークロードに使用できるが、全てのワークロードに適用するケースは少ない。結果的に、仮想マシンのシステムとコンテナのシステムが混在することになり、プラットフォームに新たな複雑性が追加される。

セキュリティ

 コンテナ技術を大規模にデプロイするには、新しいセキュリティモデル、成熟したDevSecOpsプロセスに加え、開発者、プラットフォーム運用、サイトリライアビリティエンジニアリング(SRE)、セキュリティの各チーム間での責任分担が必要になる。

自動化とガバナンス

 コンテナの自動化とガバナンスを実現するためには、技術コンポーネントの広範かつ継続的なキュレーション(収集、選択し、付加価値を付けてまとめること)、一貫した運用、既存のツールとプロセスのアップグレードなどが必要であり、これらは簡単な仕事ではない。

文化とスキル

 企業は開発、セキュリティ、運用の各チームのスキル不足と、既存文化とのギャップから、コンテナ化されたアプリケーションの構築と運用化において、困難な課題に直面することが多い。

コンテナとKubernetesの一般的なユースケース

 コンテナとKubernetesには、以下のような幾つかのユースケースがある。

マイクロサービス

 コンテナとKubernetesは、マイクロサービスの強力な基盤アーキテクチャになれる。マイクロサービスのオーケストレーションとスケーリングとともに、マイクロサービスの自己修復をサポートできるからだ。

DevOpsの実現

 上記で述べたさまざまな特性により、コンテナは、開発者とDevOpsチームがソフトウェア開発ライフサイクルを通じて、コードをより容易に変更、更新できるようにする。

アプリケーションのポータビリティ

 Kubernetesはどこでも利用できるので、コンテナでランタイム環境が均一化され、開発者はハイブリッドやマルチクラウド環境で一貫した方法で実行できるアプリケーションを構築しやすくなる。

レガシーアプリケーションのモダナイゼーション

 レガシーアプリケーションのライフサイクル管理をモダナイズし、合理化することで、コンテナの効率的なデプロイとサービス分離のメリットを享受できる可能性がある。ただし、単純なリフト&シフト型の移行は通常、軽量なワークロードにしか対応できない。

後編に続く)

出典:What You Need to Know about Containers and Kubernetes:(Gartner)

※この記事は、2024年2月に執筆されたものです。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。