PostmanのAPIファーストな世界の都市風景。イラスト。

APIファーストガイド

API(Application Programming Interface)は、現代のコンピューター技術の黎明期から存在しています。数十年前、異なるソフトウェアアプリケーション間で通信を可能にする手段として登場し、現在に至るまでその役割を担い続けています。私たちのコンピューター、スマートフォン、スマートデバイスが互いに接続される際、APIは目に見えない形でバックグラウンドで動作し、これらの接続を支えています。

しかし、APIは単なるインターフェースという役割を超えて進化してきました。過去10年間で、APIは現代のソフトウェアとビジネスの構成要素へと変貌を遂げました。Amazon.comやNetflixのようなテクノロジー先駆者はもちろん、100年以上の歴史を持つ食品チェーンや連邦政府機関に至るまで、あらゆる組織が、外部向けの新たなサービス提供や社内の業務効率化のためにAPIを活用しています。

API の成長は、テクノロジー利用者の新たなニーズを反映しています。ユーザーは、複数のデバイスを横断する統一されたエクスペリエンスを求めています。彼らは、自分のデータやサービスが即座に利用可能であり、プラットフォーム間でシームレスに共有されることを期待しているのです。つまり、社外の顧客向けであれ社内の従業員向けであれ、すべての企業は本質的に「ソフトウェア企業」であるという現実が浮き彫りになっています。


APIファーストとは?

APIファースト(APIファーストアプローチとも呼ばれます)とは、ソフトウェア開発プロセスの初期段階でAPIを優先し、APIをソフトウェアの構成要素として位置づける考え方です。APIファーストの組織では、APIを後回しにするのではなく、他のコードを書く前にAPIを開発します。これにより、チームはAPIを通じて提供される社内外のサービスを活用してアプリケーションを構築できるようになります。

APIファースト企業とは、APIファーストの開発モデルを採用している組織のことです。

APIファーストのしくみ?

組織が APIファーストの開発モデルを採用するには、APIを優先事項として位置づけ、パブリックAPI、プライベートAPI、パートナーAPI が組織内で果たす役割を理解する必要があります。また、APIライフサイクルや、APIファーストの実現に必要なツール群についても把握しておくことが求められます。

APIファーストアプローチ:APIを優先する

先見性のある企業は、ソフトウェア開発において APIファーストのアプローチを採用しています。開発者はコードを書き始める前に、まずビジネス部門と協力してAPIを設計や構築します。これにより、基盤となるアプリケーションが社内外のアプリケーションとシームレスに接続できるようになります。結果として、アプリケーションの機能が拡張され、パートナーやエンドユーザーにも利用可能になります。

APIファーストであるということは、単一のアプリケーションを急いで提供し、後からAPIを作るのではなく、アプリケーションをサポートするAPIを優先し、ビジネスに提供できる価値に重点を置くことを意味します。この先進的なアプローチにより、APIを介して、アプリケーションをビジネスのさまざまな部門で複数の用途に採用できるようになります。

APIは一度作って終わりのプロジェクトではありません。APIは継続的な維持と改善が求められる、重要な構成要素です。企業はこの点を認識し、それを支えるための専門チームを構築しています。

プライベートAPI、パートナーAPI、パブリックAPI

APIと聞いて多くの人が最初に思い浮かべるのは、eBayやStripeなどの企業が提供するパブリックAPIでしょう。こうしたAPIは、何百万もの中小企業の成長を支援し、数千億ドル規模の強力なテクノロジープラットフォームを生み出してきました。

しかし、ソフトウェア開発者が最も力を注いでいるのは、プライベート(内部)API です。Postmanが37,000人以上のAPI専門家を対象に実施した2022年の『State of the API report』レポートによると、開発者が扱うAPIの58%は社内利用専用です。

プライベートAPIにより、多くがクラウド上に保存されているさまざまなアプリケーションが、データやサービスを相互に共有し、実用的なインサイトを提供できるようになります。こうした処理の多くは自動で行われるため、組織内のあらゆる階層の従業員が情報にアクセスできるようになります。

一度構築されたプライベートAPIは、組織全体で再利用できるため、配信スピードを高めるとともに、貴重な開発リソースの節約にもつながります。

