@hihihiroroのLog

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

「Kubernetes完全ガイド 第2版」を読んだ

GWに読み終えた Kubertnetes完全ガイド の第2版が出ていた。

hihihiroro.hatenablog.com

第1版が 544 ページだったのが、第2版では 668 ページになっている。
章立ては以下。

第1章 Docker の復習と 「Hello, Kubernetes
第2章 なぜ Kubernetes が必要なのか?
第3章 Kubernetes 環境の選択肢
第4章 API リソースと kubectl
第5章 Workloads APIs カテゴリ
第6章 Service APIs カテゴリ
第7章 Config & Storage APIs カテゴリ
第8章 Cluster APIs カテゴリとMetadata APIs カテゴリ
第9章 リソース管理とオートスケーリング
第10章 ヘルスチェックとコンテナのライフサイクル
第11章 メンテナンスとノードの停止
第12章 高度で柔軟なスケジューリング
第13章 セキュリティ
第14章 マニフェストの汎用化を行うオープンソースソフトウェア
第15章 モニタリング
第16章 コンテナログの集約
第17章 Kubernetes 環境での CI/CD
第18章 マイクロサービスアーキテクチャとサービスメッシュ
第19章 Kubernetesアーキテクチャを知る
第20章 Kubernetes とこれから
付録A 巻末付録

章立てで大きく変わったのは、リソース表記だったものが APIs 表記に変わったこと。
それ以外の変更点で言うと図が増えている。また、 Kubernetes の version が第2版では 1.18 まで説明されている。 2年前からリリースされた version で GA になった機能や、現在 alpha の機能についても説明されており、今だからできること、今後できるようになっていくことも読むことができる。

第1版でもそうだったが、第2版でも引き続き Kubernetes 自体のアーキテクチャについて、それぞれの APIs リソースについての解説が詳しくされており、Kubernetes 上での動かし方だけではなく Kubernetes 自体についてわかった気になれた。

そして、僕が1番読んで良かったと思ったのは第17章の Kubernetes 環境での CI/CD についてだった。第1版では様々な OSS が羅列されていただけだったが、第2版では GitOps と CIOps についての説明がされていた。
CI/CD については Kubernetes に限らず興味がある。ここについてはちゃんと勉強をしていきたい。
また本書では、 Kubernetes に関するツールの説明がされている。気になるものはいくつかあるので使ってみたいと思う。

まとめ

  • Kubernetes 1.18 まで対応した内容にアップデートされている
  • 変わらず Kubernetes 自体について詳しくわかりやすく書かれている
  • 中身は純増されているので読むのに体力が必要

「たった1日で基本が身に付く! Docker/Kubernetes超入門」を読んだ

たった1日で基本が身に付く!  Docker/Kubernetes超入門

たった1日で基本が身に付く! Docker/Kubernetes超入門

  • 作者:伊藤 裕一
  • 発売日: 2020/07/13
  • メディア: 単行本(ソフトカバー)

本屋で見かけたので買ってみた。

CHAPTER 1 Dockerを使ってみよう
CHAPTER 2 イメージの利用と開発を体験しよう
CHAPTER 3 Dockerネットワークとストレージを理解しよう
CHAPTER 4 Dockerfileでイメージを作成しよう
CHAPTER 5 Composeを使ってマルチコンテナアプリを作ろう
CHAPTER 6 DockerアプリでCI/CDしよう
CHAPTER 7 Kubernetesを理解しよう
CHAPTER 8 Kubernetesを利用しよう

CHAPTER1 ではよくある、Docker の説明、インストール方法、基本コマンドの説明がされている。
SECTION5 でDocker を利用するべきところ、Docker でやるべきではないことが説明されている。
やるべきではないこととしていかが説明されている。

CHAPTER2 では、Ansible を使っての Dockerホストを構築する説明がされている。

CHAPTER3 はDocker の内部の話が説明されている。ネットワークとストレージについて説明されている。ストレージは揮発性と永続化、それ以外に overlayFS についても説明されている。

CHAPTER4、5 ではDockerfileの使いかた、Composer を使って複数アプリを立ち上げる説明がされている。 Dockerfile の章ではシグナルを受け取ってアプリを終わらせるための説明がされている。起動したけどすぐ落ちるコンテナを作ったことがある自分としては、そういえばと思いながら読めた。

CHAPTER6 ではJenkiins を使ってのCI/CD 構築についての説明がされている。1日で身につけるというタイトルだからか、構築とJenkinsfile の説明がされているだけで他のCI/CDツールについての話がなかった。ここは残念だった。

CHAPTER7、8 ではKubernetes について説明されているが、詳しく知りたいならば他のKubernetes 本を読むのが良さそう。ひとまず、動かしてみることはできるから試してみたい人にはまとまっているので読みやすいと思う。

まとめ

  • Docker とKubernetes の基本的な知識、言葉の意味が理解できる
  • コラムやちょっとした小話が面白かった
  • はじめて触る人はサクサクすすめていくことができて良さそう

202008 振り返り

