そんな今日この頃でして、、、

コード書いたり映画みたり。努力は苦手だから「楽しいこと」を探していきたい。

技術書『プログラマのためのDockerの教科書』感想

これまでウェブの情報を中心に使っていたけれど、 そろそろ実際のプロダクトでも使いそうな雰囲気が出てきたので、 ここいらで書籍としてちゃんと固まったものを一冊ぐらい持っておこうということで買ってみた。

プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化

プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化

「教科書」と銘打っているだけのことはあり、 なぜ今これだけDocker界隈が盛り上がっているのかという他のVMとの比較や技術的な背景の説明から マシンへの導入や実運用には欠かせない監視、 そして実際の運用を行う上で検討対象になりうる各種クラウドサービスまで手広く抑えている。

ことに導入編と銘打たれた第一部では、 Dockerの話以前のインフラを考える上で必要な基礎知識の部分にまで解説されているあたりが 「プログラマのための」の部分なのだろう。


最近の出版だということもあり、Dockerの周辺ツールについても掲載されている。

Docker Composeあたりの章では、 一昔前に流行っていた一つのコンテナに色々な機能を押し込むいわば軽量なVMとしての使い方ではなく、 Dockerの趣旨を汲んだコンテナごとに機能を振り分けて連携させる形式での解説になっているのも良い。

blue1st.hateblo.jp

複数ホストで運用を行う際に必要となるDocker Registryもちゃんと記載されている。

blue1st.hateblo.jp

また「まだ本番運用すべきではない」という注訳付きではあるがDocker MachineやDocker Swarmあたりも載っており、 これも先々の参考になるかもしれない。

運用という話でいうと、Mackerelなどの監視ツールやAWSなどのクラウドサービスを 実際のコントロール画面を図付きで丁寧に解説してくれているのも、 インフラ周りは門外漢な身としてはありがたいところ。


一方で実運用を考えた時、 "今なら"マルチホスト連携はどうすれば良いかという部分や どうやって各ホストにデプロイするかといった部分については記載が無かったのが残念なところ。

まあこの辺りはネットを見ても様々な方法が提案され各者が模索している段階といった感じなので、 まだ「これがベスト」という書き方ができなかったからかもしれない。

そういったリアルなユースケースについては別の媒体で補完していくのが良いのだろう。


そんなわけで、「Dockerがどんなものか」「どう使えばいいか」の概要を把握するという目的ではサラッと読めてよい教科書という印象。

まさにプログラマな個人的な実感として、 Dockerはミドルウェアなど環境まわりの面倒を吸収してくれる 「アプリケーションを作ることに注力するためのツール」として非常に重宝しているところであり、 エンジニアの基礎教養として抑えておいても無駄にはならないかなと思う。

プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化

プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化