Kubernetes実践ガイドを読み終わりました

Kubernetes実践ガイドを一通り読み終えたので書評です。

Kubernetes実践ガイド クラウドネイティブアプリケーションを支える技術 - インプレスブックス

評価

★★★★★★★★☆☆(8/10)
評価の目安はこちら

オススメできる人

オススメできない人

manifestファイルの書き方のようなKubernatesの詳細部分は少ないように感じました。
動作させるところまで基本的な部分までは動かせますが、
触りながら詳細まで覚えたいというタイプの人には向かないかもしれません。

感想

クラウドネイティブやコンテナの現状、Kubernatesの仕組み、Kubernatesを効率的に運用する方法といった内容が書かれています。
Kubernates関連の用語が多く覚えることも多いなとは感じましたが、全体像が説明されているのでとてもイメージしやすかったです。
構築するとこまでではなく運用までを含めたところまでカバーしているのも助かります。

私はKubernatesを名前くらいしか知らなかったのですが全体像から把握したいタイプだったのでこの本は非常にわかりやすいと感じました。
まずは全体像から把握したいという人にはお勧めの一冊です。

Design It!を読み終わりました

Design It!を一通り読み終えたので書評です。

O'Reilly Japan - Design It!

評価

★★★★★★★★★☆(9/10)
評価の目安はこちら

オススメできる人

オススメできない人

第7章でアーキテクチャパターンで説明はされていますが、
割合としてャスクないのでアーキテクチャパターンを学びたい人には向かないと思います。

感想

アーキテクチャを設計し運用していくためにはどの様なことを考え、どの様なことをしていけばいいかがわかる本です。

序盤はアーキテクチャについての概要に触れたのち、理解/探究/作成/評価という4つの軸をベースにアーキテクチャを設計するための考えやプラクティスに触れられます。
後半では理解/探究/作成/評価をおなうためのプラクティスが載っていて、リファレンス的に使用することができます。

4つの軸について個人的には下記の様に捉えました。

  • アーキテクチャにおける要求や状況の理解をする
  • 要求を満たすための手法の探究をする
  • 実際に触れるものを作成するをする
  • 作成したものが要求を満たしているかの評価をする

探究と作成について触れられている書籍や記事は多いと思いますが、理解/評価について触れられているものは少ないのではないかと思います。
実務で理解/評価といった部分はどうすればいいのかについて悩んだことがあったので、この本はその答えにたどり着くための足掛かりとしては良い本だったと思います。

アーキテクチャについて学ぶための最初の本としてお勧めです。

Redis Essentialsを読み終わりました

Redis Essentialsを一通り読み終えたので書評です。

Redis Essentials

評価

★★★★★★★☆☆☆(7/10)
評価の目安はこちら

オススメできる人

  • Redisの使い方を覚えたい人

オススメできない人

  • Redisの運用を覚えたい人
  • 英語が苦手な人

Essentialsなので基本的な内容がメインなのでパラメータチューニングとかの内容は少なめです。
英語本なので英語が苦手な方はお勧めしません。
個人的には読みやすい英語だったと思います。

感想

Redisの基本的な使い方とおおよその仕組みを知りたいと思い買いました。

Redisで使用できる型の説明、使えるコマンドと機能、セキュリティといった、
Redisを使うで最低限押さえておくべきところが書かれていたのではないかと思います。

Node.jsを使ったコードサンプルもついているので写経をしながら覚えられるのも良いです。

よくハマる落とし穴とその対策、マスタ/スレーブ構成の構築、クラスターの構築など
一歩進んだ内容も書かれているのでRedis周りをカバーする本としてはとても良いと思います。

個人的にはRedisの基礎以外のところではシングルスレッドで動いていることや
永続化の方法としてスナップショットファイルを保存する方法と
トランザクションログ的なものを保存する方法があるということを知れたのが収穫でした。

Cypherクエリー言語の事例で学ぶグラフデータベースNeo4jを読み終わりました

Cypherクエリー言語の事例で学ぶグラフデータベースNeo4jを一通り読み終えたので書評です。

Cypherクエリー言語の事例で学ぶグラフデータベースNeo4j | 電子書籍とプリントオンデマンド(POD) | NextPublishing(ネクストパブリッシング)

評価

★★★★★★☆☆☆☆(6/10)
評価の目安はこちら

オススメできる人

  • Cypherクエリの使い方を覚えたい人

オススメできない人

  • Neo4jの運用を覚えたい人

Neo4jを使った運用がどうなるかといった箇所は載っていないので
運用回りを含めたNeo4jの使い方を覚えたい人にはお勧めしません。

感想

Cypherクエリで応用的なクエリをかけるようになりたいなと思い、
クエリの写経をしながら覚えられる本がないかと探して購入しました。