組織のニーズが拡大し、ビジネスパートナーとの連携が求められるようになると、パートナー APIの出番です。パートナーAPIを使用すれば、組織は特定のユーザーや顧客とAPIを共有でき、コラボレーションやビジネス提携の促進、ターゲットを絞ったフィードバックの収集が可能になります。『State of the API』レポートによれば、パートナーAPIは組織が保有するAPI全体の27%を占めています。

『State of the API』レポートによると、パブリックAPI(ウェブ上ですべての人に公開されているAPI)は、組織のAPIの約15%を占めています。

では、企業はAPIにどれほどの労力を投じているのでしょうか?開発者の51%が、所属組織の開発作業のうち半分以上がAPIに費やされていると回答しています。

APIライフサイクル

明確に定義されたAPIライフサイクルは、APIプラットフォーム上での運用を最大限に活用し、複数のチームにまたがって数百または数千のAPIを効果的に管理するために不可欠です。

組織全体でAPIライフサイクルについて共通の理解を持ち、それを説明するための共通の用語を持つことが、開発チームの生産性、品質、そしてガバナンスを向上させ、企業の推進力となります。

Postmanのグローバルユーザー間で最も一般的なステップに基づいて、APIライフサイクルを8つのステージに分けました。APIの種類や新規か既存かによって、チームはライフサイクルの異なるエントリーポイントを持つ場合があります。

APIプラットフォーム

APIプラットフォームは、提供者と利用者がAPIを構築、管理、公開、利用できるように、ツールとプロセスが統合されたソフトウェアシステムです。APIファーストを実現するための鍵となる存在であり、以下の4つの主要な構成要素があります。

APIクライアントAPI設計とモック機能、APIテストと自動化、APIドキュメント、APIモニタリングを含むAPIライフサイクル用ツール

APIカタログやAPIワークスペースなど、API提供者と利用者のコラボレーション機能

APIセキュリティやオブザーバビリティなど、運用、アーキテクチャ、セキュリティチーム向けのガバナンス機能

ソースコード管理、CI/CD、クラウド/オンプレミスインフラストラクチャ、アプリケーションパフォーマンス管理などのソフトウェア開発ライフサイクルとの連携


なぜAPIファーストなのか?

APIファーストの開発モデルを採用することで、開発者にも組織にも多大なメリットがもたらされます。

開発者にとってのAPIファーストの価値

APIファーストアプローチは、より強力で回復力のあるソフトウェアを短時間で生み出します。これにより、開発者の仕事が楽になり、並行して作業できるようになり、他の人のコードのデバッグに費やす時間が短縮されます。

開発者は、既存のソフトウェアを作り直すのではなく、イノベーションに集中することができます。また、APIにより、開発者は使いたいテクノロジー、プラットフォーム、プログラミング言語を選ぶことができます。

最終的に、APIファーストを採用している企業の開発者はより高い満足度を得ています。私たちの『State of the API』調査では、回答者の少なくとも75%が次の点に同意しています。APIファースト企業の開発者は、より満足度が高く、新製品をより早くリリースし、セキュリティリスクをより早く排除し、より優れたソフトウェアを作成し、生産性が高い点です。

APIファーストにより、開発者以外のユーザーもアプリを構築できるようになります。『State of the API』レポートによると、APIに携わる人の約半数は、ビジネスアナリスト、プロダクトマネージャー、CEOなどの職務に就いています。この傾向は、利用可能なサービスやソフトウェアの世界を大きく広げています。

APIプラットフォームが進化するにつれて、コードの知識がなくても、一般的なアプリを構築し、テストや連携を実施し、データを転送できるようになるでしょう。


ビジネスにとってのAPIファーストの価値

APIが現代のソフトウェアの構成要素となる中、APIファーストのアプローチを採用する利点 は数多くあります。これは特にエンタープライズ企業に当てはまります。APIファーストがもたらす利点をいくつか紹介しましょう。

開発者の生産性向上

組織がAPIファースト開発モデルを採用すると、開発者とプロダクトチームは、APIライフサイクル全体を通じた迅速な連携によって生産性を向上させることができます。このアプローチでは、開発者はAPI作業が集中管理される明確なワークスペースを確立し、成果物、ドキュメント、モックサーバー、環境、テスト、モニター、履歴など、チームメンバーに必要なすべてを保持できるようになります。こうした環境の中で、APIやマイクロサービスの設計、開発、デプロイ、運用を最適化する再現性のあるプロセスが整備されます。

