マスタリングAPIアーキテクチャ ―モノリシックからマイクロサービスへとアーキテクチャを進化させるための実践的手法
by James Gough, Daniel Bryant, Matthew Auburn, 石川 朝久
イントロダクション
本章では、APIの基礎とアーキテクチャ・ジャーニーという概念を紹介していきます。そして、APIの簡単な定義と、プロセスの内外で利用されるAPIについて紹介していきます。本書では、APIの重要性を示すため、カンファレンスシステムのケーススタディを取り上げ、発展・進化させていく実例をお見せします。さまざまなAPIの考え方を理解することで、単純な3層構造のアーキテクチャを超えた発想が可能になります。また、APIの通信パターンとその重要性を紹介します。本書で扱うケーススタディが段階的にどのように進むかを概説していますので、興味のある分野をすぐ読みたいのであれば、本章は読み飛ばしてもかまいません。
APIと関連するエコシステムを紹介するため、一連の重要なツール群を解説します。C4モデル(https://c4model.com/)を使ってケーススタディを紹介し、アプローチの背後にある具体的な内容やロジックを再確認していきます。また、ADR(アーキテクチャ決定記録:Architecture Decision Records)の利用と、ソフトウェアライフサイクル全体における意思決定を明確に定義する価値について学びます。最後に、「場合によるよ」という返答が返ってきた場合でも意思決定ができるように、ADRガイドラインと私たちのアプローチの概要を紹介します。
0.1 アーキテクチャ・ジャーニー
長旅をしたことがある人ならば、間違いなく「まだ着かないの?」という質問をされたことがあるはずです。そうした問い合わせには、GPSやルート検索を見て想定到着時間を確認し、途中で遅延やトラブルがないことを祈ります。同様に、APIアーキテクチャを構築するためのジャーニー*1は、開発者やアーキテクトにとって複雑な旅路になる可能性があります。たとえ ...