マスタリングAPIアーキテクチャ ―モノリシックからマイクロサービスへとアーキテクチャを進化させるための実践的手法
by James Gough, Daniel Bryant, Matthew Auburn, 石川 朝久
訳者あとがき
現在は顧客のニーズが急速に変化する時代となっています。その背景にはWeb APIの普及があり、さまざまなWebサービスがAPIを通じて連携することで、迅速に高付加価値なサービスを提供できるようになったことが挙げられます。例えば、ライドシェアアプリを開発する場合、従来は地図機能や決済機能をそれぞれ個別に実装する必要がありました。しかし、今ではGoogle Maps APIを利用して地図機能を、決済代行サービスAPIを用いて支払い処理を、Twilio APIなどを活用して顧客と運転手のコミュニケーション機能を簡単に導入できるようになりました。これにより、開発者はライドシェアサービスのコア機能に集中し、効率的にサービスを提供できるようになっています。また、新技術の進展も著しく、生成AIの登場に象徴されるように、技術革新のスピードはますます加速しています。これらの新技術を迅速に取り入れることは、サービスの安定稼働と、顧客に魅力的なサービスを提供する観点において非常に重要です。
このような状況下で、企業が提供するサービスは、一度構築すれば終わりではなく、新しい技術や顧客のニーズに応じて常に進化させていくことが求められています。また、サービスの買収や資本提携が活発化している現在、より良いサービスを提供するために、既存のサービスを見直し、場合によっては切り替えが必要になることも少なくありません。このような急速に変化する外部環境に対応するため、アジャイル開発やDevOpsといった手法が開発プロセスに取り入れられるようになってきています。
本書は、こうした変化に対応し、システムをどのように進化させるべきかをAPIを軸に解説する実践書です。私もセキュリティアーキテクトという役割柄、開発プロジェクトのレビューや相談に対応することが多いのですが、ほとんどのケースは既存システムの仕様や要件の変更に関するものです(新規開発の場合でも、すべてを一度にリリースするのではなく、市場の仮説に基づいて部分的にリリースするのが一般的で、結果として変更に関する議論が中心になります)。このような状況では、サービス指向アーキテクチャ、マイクロサービス、進化的アーキテクチャといった概念が進むべき道を示してくれます。 ...