部屋の掃除が趣味になってきた。
床を拭いたり、配置を変えたりをよくやっている。だいたい部屋にいるので快適に過ごすためにいろいろ試行錯誤をしている。自分の性格上物を多く置くと汚くなっていくことがみえているので少しでも要らなくなったもの、使わなかったものは処分するようにしている。
ただ、まずは買ってしまってからの試行錯誤になってしまっているので、買う必要があるかをかんがえるところからにしたいな。

べんきょうかい

今月は小説をだいぶ読んでいたので余り参加していない。
データ収集基盤は他の会社の事例が聞けて面白かった。

ほん

買った小説、コミックをたくさん読んだ。
左利きのエレンや森見登美彦さんの本をまとめ買いして読んだ。面白かったな。
決まった場所に置けるくらいに減ってきたので新しいのを買うのを少し抑えてみようと思う。

えいが

新作がたくさん公開になっていて嬉しい。
ぐらんぶるはとても笑える作品だった。他は感動するものが多かったかな。
平常時と同じくらい見るようになってきた。

ぶろぐ

夏休みを取ったでの気になった本を読んで感想を書いてみた。

link.medium.com

hihihiroro.hatenablog.com

「クラウドでデータ活用!データ基盤の設計パターン」を読んだ

データエンジニアと肩書につけてから1年8ヶ月が経った。
DockerやKubernetes*1の本が溜まっていたのでそのあたりの本を読むのを先に行い、ようやく今の仕事に関わる本にも手を出し始めた。

第1章 データ基盤の現在
第2章 データ基盤3パターン
第3章 クラウドで作るデータ基盤
第4章 データ基盤のこれからの課題
第5章 データ管理の体制づくり

データ基盤として以下の3パターンが紹介されている。

  • データレイク型 ・・・すべてのデータを溜めて、用途に応じて取り出し加工
  • 統合型 ・・・1つの製品に機能を集約
  • 分散型 ・・・複数のデータベースが分散していて、それぞれ個別にデータ連携

それぞれのパターンについて、連携コスト、必要なスキルによってどれを選ぶのか良いかが説明されている。

集積・蓄積フェーズにおける考慮する6つのポイント

  1. データレイクを構築する場所、利用するサービスや製品の選定
  2. データレイクに蓄積するデータのフォーマットを決めるタイミング
  3. データの収集と蓄積のタイミング
  4. エージェントプログラムの有無
  5. メッセージブローカーの有無
  6. データの欠損や重複の扱い方

利用・加工フェーズの2つの設計パターンが紹介されている。本書ではトレンドは倉庫型、オススメは工場型と紹介されている。

  1. データ倉庫型・・・データレイク内で加工せず利用者側で加工する
  2. データ向上型・・・データレイク内で加工する

その後には架空の会社を設定して必要なデータ基盤の設計、そのデータ基盤をAWS、Azure、Oracle Cloud での構築例を説明している。
また、現在のデータ基盤を作る話だけではなく、データ基盤の未来像についても話がされている。
データを連携しやすいデータプラットフォームの構築、クラウドサービスごとの強みをうまく活用、対障害性を高めるためマルチクラウドでの切り分け、構築について説明がされている。

最後に、データ基盤の活用のための組織づくりについても軽く説明されている。本書では、データマネジメントを牛機を創設するための5つのポイントを説明している。

  1. データスチュワードの存在
  2. 適材適所な人員配置
  3. スモールスタート
  4. 全体最適
  5. トップの強いコミット

これらの中で自分たちに足りてないもの、すでに動いているため必要ないものなどの見極めをしてうまく当てはめていきたい。

まとめ

  • 薄い本だしさらっとデータ基盤について学ぶのには良かった
  • この辺用語の意味がまとまっていなかったりするから揃えたいな
  • GCP とかAlibaba も流行ってきているから混ぜてほしかった

データマネジメント知識体系ガイド 第二版

データマネジメント知識体系ガイド 第二版

*1:ちなみに今の仕事でも使っている

202007 振り返り

朝起きれなくなってきた。机とベットの配置によって起きて、ベットから降りて2歩でPCの前に座れるようになった。
コロナが収まって会社に毎日行くようになったら戻った初期は辛い目にあうんだろうな。

部屋の掃除を頻繁に行うようになった。こんだけ掃除しているのになんでゴミが貯まるんだろうと思うほど床にホコリや髪の毛が散らばっている。
本棚から溢れている本が全体の85%ほどある。これらまで片すことができればスッキリするだろうなと思っている。

在宅はやりたい時にやれることができるので時間割などを自分で作らないとすべてが中途半端になってしまう。

ブログの見た目を変えてみた。

べんきょうかい

データやクラウドについての勉強会に出るようになった。
考えなきゃいけないこととか、他の方の失敗した内容についてなど聞けるのはとても勉強になる。

ほん

波よ聞いてくれ、はじめアルゴリズム、地獄楽を毎月決まった冊数買っていたが最新刊まで追いついてしまった。
他にもドリフターズや数字であそぼなどのオススメを聞いた分も買って読み終わった。
部屋の本がまた少し減った。部屋内の未毒殺未読冊数が200冊をようやく切った。今後も頑張っていこう。

