API開発者体験が重要な理由

NGINX | 2022年9月08日

これは、API Connectivity Managerに関する全2回シリーズの第2回です。

APIは、現代のビジネスの中核を担っています。APIは以前からソフトウェア開発で重要な役割を果たしてきましたが、データ統合への需要が高まるにつれ、あらゆる事業部門で導入が広がっています。しかし、APIの役割はデータとアプリケーションを接続するだけではありません。外部のビジネスパートナーとの連携、顧客へのサービス提供、さらにはAPI自体を製品として収益化するうえでも不可欠です。

APIエコノミーの中核を担う開発者は、極めて重要な役割を果たします。APIの構築、統合、保守を担い、APIの作成者であると同時に、技術面での導入者でもあります。こうした開発者の体験は、一般に「API開発者体験」と呼ばれ、API全体の成功を左右する最も重要な要因の1つです。この記事では、API開発者体験の主要な概念と、API体験を計画する際にITリーダーが考慮すべき点について解説します。

  1. API開発者エクスペリエンスとは
  2. API開発者エクスペリエンスが重要なのはなぜですか?
  3. 優れたAPI開発者体験を構築するには?

API開発者エクスペリエンスとは

API開発者エクスペリエンスとは、開発者がAPIを利用する際に抱く全体的な印象や感情を指します。これには、APIをアプリケーションに統合する開発者が快適かつスムーズに作業できるようにする、インフラストラクチャ、ツール、プロセス、サポート、その他のタッチポイントが含まれます。API開発者エクスペリエンスは、開発者エクスペリエンス全体を構成する領域の1つです。

API開発者エクスペリエンスが重要な理由

第1世代の技術革新を牽引したのが、ユーザーエクスペリエンスへの徹底した注力だったとすれば、次世代の成功企業は、開発者エクスペリエンスを重視することで競争を勝ち抜くでしょう。

APIエコノミーが拡大を続ける中、どのAPIが採用されるかについて、開発者の影響力が高まっています。APIが見つけにくい、十分なドキュメントがない、または適切に保守されていない場合、開発者はそのAPIの利用をやめ、よりシンプルで高速な代替手段を選びます。これは、社内APIプログラムにも、パートナーやお客さま向けの外部APIにも同様に当てはまります。

外部APIの場合、開発者がそのAPIの利用をやめると、ビジネスに具体的な影響が生じます。直接顧客からの収益を失うだけでなく、顧客が利用する製品やソリューションから成る、より広範なエコシステムへのアクセスも失うことになります。社内APIプログラムでも、開発者エクスペリエンスが低いと、市場投入までの期間の長期化、開発者の生産性低下、手戻りの増加といった影響が生じ、ビジネスの成功が損なわれる可能性があります。

開発者中心の世界で成功するには、APIライフサイクルの各段階に携わる開発者に適切なツールとリソースを提供するAPI戦略が必要です。その最善の方法は、次の3種類のAPI利用を網羅した、綿密に設計されたエンドツーエンドのAPIエクスペリエンスを開発者に提供することです。

  • APIのデプロイと管理
  • APIの検出とテスト
  • APIの監視とセキュリティ確保

優れたAPI開発者体験を実現するには

優れたエクスペリエンスを実現するには、開発者がAPIをどのように利用し、タスクの完了に何を必要としているか、そしてAPIの利用をどのように感じているかを理解することが重要です。APIを利用するペルソナを定義したら、APIエクスペリエンス全体の計画を開始できます。

API開発者エクスペリエンスを設計する際に考慮すべき原則は、次の4つです。

  1. ユーザーを特定する – APIを利用するのは誰ですか?
  2. 機能を定義 – APIは何をするものですか?
  3. ユーザビリティを最適化 – APIはどの程度使いやすいですか?
  4. エクスペリエンスの向上 – APIの使用感はどうですか?

各原則と、開発者に最適なAPIエクスペリエンスを提供するために必要な要素を見ていきましょう。

API設計の4つの原則(ユーザーの特定、機能の定義、ユーザビリティの最適化、エクスペリエンスの向上)を示す図

