コンテナ技術の基礎知識
コンテナ技術の基礎知識
コンテナ技術の歴史
- 最初のコンテナ技術であるUNIXの「chroot」コマンドはアプリケーションによるアクセスを指定したディレクトリに限定することができた
- コンテナ型仮想化ソフトウェアであるDockerの登場によって、手軽にサーバー仮想化を実現できるようになった
- コンテナオーケストレーションツールであるKubernetesが登場したことでコンテナの管理がしやすくなった
コンテナ技術のメリット
- コンテナ技術を使うと仮想サーバーの構築が容易になる
- コンテナ技術では可能な限りデータをコンテナに含めない
DevOpsとコンテナ技術
- DevOpsは開発者と運用者が協力してサービスを提供する手法
- コンテナ技術はDevOpsの概念である開発と運用のスムーズな連携を手助けしてくれる
主要なコンテナ技術
- Docker以外にもさまざまなコンテナ技術がある
- Docker以外のコンテナランタイムとしてはcontainerdやcri-oがあげられる
マイクロサービス
- マイクロサービスは依存関係のない複数の小さいサービスを組み合わせて大きなサービスとして提供する設計手法
- マイクロサービスはコンテナと相性が良い
コンテナとサーバーレスの比較
- サーバーレスとはサーバーが存在しないわけではなく、開発者が意識してサーバーを管理する必要がなくなることを表す
- サーバーレスはFaaSに分類される
- サーバーレスはサーバーの管理が不要だが、自由度や可搬性が低いといったデメリットもある