@hihihiroroのLog

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

202006 振り返り

机をようやく購入した。机の便利さに感動しているが、椅子が低いのしかなくバランスボールに座って仕事をしている。次は椅子を買いたいと思っているが、机があるとディスプレイも欲しくなってきた。どちらから先に買うか悩む。
机を導入してみたところほぼほぼ、机の前から動かない生活になった。仕事をするのも机、本を読むのも机、ご飯を食べるのも机。机便利。

本は変わらずのペースで読みすすめている。連休を使って読みすすめれたのでこのペースで本を失くしていきたい。

べんきょうかい

現在の仕事に関する勉強会に出ることが増えてきた。
興味はあって出ているが、まだ自分の知識が足りなくてわからないことも多いので勉強が足りていないなと思っている。

ほん

積読が少しだけだが減ってきた。
気になる漫画を毎月決まった冊数買い進めているのだがそろそろ新刊まで追いついてしまいそう。
次に買うものを探そうと思う。オススメの漫画とか詳しい人に聞いてみよう。

えいが

ジブリ映画が映画館でやっているので観に行ってきた。
ナウシカは映画館で見たことなかったし、ゲド戦記も今回初めて見た。
やっぱり大きいスクリーンで見るのは良い。

ぶろぐ

Kubernetes 本が部屋の積読から無くなった。
次はクラウド本かアジャイル本だな。

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

link.medium.com

「みんなでアジャイル」を読んだ

みんなでアジャイル ―変化に対応できる顧客中心組織のつくりかた

みんなでアジャイル ―変化に対応できる顧客中心組織のつくりかた

  • 作者:Matt LeMay
  • 発売日: 2020/03/19
  • メディア: 単行本(ソフトカバー)

Scrum Fest Osaka 2020 に参加したあとに、アジャイルの勉強をしようと思って読んでみた。

本書ではアジャイルの原則を以下の3つとしている。

  1. 顧客から始める
  2. 早期から頻繁にコラボレーションする
  3. 不確実性を計画する

本書では具体的なアジャイルの手法が詳しく説明されているわけではない。アジャイルには手法、マインドセット、ムーブメントという3つの手法があると説明されている。そして、ムーブメントとしてのアジャイルを「原則(なぜ)」と「プラクティス(どうやって)」と「兆候(何を)」の軸で説明している。3章から5章では、「組織重力の法則」と呼ばれるアンチパターンが解説されており、原則やプラクティスを理解した上で、成功に向かうためのアイデアや方法について書かれている。また、良い方向にすすんでいる兆候、悪い方向にすすんでいる兆候について確認する方法と、うまくいかない際の対応法について書かれている。

組織重力の法則は以下の3つ

  1. 組織に属する個人は、日々の責任やインセンティブと整合性がなければ、顧客と向き合う仕事を避ける。
  2. 組織に置ける個人は、自分のチームやサイロの心地よさのなかでいちばん簡単に完了できる作業を優先する。
  3. 進行中のプロジェクトは、それを承認したいちばん上の人が止めないかぎり、止まることはない。

本書は開発手法について特化したことが書かれている本ではない。セールス、マーケティングなどエンジニア外の人にも読みやすくなっている。1つ目の原則として顧客からはじめることをすすめられている。顧客について考えるためにはエンジニアだけで足りるわけがない。仕事に関わる人すべてで考える必要があると思う。アジャイルをみんなではじめる時に本書のように、「なぜ」についても説明されていると理解しやすくなるのだと思う。

また、アジャイルを試してみているが上手くいってないと思った場合は、各章に書かれている「兆候」にそって自分たちの現状を確かめながら対処していくのが良いと思う。

まとめ

  • エンジニア外の人にもおすすめできる読みやすい本だった
  • 良い方向、悪い方向にすすんでる兆候があるので現状の確認をしてみたい
  • アジャイルプレイブックにある、チームのコンテキストを設定してみる

その他

読んでる最中に、オヤと思う箇所があった。
思ってる通りだと面白いなー。

Design It! ―プログラマーのためのアーキテクティング入門

Design It! ―プログラマーのためのアーキテクティング入門

  • 作者:Michael Keeling
  • 発売日: 2019/11/25
  • メディア: 単行本(ソフトカバー)

「Docker/Kubernetes開発・運用のためのセキュリティ実践ガイド」を読んだ

家にあったDockerや Kubernetes がタイトルについている本の最後の1冊をついに読み終えた。Kubernetesで実践するクラウドネイティブDevOpsもそうだけど、Kubernetes の解説本だけではなく、Kubernetes を使った際に考えるべきこと、Tips についての本が増えてきた気がする。

第1章 Docker・Kubernetes の復習
第2章 コンテナ運用における驚異の事例
第3章 ランタイムのセキュリティ Tips
第4章 イメージのセキュリティ Tips
第5章 Kubernetes クラスタのセキュリティ Tips
第6章 アプリケーション間通信を守る

