コンテナ
意味・解説
アプリとその動作環境をひとまとめにして、どこでも同じように動かせる仮想化技術。
OSカーネルを共有しながら、アプリケーションを実行するための独立した領域を構築する技術。従来の仮想マシン(VM)と比較して、OS全体を起動する必要がないため、軽量で起動が非常に速い。代表的なソフトウェアとしてDockerがあり、環境構築の自動化やマイクロサービス構成に最適である。
くわしく
「私のPCでは動くのに、本番環境では動かない」という問題を解決する、軽量な箱詰めの仕組みである。
1.ポータビリティ:アプリケーション本体だけでなく、実行に必要なライブラリや設定ファイルを「イメージ」として一つの箱(コンテナ)にまとめる。これにより、PC、クラウド、データセンターなど、どんな環境でも全く同じ動作が保証される。
2.リソースの効率:ホストOSのリソースを共有するため、メモリ消費が少なく、1台のサーバ上で数百のコンテナを並列稼働させることも可能である。
3.スケーラビリティ:起動が数秒で行えるため、急激なアクセス増に対してもコンテナの数を増やすことで柔軟に対応できる。コンテナの管理にはKubernetesなどの「オーケストレーションツール」が併用されることが多い。
実務では、クラウドネイティブな開発において不可欠な技術となっており、DevOps(DevOps)を支える中核技術である。
例文
開発環境をコンテナ化したことで、新しいエンジニアが参画した際の環境構築時間が3日間からわずか10分に短縮された。
対義語: 仮想マシン, ベアメタル
分類: 仮想化技術