ねこものがたり

いちにちいっぽ

『マイクロサービスアーキテクチャ』を読みました

www.oreilly.co.jp

GW明けから参加することにしている社内勉強会が2つあって、その一つがこの本の読書会です。もともと興味もあったので、これを機に読んでみました。

感想

  • モノリスからマイクロサービスへの移行は徐々にやる。当初の設計ではうまくいかないと移行中にわかったら変更することができるように進める。」ということが度々書いてあって、移行の基本スタンスはこれなのだろうなと思いました。アーキテクチャじゃなくても大事そう。
  • この本の内容自体はマイクロサービスを採用しなくても押さえておきたいものがほとんどだと感じました。例えば「CIを効果的に使っていこう」という話などです。
  • 全般興味深かったですが、特にテストとDBのリファクタ・スケーリングの話が面白いと感じました。テストに関しては、QAやリグレッションも含め「何をテストするか」「あるいはテストしないか」という関心が高まっていることと、小さな単体テストでも適切に書けているか?もっと精度を上げられるのでは?と感じていることの2つが背景にあります。
  • 「プロダクトが組織とシンクロしてる*1」みたいな話が載っていて、面白かったです。いい組織にできたらいいプロダクトになるのか?いいプロダクトを目指していい組織にしていくのか?みたいなことを考えています。私はチームが好きなので、いいチームで働きたいしいいチームにしていきたいし、自分自身がいいチームワーカーとなっていきたいと本当によく思います。

  • 「非機能(要件)という言葉が好きじゃない。なぜなら機能的なものも多いから。だから機能横断要件と呼んでいる」というあたりに共感を覚えました。わかるー。
  • この本が書かれた2016年頃より今はベストプラクティスに関するナレッジが世に溢れていそうなので、書籍の内容を頭に入れつつうまくやっているところのうまくやれている要素を知りたい、と思いました。

まとめ

会社の勉強会では、1章ずつわいわいしていく感じになるっぽいので、もっとふかぼって行けたらと思います。

この本を読んで読みたくなった本がいくつかあるのですが、『実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる』をまず読んでみようと思います。

今日はGW最終日ですが、休みの間好きなだけ本を読んだりコードを書いたりしてとても楽しかったです。明日からは本に関しては月1-2冊ペースでやっていけたらいいかなーと思います。

*1:

システム(ここでは単なる情報システムよりも広く定義されたシステム)を設計 するあらゆる組織は、必ずその組織のコミュニケーション構造に倣った構造を持 つ設計を生み出す。

『Software Design 2021年3月号』を読みました

gihyo.jp

感想

第2特集 言語の壁を越えWebの可能性を広げる WebAssembly入門

ワクワクしながらこれをやりました。 Wasmは完全に初心者ですが

Wasmの公式見解では、Wasmがコアのロジックを担当し、JavaScriptがそれとHTML/CSSベースのGUIとの橋渡し役になる、という役割分担を想定して仕様を策定しているようです。

と記述があったので、この方向性を意識して、複雑な処理の部分と人の目に触れて使いやすさや見やすさを担う部分とでWasm⇄JSで使いわけられるように経験値を積みたいと、今後の指標が持てたように思います。

この記事での実装言語はRustでした。そんなに数に触れたわけではありませんが「Rustで書いて感触を掴む」と言うのが、今のトレンドなのかもしれません(適当な感想)。

結城浩の再発見の発想法【94】SLA

私は今の会社がプログラマー2社目で、前社はtoC、現社はtoBサービスを運営しています。 toCtoBって共通点も相違点もままありますが、特に違うのがSLAの重みかなと感じています。 もちろんどちらであっても重要なのですが、toBの場合、お客さんである企業が、SLAも含めてプロダクトを利用するかどうかを判断して、お金を払ってまでサービスを利用するかどうか、そもそもこのプロダクトを使うとコストを払うかどうかという判断を組織的にしていると思うので、存在感は増すのかなと言う印象です。

SLAが必要な理由として挙げられているキーワードは以下の3つでした。
透明性の確保
定量
トラブル回避・解決

開発者という立場から最も身近なのは定量化のように感じます。それも含めSLA全体に責任を持つことが透明性につながっていくように思います。この記事を読んで、改めて気が引き締まるのを感じました。

まとめ

定期購入しているものを積読にしてしまうと時間がつらい!