いま話題のコンテナ技術とは

もはや定番のコンテナ

アプリケーション開発、オペレーションの分野で話題のコンテナ技術。DockerやKubernetesの定番化を受けて、その人気はますます過熱しています。Amazon Web ServicesやGoogle Cloud Platformなど主要クラウドプラットフォームでもサポートが進み、実用例も増え続け、もはやアーリーアダプター向け技術というフェーズを終えて実用レベルのものになっています。

そうは言っても、Docker中心のコンテナの事例が増えてきたのはここ数年。名前はよく聞くけど実際に触ったことはない、運用できるか不安で検討したことがないという人も多いのではないでしょうか。

コンテナ技術をおさらいしてみましょう。

コンテナは古くて新しい

コンテナは要約すれば、軽量な仮想化によってホスト上で複数のOSを動かそうという技術です。仮想マシンを間に挟むVirtualBoxなどの仮想化に比べると、ローコストにOSを立ち上げられる点がメリットです。

実はコンテナは、仮想化やchrootやFreeBSD jailなどをその源流にもつ、コンセプト自体はかなり古くからあるものです。これらはすでに登場から15年以上が経過しています。なんとなく新奇なものに感じられますがコンテナ自体は古くから需要のある技術です。

現在人気のコンテナを中心にした開発スタイルは、これら既存の技術を発展的に継承したDockerによってもたらされたものです。

ゲームチェンジャーDocker&Kubernetes

Dockerが既存のコンテナ技術と一線を画す人気を集めた理由は、使いやすさにあります。

オーバーヘッドの少ない仮想化、コマンド1つで実行できる親しみやすいインターフェイス、DSLによって構成をコード化できるInfrastructure as Codeの潮流に沿った仕組み、イメージリポジトリの整備などによって手軽にOSを立ち上げることができるという使い勝手は、既存の技術のいずれもが達成できなかったポイントです。

システムのクラウド化が進み、今まで以上にマルチノードが当然の環境となりつつある今日では、コンテナを立ち上げてノード間で連携するという使い方ができる点でもDockerは人気です。

コンテナを管理する、いわゆるコンテナオーケストレーションの分野ではKubernetesがデファクトスタンダードとして人気を集めています。

DockerとKubernetesが人気の理由はなんとなくわかりましたか? 実際に手を動かしてしっかり学びたいという方にはDocker/Kubernetes 実践コンテナ開発入門がおすすめです。コンテナ未経験でも初歩から、実践的に使いこなせるようになるまで解説しています。