マイクロサービスの次なるステップ? 「API設計ファースト」で変わる開発現場:「API仕様」の新たな常識
アプリケーション開発において、マイクロサービスアーキテクチャの次の波と見られているのが「API設計ファースト」という考え方だ。あるアプリケーションベンダーが実践する開発手法や使用ツールを紹介する。
アプリケーション開発において、「マイクロサービスアーキテクチャ」が普及している。これは、ビジネスロジックごとにそれぞれ独立したサービスを開発し、それらをAPI(アプリケーションプログラミングインタフェース)で連携させることで1つの大規模なアプリケーションを構築する手法だ。このマイクロサービスアーキテクチャからさらに一歩進んだ手法として、「API設計ファースト」がある。どのような手法なのか。実際の採用例と併せて紹介する。
開発手法“API設計ファースト”とは何か? そのメリットは
イリノイ州シャンバーグに拠点を置く、人事(HR)・給与・経費管理ツールベンダーPaylocityは、1997年に設立された。2000年代中頃、当時としては先進的だったが、異なるサービスを組み合わせてシステムを構築する「サービス指向アーキテクチャ」(SOA)を自社製品に採用した。現在、同社はそれを新たにマイクロサービスアーキテクチャに置き換える作業を進めている。特定のイベントをトリガーにしてプログラムを自動実行する「イベント駆動型プログラミング」も採用しており、各サービスが他のサービスのイベントに応答して動作する仕組みだ。
以前はサービス間の通信にメッセージングツール「RabbitMQ」を使用していたが、SaaS(Software as a Service)連携ツール「AWS EventBridge」に置き換えた。Paylocityのアプリケーションの中核システムの一部はまだ移行の途上にある。
APIを利用するリクエストを制御する仕組み「APIゲートウェイ」も刷新した。Nevatechの「Sentinet」からコンテナオーケストレーションツール「Kubernetes」ベースの「KrakenD」に置き換え済みだ。現在はAPIのガバナンス強化に取り組んでいる。
2025年5月、Paylocityのプリンシパルエンジニアを務めるベン・ヘイル氏は、米国Informa TechTargetのインタビューに答え、次のように語った。「アプリケーション業界において、開発プロセスの革新に終わりはない。私たちの当面の目標は、今後数カ月で、APIゲートウェイのモダナイゼーション(最新化)を完了させることだ。鍵となるのが“API設計ファースト”という原則だ」
「具体的には、各サービスのソースコードを記述する前に、『API仕様』(API Specification、API定義とも)を作成するよう社内ルール化した」と、同氏は説明する。
「このためにKrakenDの商用版『KrakenD Enterprise Edition』を導入した。KrakenD Enterprise EditionはAPI仕様として『OpenAPI Specification』(OAS)をインポートできる。API仕様により、APIの構造とセマンティクス(意味)を人間とコンピュータの両方が容易に理解できるようになり、アプリケーションの開発と改良に役立つ。これがAPI設計ファーストであり、わが社のエンジニア1000人にとっては開発手法の大きなシフトだった」。ヘイル氏はそう語る。
「以前のAPIゲートウェイでは、開発チームがソースコードに『APIフック』(APIの動作を操作するプログラム)を埋め込み、そこからAPI仕様を生成していた。APIゲートウェイはそれに基づいてAPIリクエストを制御していた。今はその逆で、最初にAPI仕様を作成する。完成を受けて、初めて開発者はソースコードを書き始めて“よし”となる」(ヘイル氏)
このアプローチにより、Webアプリケーションやモバイルアプリケーションを担当するフロントエンド開発者は、バックエンドエンジニアがAPIを完成させるのを待つことなく、API仕様に基づいてコーディングを開始でき、開発の自由度が高まる。これはマイクロサービスアーキテクチャへの移行にも役立ち、サードパーティーのAIエージェントからのAPIリクエストを管理する基盤ともなる。全てがAPI設計ファーストというわけだ。
API設計ファーストの実現に役立つツール
しかし、API仕様のファイルを頻繁に使用するのは、特定のタイプのAPIリクエストをグループ化して管理する「APIコレクション」での作業に慣れた開発者にとって困難な場合がある。
「データ記述言語『JSON』形式で記述された、6万3000行にも及ぶAPI仕様ファイルを手動で更新するのは楽しい作業ではないし、役立つ管理ツールも少ない。一部のツールは読み取り専用で、インタラクティブ性やコラボレーション機能に欠けている」とへイル氏は語る。
Paylocityは2023年後半にAPI開発ツール「Postman」を採用しており、同社の開発者の大多数はPostmanに慣れている。2025年4月、Postmanに「Spec Hub」機能が実装された。この機能がAPI仕様の更新に役立つとヘイル氏は期待する。
Postmanを提供するPostman社の創設者兼CEOであるアビナブ・アスタナ氏は、Spec Hubについて次のように語っている。「Spec Hubにより、OASのバージョン3.0、もしくはAPI仕様『AsyncAPI』のバージョン2.0を、APIコレクションとシームレスに同期できるようになった。API仕様からAPIコレクションを生成することも、その逆も可能だ」
「さらに、検証、リンティング(構文やスタイルの自動チェック)、ガバナンスルールを組み込んだ。これにより、API仕様が自社のガバナンスに準拠しているかどうかを確認できる」(アスタナ氏)
現在、Paylocityの開発チームは、開発プロセスにSpec Hubをどう組み入れるか、同社のガバナンス担当チームと話し合っているという。
へイル氏は、開発者が考え方を変革する必要性についても次のように言及する。「API仕様について、“触れたくない。ソースコードを書いてAPIを開発すればいい”という考え方から、“チームと協力でき、ソースコード管理ツール『GitHub』に同期でき、コーディングの際の指針となる素晴らしい設計インタフェースだ”という考え方に移行する必要がある。Postmanならそれが可能だと思う」
翻訳・編集協力:雨輝ITラボ(リーフレイン)
Copyright © ITmedia, Inc. All Rights Reserved.