えいが

朝一や夜など人の少い時間を選んで少しずつ映画鑑賞を再開してる。
今日から俺は、コンフィデンスマンは笑いが起きるような面白い映画だったし、ステップでは泣くし良い映画だった。
山田孝之って年下だったのか…

  • 今日から俺は!!劇場版
  • コンフィデンスマンJP プリンセス編
  • ステップ

ぶろぐ

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

「LeanとDevOpsの科学」を読んだ

頂いた本をようやくだけど読んでみた。

具体的な手法などについては書かれていない。タイトルに科学と書かれているように、調査内容や研究内容について書かれている。
ソフトウェアデリバリのパフォーマンスを改善するため効果の高いケイパビリティが24個列挙され、それぞれが本書の中で詳しく解説されている。
列挙されていた、ケイパビリティは以下。

継続的デリバリの促進効果が高いケイパビリティ

  1. バージョン管理
  2. デプロイの自動化
  3. 継続的インテグレーション
  4. トランクベースの開発
  5. テストの自動化
  6. テストデータの管理
  7. 情報セキュリティのシフトレフト
  8. 継続的デリバリ

アーキテクチャ関連のケイパビリティ

  1. 疎結合へのアーキテクチャ
  2. チームへの権限の付与

製品・プロセス関連のケイパビリティ

  1. 顧客フィードバック
  2. 業務プロセスの可視化
  3. 作業の細分化
  4. チームによる実験

リーン思考に即した管理・監視に関わるケイパビリティ

  1. 変更承認プロセス
  2. 監視
  3. プロアクティブな通知
  4. 進行中の作業(WIP:Work in Progress)の制限
  5. 作業の可視化

組織文化に関わるケイパビリティ

  1. Westrum推奨の創造的な組織文化
  2. 学びの支援
  3. チーム間の協働
  4. 職務満足度
  5. 改善を推進するリーダーシップ

ソフトウェアのデリバリパフォーマンスをあげる、チーム、文化などについて、アンケート調査の結果分析や調査研究内容について説明されている。
上記に記載したケイパビリティを高めるために、自分のチームでの業務プロセス、文化、開発環境などを見直して、少しづつ改善点を見つけては直していこうと思った。

Effective DevOps ―4本柱による持続可能な組織文化の育て方

Effective DevOps ―4本柱による持続可能な組織文化の育て方

「レガシーコードからの脱却」を読んだ

レガシーが残っている環境に所属している。前職も現職も古から動いていて、まだまだ現役だと言わんばかりのシステムがある。
※古をどれほど前と取るかは読んでる人に任せます。

それらのシステムをえいやという掛け声と、南無と祈る気持ちでいくつか切り替えてきた。しかし、期待するも虚しく失敗した経験も何度もあるので、タイトルがとても気になった。
また、2月にあったデブサミITエンジニア本大賞2020で技術書部門大賞も受賞されていたので*1読んでみようと思った。

レガシーコードを上手に消し去る方法などが書かれているかと思ったていた。実際には、レガシーコードをいかに生み出さないようにするかが書かれている。
本書では、ソフトウェアの寿命を延ばし価値を高める原則とプラクティスが9つにまとめられ、それぞれについて説明されている。
ちなみに9つという数字は「人が一度に記憶できるのは7プラスマイナス2個」という考えの上限値になっているらしい。 以下が、9つのプラクティスになる。

  • ラクティス1 やり方より先に目的、理由、誰のためかを伝える
  • ラクティス2 小さなバッチで作る
  • ラクティス3 継続的に統合する
  • ラクティス4 協力しあう
  • ラクティス5 「CLEAN」コードを作る
  • ラクティス6 まずテストを書く
  • ラクティス7 テストでふるまいを明示する
  • ラクティス8 設計は最後に行う
  • ラクティス9 レガシーコードをリファクタリングする

それぞれのプラクティスについて、原則の説明、実践するための7つの戦略、振り返りがそれぞれちょうど良い分量で書かれている。
本書の内容は、特別目新しい事が書いてあるようには思わなかったが、色々な分野の内容がそれほど多くない量、適度な内容だったのでとても読みやすかった。
それぞれで勉強していた内容がここでもつながるのかと思えるのは楽しかった。
また、まずは良いソフトウェアを書くためにすることを本書で学んで、気になったところは参考文献に載っている本や、文中で紹介しているブログなどを読んで深堀りしていくのにも向いているのかなと思った。

まとめ

  • ソフトウェアを作り出すための原則とプラクティスがまとまっててわかりやすかった
  • 開発者以外の人にも読んでもらうと開発者の気持ちがわかってもらえそうだなと思った
  • 自分で作るソフトウェアはレガシーと言われないように気にしながら作成しよう

テスト駆動開発

テスト駆動開発

  • 作者:Kent Beck
  • 発売日: 2017/10/14
  • メディア: 単行本(ソフトカバー)

*1:受賞おめでとうございます!!!