ステップ1:ユーザーを特定する

特定の顧客課題に合わせて製品を設計するのと同様に、開発者の懸念に対応できるよう、インフラストラクチャと製品全体にわたるAPIエクスペリエンスを設計する必要があります。開発者は単なる最終利用者ではなく、インフラストラクチャ全体の構築と保守も担います。

API開発者エクスペリエンスを設計する際に考慮すべき主なペルソナは、次の3つです。

  • API利用者 – アプリケーション向けのAPI連携を検出、実装、保守します
  • API所有者 – サービス向けAPIの計画、構築、文書化、テスト、デプロイ、管理を行います
  • インフラストラクチャ管理者 – グローバルポリシーを設定し、セキュリティとコンプライアンスの観点からAPIを監視

さらに考慮すべきユーザーやステークホルダーが存在する場合もあります。たとえば、API利用者というカテゴリーには、社内開発者、パートナー、お客さまなどのサブカテゴリーが含まれ、それぞれ異なるペルソナと要件を持つ可能性があります。

ステップ2:機能を定義する

機能は、優れたAPIの基盤です。優れたAPIにより、開発者は価値あるデータやサービスを統合し、タスクを迅速に完了して、新機能の開発にかかる総時間を短縮できます。主な検討事項は次のとおりです。

  • APIはどのような価値をもたらすか(データやサービスとの統合によって)
  • APIはどの程度効果的に問題を解決できるか(呼び出し回数の削減とデータの構造化によって)
  • APIの信頼性はどの程度ですか(可用性、信頼性、スケーラビリティの観点から)

APIの機能性は、APIファーストの開発アプローチと密接に関係しています。「コードファースト」とは異なり、「APIファースト」では、APIリクエストの構造と返されるデータを重視し、コード開発を始める前にAPI仕様を作成します。これにより、APIは開発者が必要とする価値と機能を一貫して提供できます。

ステップ3:ユーザビリティを最適化

3つ目の原則であるユーザビリティでは、開発者がAPIで何を実現できるかではなく、APIをどのように利用するかに焦点を当てます。これには、APIの検出、学習、テスト、オンボーディングを支援する周辺リソースが含まれます。インフラストラクチャ、ツール、ドキュメントからなる支援エコシステムがなければ、開発者はAPIを利用する際に困難に直面します。重要な検討事項は次のとおりです。

  • 簡単なサインアップ:統合されたシングルサインオン(SSO)と容易なAPIキー管理
  • 明確で充実したドキュメント(最新のリファレンスとコード例を掲載)
  • 短時間でセットアップでき、基本的なAPIリクエストを作成するまでの所要時間は5分未満が理想です

Postmanの「2022年APIの現状レポート」によると、調査回答者が挙げたAPI利用の主な障壁は次のとおりです。

  • ドキュメントの不足(55%)
  • APIの検出が困難(38%)
  • APIに関する基礎知識の不足(30%)

充実したドキュメント、コード例、APIを試すためのツールを備えた一元的な開発者ポータルを活用することで、これらの課題を克服できます。

ステップ4:エクスペリエンスの向上

API開発者エクスペリエンスは、API利用者とAPI所有者の間で行われる一連のやり取りによって形成されます。その基盤となるのはAPIの機能性と使いやすさですが、APIを快適に利用するためには、ほかにもさまざまなやり取りが関係します。たとえば、次のようなものがあります。

  • 活発なコミュニティ:Stack Overflow、Slack、Discord、Twitterなどのチャネルで利用できます。
  • 利用しやすいサポート:開発チームが迅速に対応
  • スムーズなエクスペリエンス:API、ドキュメント、コミュニティを利用する際の

APIを快適に利用できれば、開発者が同僚にそのAPIを推奨し、APIを基盤に新たな機能を構築して、自身のアプリに統合する可能性が高まります。

API開発者体験が重要な理由

