どうもDockerが流行っているらしい。日本ヒューレット・パッカード株式会社の古賀政純さんに会ってきた

6月16日、サイオステクノロジー株式会社のイベント会場で行われた、

「Docker 最前線!OSSエキスパート鼎談シリーズ: 攻めるITはこう実現する!」というイベントに参加してきました!

イベントページはこちら→https://connpass.com/event/57763/

ゲストはこの方。

日本ヒューレット・パッカード株式会社の古賀政純さんです。Hadoop、Spark、Docker、OpenStack、Linux、FreeBSDなどのサーバー基盤のプリセールスSE、文書執筆を担当されており、日本ヒューレット・パッカードが認定するオープンソース・Linuxテクノロジーエバンジェリストとして、メディアでの連載記事執筆、講演活動なども行っていらっしゃいます。

今回イベント会場となった、サイオステクノロジーにてコラムも執筆されているそうですのでぜひご覧ください♬

URL:https://oss.sios.com/guest-blog/hyper-threading

とっても気さくな方で、プレゼンの際中も関西弁交じりでノリが良く分かりやすい説明を頂けました。

どうもDockerは、最前線で流行のOSSみたいです。

せっかくなので、セミナーの中で私が学んだ”Dockerのすべて”をアウトプットしていきたいと思います。(すべてといいつつ、少なかったらごめんなさい・・・(笑))

Dockerとは何か?・・・その心は、コンテナである

巷でよく聞く「コンテナ化」という言葉。

「アプリケーションが稼働するために仮想環境を提供するためのもの」という認識があります。

えっ、アプリケーションって具体的に何ですって?

イメージ、Windowsなら”Office365″とか!ユーザーの要求する情報を処理するOS上で動くソフトウェアのことでしょう。

しかし、そもそも”仮想化技術”と”コンテナ”とはなにが違うのでしょうか。

調べてみました。

 

こちらはよく見る物理サーバーです。

サーバーの上にOSが乗っかり、一つのアプリケーションが稼働しています。

こちらは仮想マシンです。

物理サーバー上でOSを仮想化させ、アプリケーションを動かします。

そして以下が、Dockerに代表される、”コンテナ”です。

OSごと仮想化させる仮想化技術とは異なり、Dockerエンジンが非常に軽量なアプリ環境、すなわちコンテナを稼働します。

 

一件OSを仮想化しているように思われますが、実際に仮想化しているのはDockerエンジンです。

Docker社が提供している、Dockerイメージ(OSっぽい領域とアプリを含んだもの)からDockerコンテナが物理サーバー上で複数立ち上がるのです。

つまり、エンジニアはOSからいちいち構築しなくも、アプリケーション、OSっぽいものをDockerで簡単に立ち上げることができます。

そのためアプリケーションごとの、「このOSの上でないと動きませ⁻ん!」といった制約を受けません。

この点、汎用性がありエンジニアから支持されている理由なのではないでしょうか。

 

今エンジニアから広く愛されているDocker。なぜDockerに代表される”コンテナ技術”は世の中で必要とされているのでしょうか。

●Dockerがもたらすもの・・・「スピード」と「数」

ビジネスにおいて、何事にもスピード感は重要です。

そのためシステムはなるべくエンジニアに負担がなく、手軽に導入できるソフトウェアが普及しやすいことは容易に想像できます。

作業するスピードが上がれば、企業が世に出せるアプリケーションサービスの数も、増えていきます。

そのため欧米では、Dockerを用いて複数サービスを立ち上げる企業は増えているそうです。

 

NETFLIXやアマゾンなど、マイクロサービスをたくさん立ち上げる環境は整ってきている昨今。

インフラの観点で見ると、”Mesos”に代表されるようなコンテナ管理ソフトは、物理サーバーから仮想サーバー、さらにはコンテナへ移行という時代の流れに沿っているのではないでしょうか。

イベント会場では、古賀政純さんの”IT技術者のための現場ノウハウ”という書籍が販売されていました。

技術本ですが、第一章は”Docker”の考え方について記載されているので、導入を検討しているマーケターの方にもおすすめの内容となっていましたよ!!

 

DockerでIT運用はどう変わる?・・・非常に構築しやすくなったアプリ開発環境

イベントで、古賀さんは「OSとアプリの構築作業はもうやめましょう!」と仰っていました。

たしかに、上記で申し上げた通りエンジニアにとって作業短縮になりアプリケーション開発に専念できるならば、それに越したことはありませんよね。

 

作業効率化のイメージを挙げるならば、以下のコードです。(概要)

<Skip> FROM CentOS:6.8

<Skip> RUN yum install-y httpd iproute

<copy> test2.html/ver/wriw/html/

<CND> usr/skin/httpd-DFORFGROUND

 

OSの立ち上げ、環境構築における上記2つの作業をSkipすることができるのです。

 

また、欧米の企業のセキュリティ対策において、「本業に関係ないOSプロセスを動かさない」という考え方があるため、”Docker”のようなコンテナ管理システムはニーズがあるようです。

たしかに、立ち上げるアプリケーションは少ない方が、脆弱性が少ないのは私でも容易に想像できます。

Dockerなら複数アプリ立ち上げることができるので、一元管理できますもんね。

 

学んだことをまとめると、”Docker”はエンジニアが開発だけに専念でき、立ち上げるだけでセキュリティ対策もできる優れたコンテナ管理システムだということです。

なるほど。流行る魅力を少し理解することができました。

 

DockerはNginxと相性が良いと言われています。

今後岡田はNginxについてもさらに勉強してみたいと思います。

 

次回→実際にDockerを触ってみたへ続く(かもしれません)

 

元店長岡田、頑張ります(笑)

今後とも、応援よろしくお願いします☆

Follow me!