チラシ裏日記上等!!新館

Webアプリケーションエンジニアの雑記帳。映画とかアニメとかの記事も書きます。

「イラストでわかるDockerとKubernetes」を読む

Dockerとか仕事で使えるけどまだ何となく雰囲気で使っているだけだなと思っていたので、ちゃんと学びたいと考え名著と名高い「イラストでわかるDockerとKubernetes」を読んでみた。

読んでみた感想だけど、まさに自分が欲していたコンテナ技術やDocker、Kubernetesそのものを学べる本であった。何となくdockerを使っている人ほど読んだほうがいい。

簡単な解説書と思いきや必要技術を的確に押さえた内容

イラストでわかる○○だと初歩的なことが中心かなと思うかも知れないが、これは初歩ではなく基礎の本であった。なので、Dockerがどういう技術で成り立っているのかや、Kubernetesが扱う概念やコンテナ技術の仕様を知ることができ、コンテナ技術の基礎の概要を学べる。

特に自分はDockerのレイヤ構造や、それを実現するLinuxのoverlay filesystemなどは全然知らない技術だったのでとても興味深く読むことが出来た。overlay filesystemについては実際にLinuxのコマンドでどういう物かを解説しているので自分で試すことができるのがよかった。

コンテナ技術の仕様であるOCIやCRIについても触れていて、自分なんかはKubernetesとかの記事でたまに話題になる言葉だけどあまりよくわかっていなかったのでとても勉強になった。ちょっと大げさだし多分無理なんだけど、この本を読んだあと自分でもコンテナ実装できるかもしれないとちょっと思ってしまった。でも実際にこの本に感銘を受けてコンテナランタイムをつくってしまう人もいたのだから、それぐらい強力な技術書なんだと思う。

www.utam0k.jp

全体感から詳細まで幅広く学べる構成

本の内容としてははコンテナ技術の概要から入り、Dockerの概要、Kubernetesの概要、コンテナランタイムなどの仕様についての概要と続いていく。コンテナ技術の全体感から段々と深掘っていく形で進んでいき、最後にそれらがどのような仕様に基づいて作られているのかで締めくくられ、上から下まで順序立てて学べるのが特徴だと思う。

特にOCIやCRIの概要はその前の章のDockerやKubernetesの概要でいろいろお膳立てした後での登場になるので、ここまで読み進めるとOCIやCRIに対して学ぶ意欲がかなり高い状態でこの章に突入することになる。個人的に凄くうまい構成で作ってるような気がしていて、本の作り方が凄くうまいなと変なところで感心してしまった。

あと細かい機能や使い方には触れず、コンテナ技術の本質的なところを中心に解説し、基礎的な部分をがっちりと押さえてあるのが印象的だった。逆に言えばDockerを使ったアプリケーションの動かし方とかについてはあまり触れられておらず、そういうのを期待するとちょっと物足りないと思うので、ある程度Dockerを使ってWebアプリケーションなどを動かしたことがある人がさらに深く知るための二冊目の本として読むのが良いと思った。

効果的に本文を補完するイラスト

本の題名にもある用に、イラストもふんだんに使われていてこれもわかりやすくてとても良かった。技術書でもイラストが使われることはめずらしくはないが、この本のイラストはかなりわかりやすいと思う。特にDockerfileのレイヤ構造はイラストが解説をいい感じに補完しており個人的にとてもわかりやすくて良かった。

ディレクトリの重ね合わせとかわかりやすくて良かった

1ページの3/5ぐらいの大きなイラストで解説されているのでわかりやすい。この本ではイラストで説明しているページのイラスト率はかなり高い。1ページまるまるイラストで占められていることもある。で、そのイラストも大きく描かれているせいなのかわかりやすい。

OCIやCRIの解説でも沢山イラストを使って解説しているので、特に一番難しい基礎的な技術でもわかりやすく(あるいは分かったつもりにさせ)てとても良かった。イラストがなかったら適当に流し見してしまう可能性が高い章だとおもうので、イラストの効果は本当に抜群だと思った。

もっと早く読めば良かった

出版されたとき話題になっていい本なんだろうなというのは知っていたのだけど、何となく後回しにしてしまっていてもっと早く読めば良かったと少し後悔。読んでおけばコンテナ技術の解像度が上がって昨今のコンテナ周りの記事をもう少し理解度高く読むことが出来たかもしれない。

読み終わった今、自分はコンテナ技術の解像度はかなり上がった状態にあると思う。いわば完全に理解した状態なのでようやくスタート地点にたどりついたような感じ。これからKubernetesなどをちゃんと学んでいきたい。学ぶ過程で何も分からない状態になると思うので、そのときにまたこの本に戻って来れれば良いのではないかと思った。

コンテナ技術やっていき。