# KT#XXX-yokoi マイクロサービス本を書いた話 ###### tags:`マイクロサービス` `出版` [このKTはプロモーションを含みます] 宣伝 --- マイクロサービスに関する本を出しました。概要欄のURLからお買い求めください。 * タイトル:クラウドネイティブで実現する マイクロサービス開発・運用 実践ガイド * 著者:正野 勇嗣, 山田 真也, 宇都宮 雅彦, 横井 一輝, 岡本 隆史 * 値段:3960円 * 内容:Kubernetes上でマイクロサービスを設計・実装・運用するためのノウハウを解説 * URL:www.amazon.co.jp/dp/B0CH7XY3YT 近況報告 --- * 仕事 * 11月から異動しました。 * 異動前:DXやモダナイゼーションに関するコンサル(という名のエンジニア売り) * 異動後:生成AIを使ってCOBOL開発をよくするために何ができるか考える * ChatGPTのせいで生成AI(大規模言語モデル)を使ったソフトウェア開発に対する期待感が爆上がりしており、まあいろいろと自分なりに頑張っております。 * 博士課程 * 12月に国際学会で発表し、卒業要件はそろいました。 * 今年3月に卒業するには、論文誌追加で1本書かなければいけないので、来年3月の卒業を目指します。 * プライベート * 異動先のプロジェクトが ~~嫌すぎて海外逃亡~~ 一区切りついたので台湾旅行してきました * 千と千尋の神隠しのモデルにもなったと言われる九份に行ってきました。よかったです。 * 臭豆腐を食べました。まずくはなかったです。 ![iOS の画像2](https://hackmd.io/_uploads/H1UD0F0qa.jpg) 本題:今日話すこと --- * マイクロサービス本の中身ちょっと紹介 * 本を書くことになった経緯・執筆スケジュール * んで、印税ってどれくらい入るの? マイクロサービス本の中身ちょっと紹介 --- #### マイクロサービスとは? Wikipediaより > マイクロサービス(英語:microservices)とは、ソフトウェア開発の技法の1つであり、1つのアプリケーションを、ビジネス機能に沿った複数の小さいサービスの疎に結合された集合体として構成するサービス指向アーキテクチャ(service-oriented architecture; SOA)の1種である。 * ざっくりいうと、小さいサービス(ビジネスロジック)を組み合わせて、1つのアプリケーションを作りましょう。という開発技法 ![image](https://hackmd.io/_uploads/B1-Bz9Rqa.png) #### 本に書いてある技術要素 技術要素 - gRPC - GraphQL - コンテナ - コンテナオーケストレーション - イベント駆動型通信 - サービスメッシュ - ブルーグリーンデプロイ - カナリアリリース - 相互TLS認証 - JWT検証 - OpenID Connect - SAGA/TCC/2フェーズコミット - CI/CD - GitOps - オブザーバビリティ 製品群 - Golang - Node.js - React - Apollo - RabbitMQ - Docker - Kubernetes - kind - Istio - Keycloak - GitLab CI - Argo CD - Helm #### Amazonレビュー抜粋と所感 > 広く浅くという印象のため、本書をとっかかりにして、他の書籍やネットの情報で知識を深めるようなやり方が望ましい ⇒ マイクロサービスで扱う技術要素が多い分、どうしても広く浅くになってしまう。 各技術・製品のQuick Start集のつもりで書いた。 この本をきっかけに、各技術を深掘ってほしいと思っていた、自分の思いに即したレビューをもらえた。 > 技術解説書としては、クラウドやマイクロサービスに特化した詳細ではなく、クラウドやマイクロサービスに代表される、ここ10年程のエンタプライズITの進歩を網羅した解説書 ⇒ 昔からシステムを開発・保守してきたNTTデータの技術支援組織だからこそ書けた内容じゃないかと自負している。 トレンド技術に特化しておらず、00年代のWEB技術も触れながら技術の変遷を紹介することで、なぜ今この技術がトレンドなのかを説明することができたと思う。 (自分も本業ではCOBOLやらレガシーなJavaシステムに関わることが多いので、システムの考古学と捉えると面白かった) 本を書くことになった経緯・執筆スケジュール --- #### 本を書くことになった経緯 * 2020年頃、同じ技術組織の先輩(当時課長)で、阪大OBのよしみから、第一著者の正野さんとマイクロサービスに関して会話をしていた。 * 正野さんはWEB記事執筆や外部発信を積極的にやっており、僕も興味がある旨を伝えていた。 * 時はすぎて2022年2月 * 正野さん「(そういえば、横井が昔WEB記事執筆やってみたいって言ってたな。マイクロサービス本の企画が通ったし、一応声だけかけてみるか)」 * 正野さん「マイクロサービスの本を書くことになったのだけど、書いてみたい?」 * 横井「はい、書きたいです!(書けるとは言っていない)」 * 正野さん「(おう、まじか)やる気あっていいね。了解!」 * 正野さん「(書きたいって答えるってことは、書けるってことやな)」 こんな勘違い(?)から、本を書くことになりました。今となっては、当時の話はお互いの笑い話です。 #### 執筆スケジュール 執筆が始まるとなかなかの炎上プロジェクトでした。。。スケジュールを時系列で紹介します。 1. 2021年12月 本の企画が出版社に通る 2. 2022年2月 横井、執筆メンバーに誘われる 3. 2022年4月 執筆メンバーが集まり、執筆開始 4. 2週間に1回2時間 執筆会議を定期開催 5. 隔週で、様々な論点で紛糾 * 執筆メンバー各自が思うマイクロサービスの認識が合わない。 * どの技術要素を本に盛り込むかの方針が合わない。 * サンプルコードのマイクロサービスのアーキテクト設計が決まらない 6. 2022年10月 計画当初の原稿締め切りを延長 7. 2023年2月 どの技術要素をどの順番で説明するかで紛糾。(このタイミングで目次作り直し) 8. 2023年3月 原稿締め切り再延長 9. 2023年3月頃 「このプロジェクトを下りたいです。」というチャットを送りかけては消し……というメンヘラムーブを何度も繰り返す。 * しかし、数々の炎上プロジェクトを鎮火してきた敏腕PMでもある正野さん、横井のメンヘラを見破り、時に厳しく、時にやさしい言葉で横井の離脱を許さない。(今となっては感謝してます) 10. 2023年4-6月 めっちゃ頑張った 11. 2023年7月 初稿入稿 12. 2023年8月 サンプルコードテスト。公開のための整備。 13. 2023年9月 原稿修正など経て、最終入稿 14. 2023年9月25日 無事出版 印税の話 --- #### 印税のルール * 保証印税(最低これだけの印税は入りますよという額) * 保証部数(初版部数の70%)について、本体価格の8%を支払い * 印税(紙) * 保証部数(初版部数の70%)を超えた分について、本体価格の10%を支払い * 印税(電子) * 売上高の20%を支払い 上記の印税を、著者5人で20%ずつ按分。 印税収入から、所得税を源泉徴収される。 インボイス登録していないから、消費税分はそのままもらえる?(これから調べる) #### 実際に入った額 * 保証印税 * 140,824円 * 印税(紙媒) * 0円 * 印税(電子) * 7,564円 * 合計 * 148,388円 計算確定日 2023年10月20日 振込日 2023年12月31日 感想・まとめ --- * エンジニアとして貴重な経験をつめた * (つよつよエンジニアに詰められまくって、技術がちょっと嫌いになった) * でも書く機会がもらえて、よかった * 書き終えて本になったのを見ると、素直に嬉しいね * お金だけみると、残業した方がコスパはよいかな