販売履歴のデータを元に様々なクエリを作るという流れです。
集計データを産出するクエリを作るページでは
集計した結果と集計する前のグラフ構造のデータも示されているので
どういう流れで集計したかも分かりやすかったです。

また、クエリの解説が細かく書いてあるのでつまるところはなかったです。

Cypherクエリを写経して覚えるには良い本だと思います。

余談

発売した当時のNeo4jとはメジャーバージョンが異なるため、一部のクエリはWarningが出てきます。
私は3.5.12で試しました。

データについては筆者の方が2018-11-13にNeo4j 3.4.9までは動作確認しているので、
3系であればデータは取り込めるようです。
https://www.creationline.com/lab/10192

自分のなりたいエンジニア像

改めて自分どういうエンジニアになりたいのかを整理したいなーと思ったので、
だらだらとブログ書き連ねてみようかなーと。

自分が目指すエンジニア像

サービスを安定運用できるエンジニアになる。
というのが、ここ数年で考えている自分が目指すエンジニア像。

達成基準

達成基準というか自分が考えうるエンジニアとして最高の成果は下記のようなものかなと考えている。

「こういう事業を立ち上げたいんだけど」って企画の人とかに言われたときに

  • どの技術をどのように使えば構築できるか
  • どれくらいの人数でどういうチーム体制が良いか
  • 構築・運用にあたってのリスクとその回避方法

みたいなことが提案できてそれを実現できる。

システムとしては変更しやすくて、バグが少なくて、パフォーマンスが良い。

トラブルが起きにくく、起きたとしてもすぐ回復できる。
事前検知の仕組みや回復の手段が明確になっている状態。

「こういう機能があったらユーザにとって幸せじゃない?」とか
「こういう情報を取得できたらサービスをもっと良くできるんじゃない?」とか提案できる。

というのが自分の思う最高の成果かな。

追加でチームビルディングとかもできると良いのだけど、
自分が目指すエンジニアとしての役割として入るかどうかは微妙な気がする。
スキルとしてはできるようになりたい。

思うところ

「売上目標xxx億円」みたいなところより「ユーザ満足度xxx%」とかの方がやる気でると思う。
ビジネスは売上を立てないと成り立たないのだけど、
「ユーザに満足してもらうのがメイン。その対価として運営するためのお金をもらう」
くらいのスタンスの方が個人的には好き。

まとめ

だらだらと書き連ねてみたけど、今目指している姿はこんな感じかな。
今のスキルを考えると道のりは非常に遠い。
到達できるのだろうかとは思うけど何もしないと到達できないよねと思う。
頑張ろう。

レガシーコードからの脱却を読み終わりました

レガシーコードからの脱却を一通り読み終えたので書評です。

O'Reilly Japan - レガシーコードからの脱却

評価

★★★★★★★★☆☆(8/10)
評価の目安はこちら

オススメできる人

  • サービスを運用するエンジニア
  • チームのコードをよくしたいリーダー

コードをバリバリ書くタイプではないリーダーの人でも
チームとしてどう言うことをすれば改善できるのかを知るために良い書籍だと思います。

オススメできない人

特になし。

感想

タイトルの通り、レガシーコードからどのようにして脱却するための手法が書かれています。
ラクティスが9つもありますが1つ1つの導入自体は難しくないので少しずつ試せる内容になっています。

サービスの運用をする上ではコードの改善を進めながら進めていく必要がありますが、
その改善を進めていく上での道標となるような内容だと思いました。

運用設計の教科書を読み終わりました

運用設計の教科書を一通り読み終えたので書評です。

運用設計の教科書 ~現場で困らないITサービスマネジメントの実践ノウハウ:書籍案内|技術評論社

評価

★★★★★★☆☆☆☆(6/10)
評価の目安はこちら

オススメできる人

  • 受託開発に携わっているエンジニア
  • 運用が回っていなくて疲弊しているエンジニア

オススメできない人

  • サービス系の運用を行っているエンジニア

サービス開始後は運用については運用改善として扱っているようなので、この本の対象から外れていると思います。
ただ、考えるべきことの参考にはなると思います。

感想

業務システムを構築するプロジェクトにおいてどのように 運用設計をしてテストと引き継ぎをするかといった内容になっています。

開発も運用も同じメンバーでやるようなチームの場合だと少し当てはめにくいかなと感じました。
それでも運用すべき項目として当てはめられる部分もあるので読んで損はないと思います。
運用となった時にどのような運用をすればいいかの洗い出し方や管理方法など参考になると思います。

運用系の教科書的な書籍はあまりみたことがないのでこの本はその名の通り教科書として使えると思います。