デッドライン読書会#04「マイクロサービスアーキテクチャ(前半)」感想文

課題図書

デッドライン読書会#04の課題図書はオライリー社の「マイクロサービスアーキテクチャ(前半)」です。前半の範囲は1章〜6章でした。表紙はミツバチです。

※デッドライン読書会とは何かについてはこちらのポスト:「読書×締切ではじめる「デッドライン読書会」を始めました」をご参照ください。

本を読んだ感想

本書について

本書はオライリー・ジャパンから2016年に出版されました。今回の範囲の章は次のとおりです。

  • 1章:マイクロサービス
  • 2章:進化的アーキテクト
  • 3章:サービスのモデル化方法
  • 4章:統合
  • 5章:モノリスの分割
  • 6章:デプロイ

運用やセキュリティ、スケーリングは7章以降になります。

前半全体

書名としてマイクロサービスアーキテクチャ(以降、MSAと略)でのアプリケーション構築・開発の詳細を議論しているのかと思いましたが、少し上位概念が多い印象。しかしながらよく考えてみれば、それはそうで、組織とアプリ/システムが一致するコンウェイ法則を体現したようなアーキテクチャ(というよりか、パターン?)であることからも、開発プロセス(CI、CDなど)、設計論(DDD)、インフラのあり方(インフラ構築の自動化、クラウド)、組織のあり方も関連するとなると、それなりに語るべき範囲は広くなるんだなぁと認識しました。

1章でそうそうに「MSAは銀の弾丸じゃないよ」と著者も言っており、その後の内容も慎重なイメージがありました。マイクロサービス化するための境界線の見つけ方、そのタイミングは適切な位置をじっくり時間をかけ把握し掴んでから実施すべしとのこと。

私自身MSAのアプリは作ったことがないですが、APIベースのアプリなら経験はちょっとあります。それを踏まえて具体的に学びに繋がった箇所について以下「個別」でまとめておこうかと思います。

個別

  1. MSAにおけるデータの持ち方
    • サービス間でのDB統合は極力避けるべし。
    • DB上のトランザクションが完結するように、マイクロサービスの境界を作るべし。
  2. REST/JSONだけが王道ではない
    • サポートツールが優れているからとの理由で、著者はややXMLを推している。
    • でも今ではますますJSONがデファクトかとも思います。
  3. APIエンドポイントのバージョンニングにおける過去バージョンの維持方法
    • 内部的にV1エンドポイントへのすべてのリクエストをV2リクエストに変換する。これによりアプリ全体を二重に管理・メンテナンスすることを防ぐことができる。
  4. ユーザインターフェイスの作り方
    • API合成するか、UI部品合成するか、フロントエンド向けバックエンド(BFF)を作るか、などの手法が選択できる。
  5. アーキテクトは都市計画家
    • なるほど、詳細に立ち入れないときもあるが、システム全体(都市全体)と、それぞれのマイクロサービスの役割(土地の用途)、マイクロサービス間のIF(道!?)に着目することが重要な任務。私としてはイメージしやすかった良いメタファーでした。

