@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「Docker/Kubernetes実践コンテナ開発入門」を読んだ

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門

  • 作者:山田 明憲
  • 発売日: 2018/08/25
  • メディア: 単行本(ソフトカバー)

Docker本で家にあるうちの3冊目。
残り1冊でDockerに関する本は終わる。 (Kubernetes はまだまだたくさんある。

1〜3章はDockerの基本的な説明が多いのでふむふむとうなずきながら読み終えた。他の本と違うのは docker コマンドではなく、docker imagedocker containerコマンドを使っているのが珍しかった。自分でもほぼ使っていなかったが、たしかにこっちのほうが具体的になにやるかがわかりやすい気がした。

その後4章ではSwarmでのアプリケーション構築、5〜7章はKubernetesを使ったアプリケーションの構築が説明されている。印象としては絵が少ないので、コマンド叩いても理解をするのが難しいのかなと思う。僕は、頭の中で絵として描いてみて理解をすることが多いので、コマンドや結果だけ見てもあまり理解がしにくい。
自分でKubernetesを触り始めた頃にわかろうと思って絵を描いたのが以下のスライドになる。 speakerdeck.com

8章ではロギングの話やトラブル対応についての説明が書かれている。実践だけあって運用をする際に気になることが書かれているのがとても面白かった。
9章ではDocker Imageの作り方についての話、10章ではDockerを使った活用方法が書かれている。ここは知っていることが多かったのでさくっと読み終えた。

まとめ

  • 絵は少ないけど情報がまとまっていて勉強になった
  • 運用しているときに気になる話も書いてあって良かった
  • コラムが面白い

15Stepで習得 Dockerから入るKubernetes

15Stepで習得 Dockerから入るKubernetes

「Dockerによるアプリケーション開発環境構築ガイド」を読んだ

Dockerによるアプリケーション開発環境構築ガイド

Dockerによるアプリケーション開発環境構築ガイド

Docker と Kubernetes の本は出たら読もうと思っていた。しかし、あまりにもいっぱい出ていたのと分厚いなというのと他にも読みたい本が重なっていた時期だったのでこんな遅くに読むことになってしまった。

Chapter01と02では他の Docker 本でもよくある、コンテナについての説明や Docker コマンドに関する説明が書いてある。Dockerの本を他で読んだことがあるならここらへんはさらっと流し読みでも良いと思う。
僕は、 exec formshell form についてと SIGNAL のハンドリングについて細かく書いてあるのが楽しかったのでそこだけしっかり読んだ。

Chapter03では、オンプレサーバで動いている WordPress サイトをコンテナに移行する。やり方の説明から実際に移行していき、途中でエラーが出た際の直し方も丁寧に説明されている。ここをやるだけでも Docker を触ったことがない人には難しいのではないかと思うが、実践的なので面白かった。

Chapter04では、まず AWS 上にアプリケーションを作成する。そこで、作成したアプリケーションをミドルウェアごと Docker を使ってローカルに似た環境を構築することが試せる。AWSについても少し説明されていて触れるのは他の本にはないコンセプトで面白かった。 MySQL や Redis 、 S3 互換の Minio を使ってウェブアプリケーションを作成するのだが、アプリケーションコード、設定が絵図入で説明されているのでわかりやすい。

Chapter05では、ローカルに構築したアプリケーションを GCP にリリースしていく。その際にはローカル上でも GCP 上でも Kubernetes を使ってアプリケーションを構築している。書いてある通りに試すと構築もリリースもできるが、 Kubernetes についての説明は Docker に比べると省略されていることが多いので他の本も読んでみると良いのではと思った。

Appendix ではログについての話、Dockerfile のデバッグ方法、CircleCIを使った継続的ビルドの話、PROXY の話とDockerをサービスに使おうと思ったときに気になることが書いてある。Docker を触ったことある人はここを読むと面白いと思う。

まとめ

  • Docker を初めて触るなら一通り試すと理解がしやすいと思った
  • オンプレサーバからの移行、クラウドへの移行など他の本では見ない話が多かったので面白かった
  • Appendix が勉強になった

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門

  • 作者:山田 明憲
  • 発売日: 2018/08/25
  • メディア: 単行本(ソフトカバー)

202004 振り返り

コロナでの在宅勤務も1ヶ月が過ぎた。
座布団Traybo2.0Rakuten UN-LIMITを買った。どれも不満なく使っている。仕事では会社携帯でテザリングを行っているが私生活は楽天モバイルで生活している。遅いと思うときもあるが基本問題なく使っている。
本の消費よりも購入のほうが相変わらず多い。部屋に荷物が増えているので、本を少しでも減らしていきたい。

べんきょうかい

仕事が長引いてしまい1個参加することができなかった。
オンライン勉強会は勉強会の動画を残してくれていることが多いので後で追うことができるのでとても助かる。
ただ19時は結局厳しい。。。

ほん

過去の漫画を複数買って読んでしまった。そのせいで積ん読は減らずに増えていく一方だった。
家の本をみていたら古い本が多かったので、徐々に捨てていったほうが良いのかもしれないと思い始めた。
漫画はね。漫画はいっぱい読んでいる。

えいが

コロナの影響で映画館が閉まっているので映画を見ることはできていない。
4月頭に行けたので今月は1本だけ。サイコパスはずっと見ているけど面白い。続きが気になる。

ぶろぐ

家にいる時間が増えたので本がもっと読めると思ったのに1冊だけ

hihihiroro.hatenablog.com

「Docker」を読んだ

Docker

Docker

  • 作者:Adrian Mouat
  • 発売日: 2016/08/17
  • メディア: 単行本(ソフトカバー)

2版が出たタイミングで買っていたみたいだが、読んでいなかった本を発掘したので読んでみた。
Docker のバージョンが1.9.1 なので古いところがあるのはしょうがないが、コンテナについての考え方を学ぶには今でも良い本だと思った。

特に僕が面白く読めたのは、8章 Dockerを使った継続的インテグレーションとテスト、10章 ロギングとモニタリング、11章 ネットワーキングとサービスディスカバリだ。

8章ではテスト環境をJenkisイメージを使って構築することや、テストについての説明が書かれている。テストを行うタイミングや、テストが通った時にはやって良いことが説明されていて面白かった。

10章では、Dockerのデフォルトのロギングの説明から始まりログの集約方法と集約に使えるツール、ツールそれぞれの簡単な設定方法などが説明されている。モニタリングについても、Dockerコマンドで取れるもの、ツールを使って取得する方法が説明されている。自分が運用している時に読んで置きたかった部分だった。

11章ではコンテナ間を繋ぐためのネットワークの説明と構築、また主要なサービスディスカバリに説明が書かれており、それぞれを試すことができるようになっている。ネットワークについては、今まで読んできた本の中でも一番詳しく書いてあると思った。自分で構築してみることができるのが面白いと思った。コンテナを複数使ったときや、オーケストレーションツールを最初に使用した際に詰まった部分だったので、自分で試してみて理解するのは楽しかった。

まとめ

使っているバージョンは古いが、考えるべきことや知るべきことはあまり変わってない気がしている。
Dockerについて詳しく書いてある本ではある。基本的なことを知りたいなら1度は読んでみると良いかも。

202003 振り返り

今年度が終わってしまった。新年度から所属する組織が変わるのでどうなることやらとビクビクしている。
先月から本だけ増えた部屋を見ながらどうにか家でも作業できるような環境構築は今後のためにも絶対必要だよなと思ってはいる。
Rakuten UN-LIMITが電話としてではなく、インターネットとしてどこまで使えるか不安もあるが楽しみにもしている。早く契約できるようにならないかな。

べんきょうかい

コロナの影響でオンライン開催だけになっているが、聞きながら仕事ができたり同僚と一緒に見ることができるので便利だなと思っている。
話す方は聞いている人のリアクションとかがわかりにくくて大変なんだろうなと思っているが、とてもありがたい。

ほん

WiMAXを解約したし、家に引きこもるしで読む冊数が増えた。
しかし、引きこもるからと本を大量にかってしまい積読が増えて部屋がどんどん本で埋れていく。
どうにか買う冊数よりも読む冊数を増やしていくようにしないとなと反省中。

えいが

後半は行けなかったが、前半の方に1日数本見ていたので本数はまあまあ見ていた。
最近は休日やってなかったり夜早く閉まったりするので、今後は見れる本数減っていくんだろうなと思っている。
SHIROBAKOは面白かった。もう1度アニメを見直そうと思っている。

  • 初恋
  • グッドバイ 嘘からはじまる人生喜劇
  • 影裏
  • ハーレイ・クインの華麗なる覚醒
  • 一度死んでみた
  • 劇場版SHIROBAKO
  • 仮面病棟

ぶろぐ

引きこもる時間が増えたので本を読んで感想を書いた。
割合的には小説を多く読んでいるが、部屋を片す意味でも技術書をサクサク読んでいきたい。

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

「SQLの苦手を克服する本」を読んだ

転職後、データプラットフォームという名前の部署での仕事を始めてから1年がたった。
SQLを1日に数本は読んでいるが、基本的にそのSQLが正しいかどうかは実行してもらって動くかどうかで担保をしてもらっている。しかしそれだと、遅いクエリも動かしてしまうことになるし、読みにくいSQLが出来上がっていたとしても気が付かなくなってしまう。

そこで、SQLについて指摘ができるようになるため再度勉強しようと思い、まずはじめにこちらの本を手にとった。SQLは苦手と感じることもなくなんとなく書いているというのが今の状態だ。

最初から最後まで一貫して書かれているのはSQLは「集合指向言語」であるということ。

また、SQLを実行することによって表がどのように切り出されたり、くっついたりするのかが書かれていて実行した後の結果がとても想像しやすかった。自分が実行したものが何を行っているかを想像できるようになるのは大事だと思っているので、そこがわかりやすくて良かった。

アプリケーションを書くためのプログラミング言語とは言語の設計思想が違うことが何回も説明されている。そのため、アプリケーションで行うべき作業とデータベースで行うべき作業についての区別が説明がされている。ここを考えずにアプリケーションで処理を書いたがために性能に問題が起きてしまうということが例として説明されている。

後半ではアプリケーションとデータベースの役割分担について書かれていたり、アンチパターンの紹介、最後には開発の際に役立ちそうな情報を載せている。
僕は今回はSQLとデータベースについて知りたかったので、後半はサラサラと流すように読んだが昔アプリケーションを書いていたときにたしかにこんなことにハマったなとか、データベースのせいにしていたなとか思いながら楽しく読めた。

まとめ

  • データベースの内部構造について少し考えるようにしようと思った
  • パフォーマンスについて考える際の取っ掛かりになれば良いな
  • データベースによって違うだろうから自分たちが使っているものから勉強しようと

SQLアンチパターン

SQLアンチパターン

  • 作者:Bill Karwin
  • 発売日: 2013/01/26
  • メディア: 大型本

「チーム・ジャーニー」を読んだ

カイゼン・ジャーニー正しいものを正しくつくるを読んでいたので読んでみるかというモチベーションだった。

これらについての感想は以前書いている。

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

タイトルがジャーニーになっているのでカイゼン・ジャーニーとなにか関係があるに違いないと思いながら読み始めた。
カイゼン・ジャーニーと同じく物語調で話が進んでいく。カイゼン・ジャーニーでは開発者の1人がどんどん成長し、周りを巻き込んでいく話だった。
チーム・ジャーニーでは、チーム開発をやったことのある主人公がチームメンバーになり、チームがどんどん成長していくストーリーとなっている。

1部 僕らが開発チームになるまで ー1チームのジャーニー
2部 僕らがプロダクトチームになるまで ー複数チームによるジャーニー

2部構成で、
第1部では単一チームの成長について書かれている。
ここではグループからチームになっていくためにやるべきことやプラクティスが、前半はストーリ、後半はストーリででてきた用語や仕組みの解説が書かれている。
初めてチームでの活動を行うやチームを作っていくためにはという場合に読むと良さそうだった。

第2部では開発をうまく回せるようになった単一グループが複数集まり、複数チームでの開発についてのストーリーになっている。
ここではそれぞれのチームが開発を終わらせることではなく、プロダクトを開発しリリースするための仕組みが説明されている。
ただし、別にこれは複数チームだけがやるべき話ではないと思った。単一のチームで働いている人も、やった方が良いだろうし知っておくべきことであると思った。

まとめ

  • カイゼン・ジャーニーと同じく物語仕立てなので読みやすかった
  • 最初から最後まで、チームとして活動するためにはについて考えていると思った
  • チームを纏める、チームが上手く動いてないと思う人が他チームについて考えれると思った