優れたAPI開発者エクスペリエンスを実現する鍵は、APIそのものだけでなく、それを取り巻くツール、プロセス、ドキュメント、サポートのエコシステムにもあります。APIエコシステムのすべての要素がシームレスに機能すれば、開発時の障壁や複雑さが軽減され、開発者はアプリケーションの構築に集中できます。

The steps discussed 上記で説明した手順は、API開発者エクスペリエンスを設計、実装、テスト、評価する継続的なプロセスの一部です。ユーザーの特定、機能の定義、ユーザビリティの最適化、エクスペリエンスの向上という主要な各ステップに注力することで、快適に、さらには楽しく利用できるAPIを構築できます。

NGINXはAPI開発者エクスペリエンスをどのように向上させるのか

API Connectivity Managerは、F5 NGINX Management Suiteの一部であり、API開発者のエクスペリエンスを重視して設計されています。API Connectivity Managerを使用すると、インフラストラクチャチームは高性能なAPIゲートウェイと開発者ポータルを導入できます。また、開発者はAPIやドキュメントを迅速に公開・管理したり、APIを検出してアプリケーションに組み込んだりできます。

API Connectivity Managerには、次のようなメリットがあります。

  • 迅速なオンボーディング – ご希望のIDプロバイダーと連携し、開発者ポータルでの認可と認証を効率化
  • シンプルなドキュメント作成 – OpenAPI Specificationを使用すると、API所有者がAPIをAPIゲートウェイに公開する際に、開発者ポータル向けのドキュメントが自動生成されます
  • インタラクティブな学習 – 開発者ポータルに統合されたAPIエクスプローラーを使用して、開発者がAPIを見つけ、テストし、学習できるようにします
  • ワークフローの自動化 – 完全宣言型REST APIを使用して、APIの公開と管理をCI/CDパイプラインに統合

はじめに

Start a API Connectivity ManagerとInstance Managerを含む、NGINX Management Suiteの30日間無料トライアルを開始してください。

関連リソース


共有
タグ: API, F5 NGINX, Tech

著者について

Rajesh Bavanantham
Rajesh Bavananthamプロダクトマネジメント担当ディレクター | NGINX

Rajesh Bavananthamのその他のブログ記事

関連するブログ記事

チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する
NGINX | 2024/01/18

チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する

OpenTelemetryを使用してNGINXサーバーの状態と健全性をより明確に把握することで、問題のトラブルシューティングを行い、Webアプリケーションのパフォーマンスを向上できます。

AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正
NGINX | 2023/05/31

AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正

Akita SoftwareのAPIオブザーバビリティ向け新しいNGINX Plus Certified Moduleを活用して、APIエンドポイントの問題をより迅速に特定し、修正できます。

JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法
NGINX | 2023/02/09

JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法

Red HatのシニアプリンシパルデベロッパーアドボケイトであるDaniel Oh氏が、Javaプロジェクトをゼロから構築するためのひな形を作成し、Kubernetesネイティブアプリケーションとしてビルドする方法を解説します。

F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング
NGINX | 2022/05/24

F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング

NGINXaaS for Azureは、NGINX PlusをAzureネイティブのSaaSとして利用できるサービスです。NGINXの設定を容易にリフト&シフトできるため、クラウド導入とモダンアプリの展開を加速できます。

SELinuxでNGINXおよびNGINX Plusを使用する
NGINX | 2018/08/17

SELinuxでNGINXおよびNGINX Plusを使用する

Red Hat Enterprise Linux(RHEL)および関連ディストリビューションでSecurity-Enhanced Linux(SELinux)を有効にすると、デフォルト設定によりNGINXとNGINX Plusの一部の操作が制限されます。この記事では、すべての機能を利用できるようにSELinuxの設定を変更する方法について説明します。

NGINX PlusによるAWS Auto Scalingグループの負荷分散
NGINX | 2017/03/06

NGINX PlusによるAWS Auto Scalingグループの負荷分散

新しいnginx-asg-sync統合ソフトウェアにより、NGINX PlusはAWS Auto Scalingグループの負荷を直接分散できるため、クラウドでの負荷分散がさらに柔軟になります