ソフトウェア品質の向上

開発者にとってのAPIファーストの価値は、開発者がより短時間でより強力で回復力のあるソフトウェアを開発できるようになることであり、品質の向上に直接つながります。APIファーストのアプローチにより、バグは本番環境に到達する前に検出・修正され、品質エンジニアが問題をより早く発見し、セキュリティエンジニアが協力してより早く強固なセキュリティを実現できます。その結果、運用、品質、セキュリティエンジニアは早期段階から連携し、強固なセキュリティ体制を確立できます。また、これらの基盤チームが開発チームと直接・効果的に連携できる体制が整います。

コンプライアンスとガバナンスの簡素化

アーキテクトは、プライベートAPIネットワークを活用することで、APIの全体像(ランドスケープ)を一貫性をもって整理・管理することができ、設計段階や開発段階においてガバナンスや設計に関するルールを導入できます。

APIファーストのアプローチでは、発見のしやすさとオブザーバビリティ(可観測性)が標準機能として組み込まれているため、規制要件や問い合わせへの対応に伴う手間を減らすことができます。

APIファーストにより、業務全体を見通せるようになり、API設計においてどこに一貫性があるか、または欠けているかを明確に把握できます。APIガバナンスとは、複雑な企業システムの現状を正しく理解したうえで、必要な変更を主導し、望ましい方向へと組織を導くための管理力と影響力を備えることです。

堅固なAPIセキュリティ境界の提供

APIファーストのアプローチによって築かれるセキュリティの境界は、従来のファイアウォールや一般的なアプリケーションセキュリティ対策に比べ、より高い効果を発揮します。すべてのAPIとマイクロサービスには、セキュリティ専門チームが定義したルールセット(セキュリティコレクション)が設定されており、これが開発の各プロセスにおいて適切に組み込まれます。

どれほど小規模なAPIであっても、デプロイや更新のたびに最低限のセキュリティチェックが実施されます。利用目的や期間にかかわらず、全てのAPIに対して一貫したセキュリティ基準が適用されるのです。

競争優位としてのAPIファースト

さまざまな業界の企業が、APIの重要性に気づき始めています。しかし現在、世界のビジネスをリードし、そのあり方を形づくっているのは、いち早くAPIファーストを採用した企業です。

APIファーストのアプローチを、APIプラットフォームと組み合わせて導入することで、その効果は一層高まります。もはや「APIを活用するかどうか」が論点なのではなく、「自社がAPIファーストであるかどうか」が問われているのです。


あなたはAPIファースト企業ですか?

APIファースト企業であるかどうかは、次の問いにすべて「はい」と答えられるかで判断できます。

  • 自社の主要なデータを操作するためのAPIがありますか?
  • 顧客やパートナーにAPIを提供していますか?
  • APIを整理し、見つけやすくする方法を理解していますか?
  • APIを構築するための標準的なプロセスがありますか?
  • APIは規制要件を満たしていますか?
  • APIのセキュリティ境界に存在するリスクを理解していますか?

これらすべてに「はい」と答えられなかった場合は、APIファーストを目指すために、この先をお読みください。


APIファーストになるための5つのステップ

APIファースト企業になるための第一歩として、以下の5つのステップをおすすめします。

  1. APIの一覧表を作る:自社が保有しているデータベース、アプリケーション、サービスを洗い出し、どのくらいのAPIが存在するのか、また不足している箇所がどこかを正確に把握しましょう。その際、ツールやサービスの名称だけでなく、「何をするものか」「誰が使っているか」といった情報も含めた詳細なリストを作成することが重要です。この詳細な一覧は、APIファーストへの取り組みにとって非常に価値のあるものとなります。
  2. APIの開発体制とプロセスを把握する:自社のAPI開発の現状を見直し、どこに標準的なプロセスが存在し、どこに欠けているかを明らかにしましょう。標準プロセスが存在しない部分が見つかったら、各チームにガイドラインの整備を促すことで、開発の一貫性と品質を高めることができます。
  3. 業務とAPIの境界を定義する:ビジネスの領域(ドメイン)の境界線を明確にし、それに自社の組織構造を対応づけて整理しましょう。この作業によって、組織の構造に重複や抜けがないかを可視化でき、チーム間の連携やコミュニケーションの改善にもつながります。
  4. APIプラットフォームを導入する:APIプラットフォームを導入し、それが既存のツールやテクノロジーとスムーズに統合できるようにしましょう。そうすることで、チームの移行もより円滑に進みます。
  5. APIファーストに関する社内トレーニングを実施する:エンジニアリング、DevOps、プロダクトマネジメントの各チームに対して、APIファーストに関するトレーニングを行いましょう。ワークショップや資料の提供、さらに社内メンター制度なども取り入れると効果的です。継続的な学習の仕組みを用意することで、チームは常に最新のベストプラクティスに対応できるようになります。