次回(#05)

スケジュールはGoogleカレンダーで分かるようにしています。第5回は次の要領です。

  • 書籍
  • デッドライン
    • 感想交換1Week(6/12〜17)
    • 読書する時間2Week(6/18~7/1)
    • ブログポスト期限(7/2)
    • 感想交換1Week(7/3-8)
広告

デッドライン読書会#03「業務デザインの発想法」感想文

課題図書

デッドライン読書会#03の課題図書は「業務デザインの発想法」でした。今回は1冊を2週間で読破するコースです。

※デッドライン読書会とは何かについてはこちらのポスト:「読書×締切ではじめる「デッドライン読書会」を始めました」をご参照ください。

本を読んだ感想

全体

「○○の問題地図」や「職場の問題かるた」など見える化・言える化についてたくさん書かれている沢渡あまねさんの本。SNSでの活動も見させてもらっているので、私としては馴染みの深い内容が多かったです。

本書は題材として「ハンバーガーショップの開店からの運営」を扱っています。私はシステム開発と運用のコンテキストをもとに本書を読みましたが、ITに範囲は絞られない内容です。第1章から第4章は、(システム開発だと)非機能要求・要件定義、運用設計、運用に関わることが網羅的に書かれていました。私も一通り経験したことがあるので新しい発見はありませんでしたが、丁寧に書かれている(かつ、ITよりに感じた)ので、初めてITでこの領域を経験する人にはちょうどよい参考書になると思います。よくこれだけ平易な言葉でまとめたなぁ。。。

後半の第5章「業務の価値を高める」、第6章「人と組織を継続的に成長させる」、第7章「で、どうやったらなれる?」は、刺さった内容でした。特に5章と6章は仕事でも携わっていることでピンポイント。よくをいえば、業務が定着化するような活動(コラムの「そばうどんコーナー」の内容はそれに近いかも!?)や、業務が大きく変わったときのチェンジマネジメント活動などにも言及があると嬉しかったなぁという感想でした。

個別

個別のテーマで本書内で気になったことを箇条書きします。

  • 5.1. ナレッジマネジメント
    • 情報の共有は難しい。本書では「短期」、「中長期」、「限定的」と分けて分類している。
    • 私がいま仕事を通して考えているのは、情報の方向と、それをいかに知識に変換するかというところ。 整理すると次の4つになった:「TAKE(教えられて知識を獲得する)」、「GIVE(教えることにより知識を整理する)」、「GIVE&TAKE(情報を行き来して知識に昇格する)」、「SHARE(時間や人をまたいで情報・知識を行き渡らせる)」。でも、これは、情報や知識の領域のことであって、自律的なチームとする場合は、情報・知識を知恵に昇格する仕組み・仕掛けがいると思っている。それにはまだ現場コーチ的な方法しか見つかっていない。ダイアログなど語りつくすところに別の答えがありそうだなーといったもやもや感はあるけど。
  • 5.1. コミュニケーションは設計8割、スキル2割
    • 私には、設計5割、勇気3割、スキル2割かな。
  • 6.1. 自己開示による相互理解を促進する
    • 「自己開示のための質問リスト」は良い質問リストと思ったけど、どこかからの出典だろうか。
  • 6.2. DevOps

次のスケジュール(#03〜#04)

スケジュールはGoogleカレンダーで分かるようにしています。

  • レビュー(感想の共有)とプラニング(次の書籍選定)
    • レビュー(5/15〜5/20)
    • プランニング(5/21〜5/27)
  • #04の書籍
    • 未定、プランニング終了までに決まります。
  • #04のデッドライン(予定)
    • 読書する時間2Week(5/28~6/10)
    • ブログポスト期限(6/11)

デッドライン読書会#02「Effective DevOps(後半)」感想文

課題図書

デッドライン読書会#02の課題図書は「Effective DevOps ―4本柱による持続可能な組織文化の育て方(前半)」です。長い本なので半分ずつで今回は後半の第V部〜最後が範囲です。前半の感想文はこちら(デッドライン読書会#01「Effective DevOps(前半)」感想文)です。

※デッドライン読書会とは何かについてはこちらのポスト:「読書×締切ではじめる「デッドライン読書会」を始めました」をご参照ください。

 

本を読んだ感想

全体

devopsの実現に向けた4本柱の4本目「スケーリング」と、devops文化を実現するための架け橋に関する話が対象でした。ここでいうスケーリングとは、単に大企業へのdevopsの導入を指すだけではなく、企業(組織)の拡大・縮小に対する柔軟な対応にはどうしたらよいか、その時々のライフサイクルで適した技術的なこと、文化的なことに焦点をあてている。

後半部分で身にしみたのは、「明示的か?」・「明文化されているか?」といった記述が多いことだった。価値観や文化は明文化されているか?(私のチームはされていない)。されていれば、共有もできるし、改善もできるため、そこから学ぶことができる。では、なぜ無い場合が多いのかと考えると、現業で忙しいことを言い訳にしたり、なくても成り立つ(ように勘違いしている)と思っていたり、そもそも必要性を感じないからだろう。技術だけでなく、文化もアップデートする必要があると説く本書からすると、明文化は必須事項だと思った。最近経営理念に関する本を2冊ほど読んだので、それに通ずるところも感じた(「実践経営哲学」、「いい経営理念が会社を変える」)。そこからすると、「明文化することも難しい」が、「文化として浸透させることも難しい」という2つの課題がある。ひょっとしたら浸透させる部分はシステム開発よりで考えてもよいのかもしれない。ツールチェインに想いを入れ込んでみたり、コーディングルールや設計のガイドラインに入れ込んだりできるかもしれない。

もう一点共通して面白かったことは、本書では、仕事の外のことをとても多く扱っていることだった。(狭義的な仕事の範囲で)仕事の外とはつまり、休暇・休息・充電、業務後のコミュニケーション、学習、カンファレンスへの参加、社外のコミュニティ活動、食事、健康など。本書は「文化こそがdevops運動の本質」と銘打っていることもあり、何もシステム開発の一部分を改善するといったことが目的でないことがみてとれた。文化を含めて改善するためには、チームとメンバーを広い範囲で捉えてサポートできるようになれるかが重要なのだろう。

個別

個別のテーマで本書内で気になったことを箇条書きします。『』(二重括弧)部分は本書内の引用です。

  • 14.7 チームのスケーリング
    • 『効果的な仕事をするリーダーは、決して「私」とは言わないように思う。…彼らが考えるのは「私たち」のこと』
    • 組織が大きくなると、仕事は分割され一部だけ担当するというのはよくある。そうならないようにしなくてはいけないと思うし、なった場合でも「私たち」という表現が指すように、個人のスキル(責任)をオーバーラップしてみれるリーダーになることが重要だと思う。
  • 14.8.1.1 社員の募集と面接
    • 『強い意見と弱い執着』
    • すごく参考になった。特定の技術や開発プロセスに対して、強い意見を持とう。誤りを証明されたら弱い執着を発揮しようということ。なんとなく「弱い意見と強い執着」が大半を占めていると思います。「昔からこうなんです」ってやつ。強い意見が持てるということはその方法に腹落ちしているわけであって、弱い執着でいられるというのは人の意見をちゃんと聞くことができるという姿勢を示しているんだと解釈しました。
  • 14.8.3.3 見当違いの技術重視
    • 『重要な文化的価値を強調する』
    • チームが何を目指すか、何を理想とするか、決定はどう行われるのか、などチームの文化を明文化することをできていないなぁ(過去にクレド的なものは定めたことがあったがいつの間にかなくなってたことに今気づいた)。前述したが、明文化できれば改善ができるということを忘れてしまっていた。
  • 16章 devopsの4本柱を使って架け橋をつくる
    • 『異なるチームや組織を、サイロではなく島だと考える』
    • 良くない組織の状態を「サイロ化」だとか「井の中の蛙」だとか表現する。これはネガティブなメタファーである。改善をしたいと思うなら、建設的なメタファーを使わなくてはいけない。語彙は豊富に。文化を変えるということはそういった表現にも気を使えるかは大事。

次のスケジュール(#02〜#03)

スケジュールはGoogleカレンダーで分かるようにしています。

  • レビュー(感想の共有)とプラニング(次の書籍選定)
  •  #03の書籍
    • 未定、プランニング終了までに決まります。
  • #03のデッドライン(予定)
    • 読書する時間2Week(4/30~5/13)
    •  ブログポスト期限(5/14)
    • 感想交換1Week(5/15-21)

デッドライン読書会#01「Effective DevOps(前半)」感想文

課題図書

デッドライン読書会#01の課題図書は「Effective DevOps ―4本柱による持続可能な組織文化の育て方(前半)」です。第I部〜第Ⅳ部。表紙はヤクですね。

※デッドライン読書会とは何かについてはこちらのポスト:「読書×締切ではじめる「デッドライン読書会」を始めました」をご参照ください。

 

本を読んだ感想

全体

良い意味でタイトルに裏切られました!DevOpsに関するプラクティス(ツールや、狭義でのデリバリーにおける組織間の連携など)の本かと思いましたが、devops(本書での表記通り)を使い効果的に仕事をするための文化の醸成を語った本でした。

ちょうど最近自分の活動では、アジャイル型の開発(スクラム)、CI/CD、ダイアローグなどを深く考える機会があったんですが、本書を読むことで幅が広がりそうな感覚があります。というのも著者は文化の醸成に関することについて幅広く見識があるようで、認知のスタイル、育成におけるフィードバック、チーミング、採用、ファシリティ、といった部分からもちろん関連するITの開発の事情まで含めて参考情報込みで展開してくれています。TEDの動画や参考書籍・サイトへのリンクも細かく入っているため理解を掘り下げやすく、助かりました。(ただその分読むのはなかなか進まない。。。)

なお本書での言う四本柱とは、次のとおりでした。

  • コラボレーション
  • アフィニティ
  • ツール(今回の#01はここまでが対象)
  • スケーリング

個別

個別のテーマで本書内で気になったことを箇条書きします。

  • 4.1.2 devopsは単なるアジャイルなのか
    • アジャイル以上に広さがあると(私はちょっと異論がある)。devopsはどんな組織でも適用ができる。気をつけなくてはいけないのは、Dev(開発チーム)とOps(運用チーム)だけに適用するといったことだけを考えてはいけないこと。それは解消しようとしたサイロ化を別のサイロに取り替えているだけ。
  • 8.2.3 私は働きすぎだ、ストレスが溜まっている、燃え尽きた
    • 業務後にジムに行って身体を鍛える人がいるように(世の中には筋肉がすべてを解決するという人もいるw)、業務外でメンタルを鍛えるという活動をしても良いと思う。ジムのトレーナーに身体にあったトレーニング方法を教えてもらうように、精神についてもプロから指導を受けるといいのかもと思った。それは瞑想かもしれないし、カウンセリングかもしれない。
  • 9.3.5.1 内集団・外集団理論(チームの団結力)
    • チーム外からの圧力が、チームの結束を強めるというのは私も経験がある。この効果と、チーム間の連携(経験の共有など)によるお互いのブラッシュアップを活用すると、組織としての力が上がるのだろうか。競い合いつつ(競い合わせつつ)、情報もちゃんと共有して、、とか難易度が高そうなチーム運営だなぁ。
  • 9.3.6 多様性
    • この本は多様性の充実と脱差別を何度も繰り返し記している。おかげで自分の見識の狭さと経験の少なさを思い知った感じ(LGBTQの「Q」の存在をこの本で知ったくらい!)。多様性とインターセクショナリティについてもう少しちゃんと現実味を持って知らなくてはいけないと気づきました。
  • 11.2.2 インフラストラクチャーの自動化
    • 「構成ドリフト」と「スノーフレークサーバー」は初耳のキーワード。インフラの管理に手作業がはいるためにできてしまう状態。IaCで管理すべし。

 

次回(#02)

スケジュールはGoogleカレンダーで分かるようにしています。第2回は次の要領です。

読書×締切ではじめる「デッドライン読書会」を始めました

エンジニアにとっても、ビジネスパーソンにとっても、書籍から情報を得ることは価値があると思っています。でもついつい積読してしまったり、途中まで読んでそのままおいてある本は多いのではないでしょうか。そういったときにおすすめな方法は、「リズミカル」に「共読」する方法です。それらを実現する方法として私はアクティブ・ブック・ダイアローグ(ABD)という読書法も好きですが、実は昨年から自社の中で試していた読書習慣を作る方法がありまして、それを自社の中に限るのではなく、オンライン上で実施することにしました。その名も…

デッドライン読書会!!

デッドライン読書会の目的は次の2つです。

  • リズミカルに本を読む習慣をつけること(締切とリズム)
  • 複数人で同じ本を読むことにより、理解を深めること(共読)

進め方は次の通り。

  1.  1冊書籍を決めます。(ジャンルは広く問わず)
  2.  2週間かけて本を読み、最終日までに感想文を書きます。(ブログや、Qiitaなど共有できるところ)
  3.  その感想文を1週間かけて、facebookやTwitter上で意見交換を行います。
  4.  イメージとしてはスプリント2Week+レビューと計画1Weekです。
  5.  オンライン上のハッシュタグは #デッドライン読書会 です。
  6.  スケジュールはGoogleカレンダーで分かるようにしています。

実は第1回はすでに開始されていて、次の要領です。

正直少々ハードな取り組みですが、やってみると面白い。読み切れると自信につながる(というか締め切りがあるので、ちゃんと読み切れる^^;)。ぜひ一緒にやりませんか?

1年間のやりたいことリストを作ってみた

やりたいことリストとは

正月ということで、1年の計画を立てました。その中の一つで、「やりたいことを100個あげる」ということに挑戦してみました。ここでいうやりたいことリストは、、、

  • やりたいこと
  • カテゴリ(仕事、プライベート、ファミリー)
  • やった日
  • メモ

の4つの項目を列にして、100個並べただけのリストです。いつでも見られるようにGoogleスプレッドシートにテンプレートを作成しました。やりたいことを100個もまとめられたらそれだけでも幸福な生活ができるんじゃないかなぁとおもって、その実験です。

100個埋めることに挑戦

元日の午前中(つまり、元旦)に作成しようと思いたち、頭を捻りながら実施。100個はなかなか難しい。私の場合は、40個くらいまではスラスラ出たんですが、そのさきがちょっと苦行でした。結局元日の夕方くらいまでかかりました。

作ってみて分かったこと

こつこつ上げると、「やりたいこと」にはそのときどきの自分の状況が現れるんじゃないかと気づきました。いまの私は子供が小さいこともあり、「子供が楽しめる工作系」、「体験系」が多いような気がします。プライベート面では「誰々と直接会って話してみたい」がいくつか出てきました。

あと、大量にやりたいことを考えようとすると、去年感じた「(他の人がやっている)羨ましそうなこと」もたくさん思い出せます。私も挑戦してみようかな〜という気分になるわけです。

作るときの注意事項

幸福になるため(?)の「やりたいこと」リストです。WANT-TOをまとめることに終始する必要があります。間違ってもHAVE-TOをまとめてはいけないです。そうなったらただの巨大なTO DOリストに追われる生活に、、、。

1年間で何個達成できるか

ちなみに、1月2日さっそく一つ目ができました!この調子で1年間で何個実行に移せるかなぁ。楽しみです。

2018年の振り返り、2019年の目標

2018年もあっという間に最終日です。毎年恒例になりましたが、1年の振り返りをします。

定量的な部分

1年間を数字で振り返ります。2019年の目標も併記します。

読書

IT(8冊)ビジネス(17冊)娯楽(22冊)合計
2,372頁(目標:4,500頁)5,362頁(目標:4,500頁)5,736頁(目標:6,000頁)13,470頁

目標と比較すると、1,500頁不足。去年と同じくらいの水準になりました。1日に換算すると40頁にもみたないんですが、なかなか量を増やすのも難しいところ。積読が増えるいっぽうです。なお今年は読書法が増えた1年でもありました。Active Book Dialogue、読書Sprint、サシ読書会。シェアリーディングがブームだったようです。分類の中では娯楽(小説)が少なかったのは残念…。

来年も目標は変えず、IT:15冊、ビジネス:15冊、娯楽:20冊、合計15,000ページ。あと新しい本棚を作るのをここに目標として追加したいと思います。

カンファレンス・勉強会

12回(目標12回)
参加回数の予実です。DevLOVE関西、品川読書会、築地大沼会、ABD読書クラブなどなど。場所としても、東京、大阪、神戸、静岡といつもより少しいろんな場所に行きました。自社開催は4回。去年より増えました。まったく新しいコミュニティ参加の機会もあったため、ちょっと背伸びした感じです。定着できるように回数も増やしたいところだけど、家庭との塩梅ですね。来年の目標は、15回(うち、社内開催5回)で。

プレゼンする機会

社外でプレゼンする機会は1回(目標2回)でした。1回CFPに出してみたってのもあります(通らなかったけどw)。社内で喋った回数も数回程度だったか、、、アウトプットが減っちゃいました。少し興味としてそれてしまったのかも。それでも形にするには大事な活動だから、来年は3回くらいを目標にしたい!

ブログ

9本(目標12本)。PVは、27,975でした(昨年4.3万)。勉強会の内容を中心に書きました。去年の振り返りで独り言的なポストをするといって全然していない。来年も同じ目標にします。

Qiita

新規0本。Contributionは397。PVは、167,147(目標4万)。過去の投稿のバージョンアップはこつこつしましたが、新規は0本でした。今年の大半は技術的に新しいことをしていなかったってことですねぇ。終盤は、.NETまわりでいろいろハマることをやっていたので、それをタイムリーに残せたら良かった。過去の記事に助けられてPVは本家の6倍近くに。来年は12本書きます。

資格

今年は1つ。
珍しくベンダーの資格を取りました(AWS認定ソリューションアーキテクト、アソシエイト)。来年は2つくらい目指してみたい。GCPかな。

物作り

今年新しくやりはじめたこと!DIYで工具を揃えて木工工作をし始めました。花壇、ステップ、子供用の椅子、宝箱、棚、小さなクリスマスツリーが成果。思いもせずハマり6つも作れました。これやってたから他が進まなかったのか、、、。設計考えたり、色合い考えたり、失敗すると取り返しがつかなくなるので頭を使うのにも良い活動でした。来年はもう少し大物に挑戦したいなぁ。フェンスの改造、庭の改造、本棚作成といったところか。

定性的な部分

文章でメモっておく振り返りです。今年特に良かったと思うのは、「やりたいこと」に対して様々な手段が取れたことだと思います。例えば、勉強がしたいときには、オンラインで他の仲間を見つけて取り組み始めてみること。読書をするとき普通の読み方だけでなく、シェアリーディングにチャレンジしてみること。家具は買うだけではなく、作ること。これまで馴致しかけていた活動(生活?)に風穴が開けられたような気がします。良かったと思う新しい活動を箇条書きで書くと、

  • DIYでものづくりをはじめた
  • シェアリーディングで本を読んだ
  • コミットしすぎない働き方を試してみた
  • リモートコミュニケーションが充実した
  • スマホやパソコンを変えた

こう書くとたいしたことはやっていませんね^^;でもなぜか変わった気がしました。なにかこつこつと積み重なっているのかもしれないです。ちなみにそんな自分の眼差しを変えられた動きは

  • いろんな人の話を聞く
  • いろんな本を読む(特に子供との読書は良かった)
  • 子供の話を聞いたり、動きを見たりする
  • 愚痴ばかり言わない、愚痴ばかり感じない
  • 刺激に反応しない

といったところです。なんやかんやでマインド面では「刺激に反応しない」がとても大きかった気がします笑 1週間〜1ヶ月に1回くらいは役に立ちました。

来年は次のことを挑戦してみたいですね。

  • 家族でキャンプに行く
  • 子供と旅行をする計画をたてる
  • 新しい勉強をはじめて見る(研究活動!?)
  • 仕事面でもう一本筋を作る

定量的な振り返りはいまいちでしたが、定性的な(まだ測れないといった部分の)振り返りは充実していたような気がします。今年1年も良い経験ができた1年でした。来年初頭は仕事が忙しいかもしれませんが、そのあとはほどほどにしていろんなことを充実する1年をまた過ごしたいと思います。

今年1年ありがとうございました。来年もよろしくお願いします。