コンテナ化は、各アプリケーションコンテナのオペレーティングシステム(OS)と、アプリおよびそのライブラリを仮想化します。
これにより、専用の仮想マシン(VM)を起動せずにアプリケーションをデプロイして実行できる、スタンドアロンパッケージとしてコンテナを運用できます。コンテナ化により、ソフトウェア依存関係やハードウェア要件を含め、アプリケーションの実行に必要なすべてのものがパッケージに含まれることが保証されます。アプリケーションコンテナは互いに完全に分離されていますが、単一のホストとOS上で運用できます。
コンテナ化技術と世界のコンテナ化分野について、以下で詳しく見ていきましょう。
コンテナ化市場
詳しくはこちら:主要コンテナソフトウェアソリューション。
コンテナ化市場の成長
アプリケーションコンテナ化市場は2020年に15億ドルと推定されました。2020年から2027年までの分析期間における年平均成長率(CAGR)は30%を維持し、期間末には97億ドルに達すると予測されています。
コンテナ化市場のセグメントの1つがクラウドセグメントです。このセグメントは、分析期間におけるCAGRが28.5%となり、期間末には29億ドルに達すると推定されています。オンプレミスのコンテナ化セグメントは、CAGRが30.7%になると予測されています。
地域別のコンテナ化市場は、以下のように分類されます。
- 米国市場は2020年に4億6,430万ドルと推定され、市場シェアは30.9%でした
- 中国市場はCAGRが29.3%となり、2027年には17億ドルに達すると予測されています
- 日本とカナダは、CAGRがそれぞれ27%、25.9%となると推定されています
- 欧州では、ドイツが21.2%という最も高いCAGRの1つを維持すると予測されています
また、業種別では、2025年までにIT・通信業界がコンテナ化市場の需要をリードすると予測されています。
その他の注目すべき業種には、以下があります。
- 政府
- ヘルスケア
- 銀行・金融サービス・保険(BFSI)
- 小売
- 教育
ここ数年、コンテナ化技術の利用は劇的に増加しています。アプリケーションコンテナは俊敏性と可搬性に優れているため、急増する企業ワークロードを実行する環境として最適です。
日々の技術運用に時間を費やす代わりに、コンテナ化によってソフトウェアエンジニアはビジネスに必要なものに集中し、それをユーザーアプリケーションのライフサイクルに合わせられるようになります。これにより、最適化の取り組みの対象はインフラからアプリとそのデータへと移ります。
「CIOにとっての目標はますます、プライベート、パブリック、ハイブリッドクラウド間でのデータ保護、ディザスタリカバリ、コンテナのモビリティを実現するシンプルなコンバージドプラットフォームを採用し、複数のポイントソリューションの複雑さとコストを削減することになっています」とZiv Kedem氏は述べています。Forbes Technology Councilのメンバーでもあります。
「そのためには、ITにおいてインフラが主導的な役割を果たすことの多かった仮想化から離れ、考え方を変える必要があります」
コンテナ化ツール
LXCコンテナ
LXCコンテナはLinuxのオープンソースプログラムの一部です。VMに似たアプリケーション環境向けに、1つのホスト上で複数の分離されたLinuxシステムを実行できます。LXCコンテナは、中央アクセスプログラムで管理されるのではなく、独立して動作します。
Docker
Dockerは、OSレベルでLinuxアプリケーションコンテナを作成、管理、デプロイするために使用できるプラットフォーム群です。Dockerコンテナは、クライアント・サーバー型のアプリケーションホストであるDocker Engine上でホストされます。
CRI-O
CRI-Oは、Open Container Initiative(OCI)ランタイム向けのKubernetes Container Runtime Interface(CRI)の実装です。KubernetesにおいてDockerの代わりとなる、軽量なコンテナエンジンのオープンソースツールです。CRI-Oを使用すると、KubernetesでOCI準拠のランタイムを使ってPodを実行できます。
Podman
Podmanはオープンソースのコンテナ化エンジンです。Dockerとは異なり、中央デーモンを使用しないため、自律型で分離されたコンテナを作成、デプロイできます。Podmanコンテナは分離とユーザー権限によってセキュリティを重視して設計されており、標準的な非rootアクセスに対応します。
Containerd
Containerdは、Windows環境とLinux環境の両方に対応するデーモンです。コンテナエンジンとランタイムの間にある抽象化インターフェース層として、コンテナを容易に管理できるようにします。Dockerの主要な構成要素の1つとして始まった後、分離されたオープンソースプロジェクトです。
runC
runCは、OSを問わず利用できる軽量なコンテナランタイムです。もともとは、プラットフォームのセキュリティとアーキテクチャを支援する低レベルのDockerコンポーネントとして始まりました。スタンドアロン版のrunCは、特定のコンテナタイプ、クラウドプロバイダー、ハードウェアに結び付かないコンテナランタイムです。
詳しくはこちら:主要コンテナセキュリティツール。
コンテナ化のメリット
コンテナ化の主なメリットには、以下があります。
- 可搬性
- 障害分離
- 俊敏性
- デプロイ速度
- 高効率
- 容易な管理
- 組み込みセキュリティ
「コンテナ化は企業に3つの主要なメリットをもたらします。アプリケーションの機能を独立したデプロイ可能な単位にパッケージ化し、それらをスケールさせ、基盤となる環境を効率的に利用できるよう最適化する機能を提供します」とShankar Kambhampaty氏は述べています。最高技術責任者であり、Forbes Technology Councilのメンバーです。
「コンテナ化を適切に利用すれば、企業のスケール能力を高め、リソースの利用を最適化することで、最小限の混乱にとどめながら、この課題により効果的に対処できるようになります」
コンテナ化のユースケース
コンテナ化技術は、ソフトウェアデプロイを効率化するため、さまざまな業界の組織で利用されています。
ExxonMobil
ExxonMobilはテキサス州アービングに本社を置くエネルギー企業で、50カ国以上で事業を展開し、製品を販売しています。
安全で効率化されたユーザー体験を備えたスマートフォンアプリの開発を目指していたExxonMobilは、クラウドインフラの設計を管理する方法を必要としていました。
IBM Cloud環境でアプリケーションを開発することを決めたExxonMobilは、IBM Cloud Kubernetes Serviceを使用し、ワークロードもコンテナベースのアーキテクチャへ移行しました。
「IBM Cloudを利用すれば、インフラのどの部分にも過負荷がかかることを心配する必要はありません」とDevin Miller氏は述べています。ExxonMobilのデジタル開発マネージャーです。
「キャパシティは確保されており、私たちの成長に合わせてソリューションが自動的にスケールします。サーバーをラックに設置したり、ハードウェアの各部品を心配したりする必要はありません。しかも、必要になるまでハードウェア料金を支払う必要がないことが最大の利点です」
IBM Cloudとコンテナベースのシステムに移行したことで、ExxonMobilは運用コストを削減し、スマートフォンアプリで数百万件のダウンロードと取引に対応できるようになりました。
Vanguard
The Vanguard Groupは、ペンシルベニア州マルバーンに本社を置く金融アドバイザリー企業です。世界最大級の資産運用会社の1つで、19拠点を展開し、総額6.2兆ドルの資産を運用しています。
市場でユーザーの金融データを扱うVanguardにとって、速度とセキュリティは極めて重要です。Amazon Elastic Container Service(ECS)を使用することで、速度とセキュリティを重視したAWSクラウドへの移行を最適化できました。
「AWS Fargate Spotによって単位コストが削減され、AWSへの移行を進めるビジネス上の根拠も強化されました」とTim Treston氏は述べています。Vanguardのクラウドビジネスオフィス担当シニアマネージャーです。
「この最適化により、毎月、投じた費用からより大きな価値を生み出せています。効率向上を通じて株主に価値を還元することは、全社的な使命の中核です」
AWSと連携することで、Vanguardはマイクロサービスの市場投入までの期間を3カ月から24時間に短縮し、単位コストを50%削減できました。
Repl.it
サンフランシスコを拠点とするRepl.itは、教室でのコーディングとオンラインでの共同開発向けに、サーバーレスハブを提供しています。クラウドベースのソリューションは、増加を続ける学生や開発者のユーザー基盤から利用できます。
Repl.itには、通常、60カ国以上から7万人を超える開発者がアクセスします。Google Cloud Container Registryと連携し、自己管理型VMではなくクラウドベースのコンテナを利用しようとしていました。
「CPU使用率が一定のしきい値に達すると、Google Cloud Load Balancingが新しいインスタンスを起動し、必要に応じて増減させます」とAmjad Masad氏は述べています。Repl.itの共同創業者兼CEOです。
「それ(Googleのコマンドラインインターフェース)は本当によく設計されています。探索も、ドキュメントの検索も簡単です」
Googleのコンテナサービスに切り替えたことで、Repl.itは需要に応じてプラットフォームを柔軟にスケールし、安全なビルドをプッシュおよびプルし、使いやすいコーディングプラットフォームをユーザーに提供できるようになりました。
コンテナ化プロバイダー
市場をリードするコンテナ化サービスプロバイダーには、以下の企業などがあります。
- AWS
- Docker
- Cisco
- Google Cloud
- Mesosphere
- Rancher Labs
- Microsoft
- Weaveworks
- IBM
- Bluedata Software
詳しくはこちら:主要コンテナレジストリソフトウェア