本書は、本番環境でのKubernetes 環境上での安全な開発・運用を行うためのTips がたくさん書かれている。

1章では復習として、Docker 、Kubernetes だけではなくTLS についての復習がされている。安全な通信を行うためにTLS を使うのでその復習もあるのが面白かった。

2章では、実際に起きているセキュリティの事例とその対処法について説明されている。たしかに設定ミスなどは普通に行われていると思う。
それらを検知できる仕組みを考える必要がある気がしている。

3章から5章まではそれぞれ、ランタイムとイメージ、Kubernetes それぞれのセキュリティについて気にするべきこととそれぞれの対応方法についての説明が書かれている。実際に、基盤を構築して運用をしている方々が書かれているからか、そこ気になるはというところもよく書かれている。

6章では、Pod の通信を可用性が高いまま安全に行うためのTips が書かれている。Network Policy やIstio による認証・認可、通信制御、サーキットブレーカについての解説。他にもPod 上のアプリケーションが外部と通信する際のセキュリティについても書かれている。

まとめ

  • Kubernetes 上でアプリケーションを動かす時に気をつけるセキュリティについて勉強できた
  • 内部構造についての絵がところどころ書かれていてわかりやすかった
  • コラムも面白かったので読むべき

試して学ぶ Dockerコンテナ開発

試して学ぶ Dockerコンテナ開発

「GCPの教科書Ⅱ 【コンテナ開発編】」を読んだ

2019年のお盆に読んだ本の続編が出ていたので読んでみた。

hihihiroro.hatenablog.com

1冊目では、GCPのサービスについて幅広く触れていた。今回発売された2冊目では、GCPのなかでもコンテナに関するサービスについて重点的に触れている。
目次は以下。

第1章 Google Cloud Platform の紹介
第2章 Google Container Registry
第3章 Cloud Build
第4章 Kubernetes
第5章 GKE
第6章 Cloud Run
第7章 サービスメッシュ

本書の前提の知識として、Knative と書かれていることにびっくりした。僕は詳しく知らないけど、とりあえず読んでみたが読むことができた。

まず、Kubernetes 上で動かすためのイメージを保存するGCR についての説明から始まっている。次に、CI/CD サービスのCloud Build についての説明となっている。これでアプリケーションのデプロイが出来るようになる。その後、Kubernetes を使うための最低限の基礎知識を勉強する。

5章では、マネージドなKubernetes としてGKEの紹介とノウハウが紹介されている。
6章では2019年に発表された、コンテナホスティングサービスのCloud Run についての使い方が説明されている。実際に動かすまでの流れが詳しく説明されているが、まだあまり使われていないのかノウハウなどは載っていなかった。僕も触ったこと無いから動かすことを試してみた。

最終章では、サービスメッシュの背景としてマイクロサービスの説明があり、サービスメッシュの概要と実例としてIstio が紹介されている。
ただ、Istio についてはminikube での実行しかないのでGCP 上での例ではなかったのが残念だった。

まとめ

  • GCP 上でコンテナを動かすための知識を勉強できた
  • GKE、Cloud Run などの使い分けについて学びたい
  • 無料枠で試すことができるのでどんどん試していきたい

「Kubernetesで実践するクラウドネイティブDevOps」を読んだ

会社が休みなので夜更ししても大丈夫かと思い、デブサミで早売りしていた時に買った気がするKubernetesで実践するクラウドネイティブDevOps を読んだ。

Kubernetesで実践するクラウドネイティブDevOps

Kubernetesで実践するクラウドネイティブDevOps

Kubernetes とタイトルについている他の本とは違い、Kubernetes の内部について詳しく書かれている本ではない。
Kubernetes 上でアプリケーション実行し、運用するために知っておくと良いと著者たちが考えていることが書かれている本である。Kubernetes について勉強しようと思って読み始めると肩透かしをくらうと思う。

目次は以下。

1章 クラウドでの革命
2章 Kubernetes 最初の一歩
3章 Kubernetes 環境の選択
4章 Kubernetes オブジェクトの基本操作
5章 リソースの管理
6章 クラスタの運用
7章 Kubernetes の強力なツール
8章 コンテナの実行
9章 Pod の管理
10章 設定と機密情報
11章 セキュリティとバックアップ
12章 Kubernetes アプリケーションのデプロイ
13章 開発ワークフロー
14章 Kubernetes における継続的デプロイ
15章 オブザーバビリティと監視
16章 Kubernetes におけるメトリクス

1章でタイトルになっている、DevOps やクラウドネイティブについてがまとまって説明されていた。ここらへんは人によって定義も違うだろうし、本書の中での定義が分かって良かった。

