Dockerエキスパート養成読本という素晴らしい本を縁があって @takipone さんから献本を頂きました。何が素晴らしいかというのを以下に述べていきます。
適切な分量と幅広い読者層の両立
まず、Dockerに関する技術的背景から始まり、Dockerの基礎的な考え方・使い方を説明した後に、Docekrを実践で活用するための例やプロダクションで導入した事例等を、適切な分量で解説している所が素晴らしいです。
こういう背景から実践、事例紹介までを解説すると、分量が多くなったり冗長になってしまったりしがちですが、それをうまく要点をまとめて解説し、初心者からプロダクション導入を考えているエンジニアそれぞれに対して、読みやすい工夫がされているように感じました。
また、具体的なコマンドサンプルや実行結果が沢山載っている事も個人的にはうれしくて、リファレンスを沢山羅列しているよりも、サンプルを沢山載せて頂いてその解説が要領良くなされているのは非常に読みやすくイメージもしやすかったです。
疑いようのないDockerのメリットを活かした解説
基本的な話では、Docker Engineの基礎知識やDockerfileの書き方、さらにはKubernetesの簡単な使い方から始まり、実践編では社内PaaSとしてのDockerの活用の仕方、Dockerを利用した自動CIやテストのメリット、また、実際にそれを社内で導入するためのOSSであるDroneのインストールから使い方まで紹介されています。
Dockerに関して、幾つかの使い方によって賛否両論がある中で、この本で紹介されている内容は間違いなくDockerのメリットを活かした使い方が紹介されているため、Dockerを使おうとしている人の方向性を、ある種うまく正す内容にもなっていて素晴らしかったです。
最後には、Gunosyさんがプロダクションに導入して得た知見を赤裸々に紹介されており、単なるメリットだけでなく困った事や改善した事なども述べられていて、プロダクションで使うにはどういう事を考えて設計していけばいいかの基礎的な考え方を得る事ができるでしょう。
まとめ
ということで、
- Dockerあまり触ってないけどやってみようかな
- 触ってみたけどいまいちどう使うのが良いかイメージがつかない
- Docker良いって聞くけど例えば業務でどういう使い方するとそのメリットを享受できるのだろう
- プロダクションで使うにはどういう事に気をつけたら良いのだろう
- Dockerという単語に興味を持っている全てのエンジニア
というような人達に是非読んで頂くとおそらく幸せになれるだろう内容になっています。
オススメです!
余談
Dockerfileのサンプルでは、僕が開発しているHTTP/2サーバであるTrusterdをサンプルに紹介して頂いています。 @takipone さんありがとうございます!また、HTTP/2クライアントをDockerで手軽に使う方法も書かれているので、そういう点でも色々と便利な情報が沢山ありました。
さらには、Trusterdって普通に書くと校正機能とかで勝手にTrustedに書き換えれたりして困っちゃうのですが、それももれなくTrusterdと書かれていたので校正力の高さにも感服でございます!