#マイクロサービス
15 件の記事
ソフトウェアアーキテクチャを学ぶためのおすすめ本12選【入門から実践まで】
ソフトウェアアーキテクチャを体系的に学ぶための定番書を、入門から実践まで12冊まとめた。設計の基礎、トレードオフ、ドメイン駆動設計、マイクロサービス、API設計の順に紹介し、各書の個別レビューへ移動できる。
マイクロサービスパターン
『マイクロサービスパターン』の書評。Chris Richardsonによる、マイクロサービスの設計パターンを体系化した一冊。分解戦略に始まり、Sagaによる分散トランザクション、API Composition、CQRS、イベントソーシングなど、分散システムで直面する課題と定石をトレードオフ付きで整理する。
サービス間認証の全体像とは?mTLS・Token Exchange・SPIFFE・ゼロトラスト
マイクロサービス間の認証を「ネットワーク層/トークン層/アイデンティティ基盤」の3レイヤで整理する。mTLS・Token Exchange(RFC 8693)・SPIFFE・ゼロトラスト(NIST SP 800-207)・BeyondProdまで解説する。
gRPCの採用判断とトレードオフ
gRPC をいつ採用すべきかを、RPC・HTTP/2・Protocol Buffers の本質から整理します。向く場面と向かない場面、トレードオフ、運用の勘所、REST や GraphQL との使い分けまで解説します。
プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化
『プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化』の書評。マイクロサービスを本番運用するために満たすべき要件を、安定性・信頼性・スケーラビリティ・耐障害性などの観点で整理し、標準化チェックリストとして提示する一冊。著者のUberでの経験がベースになっている。
分散トランザクションの代表的3パターン — 2PC・Saga・Outbox
マイクロサービスにおける分散トランザクション設計の代表的パターン、2PC・Saga・Outboxを比較し、それぞれの仕組み・長所短所・使い分けを整理する。
OPAを使用したマイクロサービスのアクセス制御システムの実装
OPA(Open Policy Agent)を採用したマイクロサービスのアクセス制御システムのPOCに取り組んだ内容をまとめた記事です。Rego言語によるポリシー記述やポリシーエンジンの活用、リソースレベルでの細粒度なアクセス制御を実装するためのパターンを、公開リポジトリとあわせて紹介します。
大規模モノリスをどう分割するか? - ソフトウェアアーキテクチャ・ハードパーツに学ぶ
大規模モノリスをどう分割するか? - ソフトウェアアーキテクチャ・ハードパーツに学ぶについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
マスタリングAPIアーキテクチャ ―モノリシックからマイクロサービスへとアーキテクチャを進化させるための実践的手法
『マスタリングAPIアーキテクチャ』の書評。C4ダイアグラムやADRを使いながら、APIアーキテクチャのパターンやテスト、運用、セキュリティを解説する一冊。詳説というより概論に近く、モノリシックからマイクロサービスへとアーキテクチャを進化させる全体像をつかむのに向いている。
マイクロサービスアーキテクチャ 第2版
『マイクロサービスアーキテクチャ 第2版』の書評。マイクロサービスに取り組む・検討するなら読んでおきたい一冊。分散システムに求められるアーキテクチャ特性(非機能要件)にもよく触れており、マイクロサービス一辺倒でなくとも学びが多い。概念整理は第1章がよくまとまっている。
モノリスからマイクロサービスへ ―モノリスを進化させる実践移行ガイド
『モノリスからマイクロサービスへ ―モノリスを進化させる実践移行ガイド』の書評。モノリスからマイクロサービスへの移行アプローチに特化した一冊。最もページを割く章では、移行の最大の砦となるデータベースの分割を扱い、段階的に進化させる実践的な指針を与えてくれる。
CQRSとは?コマンドクエリ責務分離を使うべき場面
CQRS(コマンドクエリ責務分離)について調べたことをまとめた記事。データの更新を担うCommandと参照を担うQueryを分離するパターンの考え方や、CRUDとの違い、スケーラビリティ改善につながる場面と適用すべきでない場面を整理する。
Sagaパターンとは?マイクロサービスでの分散トランザクション管理
Saga パターンとは何か、マイクロサービスにおける分散トランザクション管理の方法(コレオグラフィ型・オーケストレーション型)を解説します。
SOAとマイクロサービスとの違いについて整理するために読んだ記事メモ
整理するSOAとマイクロサービスの違い。サービス指向アーキテクチャ、ESB、API Gateway、資源共有とコンポーネント分割の特性比較。
gRPCとは?GoによるgRPCの実践入門
GoでgRPCに入門するための実践的なガイドです。gRPCとは何か、その前提となるHTTP/2やProtocol Buffersといった技術、サービス定義やストリーミングの仕組みを説明し、GoでgRPCのサーバーとクライアントを実装する手順を解説します。