その後の章では、実際に運用する際にどうすれば良いのと思うことに対して、考えるべきポイントと著者たちの考える選択肢と推奨を教えてくれている。
例えば、

  • Kubernetes 環境は自分で立てるのが良いのか、マネージドを使うほうが良いのか?
  • 機密情報を渡すにはどうするのが良いのか?
  • アプリケーションデプロイの時に考えるべきことはなにか?
  • 見るべきメトリクスはどれなのか?

などアプリケーションを動かしている運用者としては気になるところについて、重要なことは何で、それらを解決するための方法が理由と共に書かれている。

特に自分が面白く読んだのは、15章のオブザーバビリティと監視。
オブザーバビリティという単語は聞いたことがあるけどなんだろうと思っていた。本書の中では、「内部で何が怒っているかをどれほど容易に判断できるかの尺度」と説明されている。自分たちが行った変更に対して、システムに対する影響がどれくらいかがわかりやすく見えるというのはとても大事だと思う。
まだ、ちゃんと理解できていないからオブザーバビリティについてはいろいろ調べようと思った。

まとめ

  • Kubernetes 上で動かすアプリケーションの運用で考えることを知れた
  • どれ使えば良いのという質問に著者たちなりの答えがあって勉強になった
  • オブザーバビリティについて勉強する

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

202005 振り返り

緊急事態宣言が一部解除された。9月いっぱいまでは、在宅勤務が推奨されることになった。 ありあわせで作った環境ではとても辛くなってきた。環境をちゃんと整えようと部屋の掃除や整理をよく行っている。
机をいれるとなるともう少し広い家に引っ越したいなと考えている。
本は変わらないペースで買っているが、読む時間が増えたのでちょっとづつだが減っているように見える。これを継続していきたい。
初めて関わらせてもらったこともあって面白かった。

べんきょうかい

申込みをしているが、あとで見れるからという気の緩みからか真面目に参加できてない時間帯がある。 せっかく準備して話をしてくれているのだから、ちゃんと聞かないとな。

ほん

家から出ない時間が増えたので、部屋を掃除し始めた。部屋の大部分が本の置き場になっていることが分かった。
部屋を綺麗にするためには本をなくすことが必要だなと思い始めたので、積読を読み始めた。せっかくの引きこもり生活なので本を読み進めようと思う。
(新しい本を買うことは止まってないけど。

えいが

このブログを書くようになってから、初めて月1回も映画館に行かない月だった。
Hulu, Netflix, Amazon Prime Video で過去の映画などはたくさん見た。新作見に行きたい。

ぶろぐ

コロナで家にいる、ゴールデンウィークという2つのこともありずっと家に溜まっていた本を少し読みすすめることができた。
これで、家にある Docker / Kubernetes とタイトルについている本は残り2冊。
それに伴い、家にあるものを書き出すことをしてみた。全部書き出せてるわけではないから追記していく。

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

note.com

「しくみがわかるKubernetes」を読んだ

Microsoft のお二方が書いたAzure で動かしながら学ぶKubernetes 本。
以下の章構成になっている。

CHAPTER 01 コンテナーとKubernetes
CHAPTER 02 Kubernetesの環境構築
CHAPTER 03 Kubernetesを動してみよう
CHAPTER 04 Kubernetesの要点
CHAPTER 05 コンテナーアプリケーションの実行
CHAPTER 06 アプリケーションのデプロイ
CHAPTER 07 アーキテクチャと設計原則
CHAPTER 08 可用性 (Availability)
CHAPTER 09 拡張性 (Scalability)
CHAPTER 10 保守性 (Manageability)
CHAPTER 11 リソース分離 (Security)
CHAPTER 12 可観測性 (Observability)

著者の1人の真壁さんが、サンプルコードを綺麗にまとめてくださっているので試すのも楽だった。 github.com

Azure 上で試すために、az コマンドが使われているが、別に他の環境でも試すことはできると思う。
CHAPTER 06 までは Kubernetes の基本的な機能について説明されている。機能がなぜ必要なのかから説明されていて、Kubernetes の内部しくみも含めて解説されている。図も入っていてわかりやすかった。

CHAPTER 07 からはKubernetes 環境の設計、運用をするために意識することをまとめてくれている。その後は理解するために必要なことを、可用性、拡張性、保守性、リソースの分離、可観測性の5つの視点から解説がされている。Kubernetes の運用をする上で、役に立つであろう基本原則についての説明をわかりやすくされている。設計をするうえでも知っておくべきことなのだと思う。納得するまで何回か読んでみる。

まとめ

  • サンプルコードがしっかりしているので試しやすい
  • なぜ使うのか、どう使われるのかが説明されているところが多かった
  • Kubernetes のコンセプトが説明されていてわかりやすい

Kubernetesで実践するクラウドネイティブDevOps

Kubernetesで実践するクラウドネイティブDevOps