APIファーストに関連するその他の一般的な比較

APIファースト vs API設計ファースト

APIファーストは、開発プロセスの最初にAPIを優先し、それをソフトウェアの構成要素として位置づける考え方です。これにより、チームはAPIを通じて提供される社内外のサービスを使って、柔軟にアプリケーションを構築することができます。一方、API設計ファーストは、APIファーストの方針を支える開発モデルです。この手法では、APIの実装前に、ビジネスの関係者(ステークホルダー)全体から意見を取り入れてAPIを設計します。その結果、人間にも機械にも読みやすいコントラクトが生成され、より優れた開発者体験が実現します。

APIファースト vs コードファースト

APIファーストでは、開発者はコードを書く前に、ビジネス側の関係者と連携してAPIを設計・構築します。これにより、アプリケーションは社内外のサービスとスムーズに連携できるようになります。一方、コードファーストでは、アプリケーション全体のプロトタイプを先に作り、時間をかけて形にしていくアプローチを取ります。APIの設計は後回しになることが多く、結果として別途設計をやり直す必要が生じます。この方法は、アプリ全体のアイデアを試作するには向いていますが、設計上の課題を抱えたまま使い続けられるケースも少なくなく、開発者体験が劣る結果を招くこともあります。APIファーストは、最初の段階からしっかりとした設計原則を取り入れることを前提としており、それが後々の拡張性・保守性にも大きく影響します。


APIファーストへの道筋を探る

APIファーストのアプローチを取ることで、開発チームの負担が軽減されるだけでなく、組織全体としても時間とコストを大幅に節約できます。ただし、APIファーストに至るルートは一つではありません。自社にとって最適な方法はどれなのか?ここでは、代表的なアプローチをご紹介します。

設計主導

多くのチームにとって、この方法はAPIファーストの取り組みを開始する際の指標となります。API設計ファーストとは、コードを書いたり本番環境にリリースしたりする前に、関係者が協力しながらAPIを設計するアプローチです。

コード主導

APIを利用するアプリケーションのコードを書く前に、まずAPIそのもののコーディングを優先します。

プロトタイプ主導

まずコレクションを使ってAPIを開発・モック・文書化し、その後OpenAPI定義を生成するアプローチです。また、既存のAPIをプロキシやPostman Interceptorでリバースエンジニアリングし、コレクションを生成してからOpenAPIを作成する方法も一般的に使われています。

プロキシ主導

既存のAPIをプロキシやPostman Interceptorを介して実行し、その実際の通信トラフィックからコレクションを生成する方法です。

コレクション主導

既存のAPIに対して、手作業でPostmanコレクションを作成し、それをもとにOpenAPI定義を生成します。

APIファースト変革がここに

Kin Lane氏の著書「The API-First Transformation」は、ビジネスリーダーにAPIファースト戦略の策定方法、適切なテクノロジーの組み立て方、ソリューションの実用化方法を示しています。

デスクトップ上に開かれたグラフィックノベル(コミックのコマが表示されている)。写真。
POST/CON 2024 Banner

イベントレポート:APIとAI開発者のための新時代

エージェンティックAI時代において、トップ開発者たちがいかにより賢く、迅速で、セキュアなAPIを構築しているかをご覧ください。ロサンゼルスでの2日間にわたるイノベーションから生まれた洞察、戦略、プロダクト発表をお届けします。

Photo of Postman CEO Abhinav Asthana on stage at POST/CON 25