Dockerが次世代ツールである理由

Dockerとは何か

Dockerとはコンテナと呼ばれる仮想環境を扱うソフトです。役割毎にコンテナに切り分けることでサーバの保守性が上がります。より具体的に言うと本番環境と完全に同じものをテスト環境に作ることや、動いていた時点でのバックアップをスナップショットとして残し容易に戻すことなどができます。

Dockerはコンテナだから速い

コンテナはホストOSのカーネルを使って別の環境を作ります。よって高速です。リソースを切り分けて管理するツールと言っていいかもしれません。

Dockerでコンテナだから図が書きやすい

サーバがどのように動いているのか分かりやすく直感的に書くことができます。どこのHTTPサーバがあってそのサーバがどのデータベースサーバを呼び出していて、アプリケーションサーバとの関係はどうなっているのかなどが把握しやすくなります。オブジェクト志向の考え方に似ていますね。

Dockerには豊富な公式/非公式イメージがある

CentOSやUbuntuはもちろんWordPressやMySqlやNginxなどが公式イメージをダウンロードするだけで動きます。ローカルにホストOSとしてCentOSの仮想マシンを立て、本番環境と同じ環境を作り、そのまま本番環境に移植して公開なんて使い方もできます。さらに非公式イメージを合わせればイメージの数が膨大です。オブジェクト志向風に言えば、サーバの機能がカプセル化されたことで再利用性が上がり、オープンソースで共有され始めたと言えるでしょうか。

Dockerでセキュリティ機能を手軽に強化

そんな簡単に作ったものを公開するのは危ないんじゃないのと思われるかもしれませんが、分かりやすいためいフャイアウォールの追加やSSL認証の追加なども手軽に行なえますし、分かりやすくなることによって人的要因のミスを減らすことができます。

DockerはWeb界のオブジェクト志向言語

オブジェクト志向言語の登場がIT業界の開発スタイルの変化を象徴しているように、DockerはWeb開発の変化を象徴していると思います。一つ一つの役割を明確化し、パーツとして機能を実装し、保守性と再利用性の高いものを作るという発想はまさに次世代でしょう。

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)