ブログ

ryuzeeによるブログ記事。不定期更新

直近開催のScrum Alliance認定スクラムマスター研修のご案内

マイクロサービスに関する資料のまとめ

世の中マイクロサービス・マイクロサービスうるさいのでちょっとこれ読んでおけという資料をまとめておきます。 はっきり言ってマイクロサービス化しようとすると、組織構造の話、エンジニアの責務の話など技術的な課題以外の領域にもいろんなチャレンジがあるので、普通のプロジェクトでも苦労する組織が取り組むとか、設計だけして開発を委託しているけどDB一極化がやばいので取り組むとかは止めておいた方がよいと思います。

概念

  • Twelve Factor App
  • マイクロサービスの話ではないが、モダンなアプリケーションを作りたければ開発チーム全員に叩き込んでおくべき内容
  • Microservices
  • Martin Fowlerによるマイクロサービスの解説。2014年5月に公開
  • Martin Fowlerのブログは翻訳が可能で、日本語訳を公開してくれている人がいる。こちら
  • 単純に言えば、「マイクロサービスとは単一のアプリケーションを小さなサービス群の組み合わせで構築する手法」である
  • サービスによるコンポーネント化(独立して交換やアップグレードが可能、すなわちサービス単体でのデプロイが可能)
  • ビジネスの単位にあわせた組織構造(技術的境界で組織を分割するのではなく、サービスをデプロイするのに必要な能力を持てるように分割する)
  • プロジェクトではなくプロダクトにフォーカスする(AmazonでいうところのYou build it, You run it)
  • エンドポイントの利用による疎結合化
  • 分散統治(組織もデータも)
  • インフラの自動化
  • 壊れることを前提にした設計
  • 漸進的な設計
  • What is a Microservice?
  • Martin Fowlerの話にくらべて簡単にまとまっている。言っていることは同じ。
  • マイクロサービス化が進む背景について考えてみた
  • コンウェイの法則はマイクロサービスのキーワードの1つ。SOAが早すぎたは同意
  • Building Microservices - Designing Fine-Grained Systems
  • オライリーから出版されている本。日本語版が出るという噂

アーキテクチャー

  • Microservice architecture patterns and best practices
  • マイクロサービスのさまざまなアーキテクチャパターンを図入りで紹介している(上記サイトの右ナビから)。
  • 現在紹介されているのは、APIゲートウェイ・クライアントサイドディスカバリー・サーバーサイドディスカバリー・サービスレジストリ・セルフレジストレーション・サードパーティレジストレーション・1ホスト上での複数サービスの稼働・1ホスト1サービスの稼働・VM単位のサービスインスタンス・コンテナ単位のサービスインスタンス
  • Microservice Design Patterns
  • 前述のパターンとほぼおなじだが見ておくとよい
  • Seven Microservices Anti-patterns
  • マイクロサービスの7つのアンチパターン
  • microservicesに分割する際に注意するべき5つのこと

実際の事例

アジャイル開発チーム向けのコーチングや、技術顧問、Scrum Alliance認定スクラムマスター研修などのトレーニングを提供しています。お気軽にご相談ください(初回相談無料)
前の記事 オープンソースのAPI Gateway「Kong」
次の記事 【資料公開】強いチームの作り方

プロダクト開発で、こんな課題を感じていませんか?

  • 何を作るべきか、順位の決め方が定まらない
  • プロダクトの方向性をチームで共有できていない
  • 開発組織の体制や役割がうまく機能していない
  • 開発プロセスが形骸化し、目的を見失っている
  • アジャイルを導入したが、組織に定着しない

プロダクトマネジメント、組織構造、開発プロセスの課題について、組織全体の視点から支援します。

お問い合わせ(初回相談無料)

契約を前提にした相談でなくて構いません。相談に際して事前の整理や準備は不要です。

Aligned ―プロダクト開発におけるステークホルダーとの関係性の築き方
ダイナミックリチーミング 第2版
Tidy First?
脳に収まるコードの書き方
プロダクトマネージャーのしごと 第2版
エンジニアリングマネージャーのしごと
チームトポロジー
スクラム実践者が知るべき97のこと
プロダクトマネジメント
SCRUM BOOT CAMP THE BOOK
みんなでアジャイル
レガシーコードからの脱却
Effective DevOps
変革の軌跡
ジョイ・インク
アジャイルコーチの道具箱
カンバン仕事術
Software in 30 Days
How to Change the World