Slide 1

Slide 1 text

All rights reserved by Postman Inc APIファーストへの挑戦 APIエコノミーの古今未来と 成功企業が実践するAPI戦略 川崎庸市 テクノロジーエバンジェリスト Presentation slides for オルターブース Alternative Architecture DOJO SP

Slide 2

Slide 2 text

テクノロジーエバンジェリスト Postman株式会社 川崎 庸市 / Yoichi Kawasaki @yokawasa @postman_japan

Slide 3

Slide 3 text

API Application Programming Interface APIはインターフェース Web APIはソフトウェアのWebインターフェース @postman_japan

Slide 4

Slide 4 text

APIエコノミーの古今未来 とAPIファースト企業の台頭

Slide 5

Slide 5 text

APIエコノミー オルタナティブ・ブログ / ITソリューション塾 / 【図解】コレ1枚でわかる APIエコノミー https://blogs.itmedia.co.jp/itsolutionjuku/2022/07/api_3.html “API提供企業は、自社のサービスの提供範囲が広がり、新規顧客が獲得できるようになり、利用料収入も期待できま す。ます。利用企業も魅力的な機能を自前で開発しなくても、すぐに自社サービスに組み込めるようになります。このよう なAPIを相互利用できる関係を「APIエコノミー」と呼んでいますˮ

Slide 6

Slide 6 text

APIエコノミーの検索トレンド グローバルでは2012年7月頃、日本では2016年2月頃から関心を集めているらしい Google TrendsのWebサーチ頻出トレンドキーワード結果 : “API economyˮ & “APIエコノミーˮ 2012.7 2016.2

Slide 7

Slide 7 text

APIのトラフィック量 APIエコノミーは拡大し、 APIがWebコミュニケーションの共通インターフェースとして進化。それに伴い、世界の インターネットトラフィックに占める APIを経由したトラフィックの増加が加速している Landscape of API traffic (cloudflare) https://blog.cloudflare.com/landscape-of-api-traffic/ グローバルネットワークのトラフィックに占めるコンテンツの種類とAPI トラフィックの状態 2021年) API 52% 2021/02 API 54% 2021/12

Slide 8

Slide 8 text

業界全体のAPI APIを取り巻く環境は過去10年間で拡大しており、ここ数年で主流にシフト しています。もちろん、テクノロジーやビジネスサービス分野では依然とし てAPIが主流ですが、金融サービスやヘルスケア分野では爆発的な成長 を遂げています。教育、小売、さらには政府機関など、他の業界も API ゲームに参入しています 2023 State of the API Report by Postman: https://www.postman.com/state-of-api/ テクノロジー ビジネス/ITサービス 銀行/金融/保険

Slide 9

Slide 9 text

APIエコノミー年表 APIエコノミーにおけるビジネスモデルの変化と影響を与えた技術の年表 APIエコノミー夜明け前 APIは企業内・限定的企業間シ ステム連携にのみ ) AWS クラウド提供開始 RESTの提唱 Platformエコノミー形成 Amazon, eBay,Salesforceな ど、APIを公開し3rdパーティ開 発者とのエコシステムを形成 ) APIエコシステムの拡張 Google, FB, Twitter, Salesforce など多くの企業が APIエコシステム を拡大し、外部連携・パートナー シップを通じた収益を拡大 ) APIファースト企業登場 Twilio, StripeなどAPI自体を製品 として外部提供で収益化。使用量 ベースの料金プラン導入 ) Swagger 2.0登場 GraphQLがOSS化 OpenAPI 3.0リリース 2000 API管理Platform普及 Apigee, MuleSoft, Postmanなど) API Marketplace/カタログ サービスの拡大 RapidAPI, API Hub, Postmanなど) API技術の進化・多様化 (gRPC, GraphQL, AsyncAPIなど) 2010 APIマネタイズの多様化 APIのマーケットプレイスを通じて APIを販売し、サブスクリプション、 使用量ベースプラン、など多様な 料金モデルが一般化 ) 2020 ノーコード・ローコード ツール普及 AIとの統合で加速 ) APIエコノミーの拡大加速 (あらゆるものが APIで連携を開始 し、企業DXを支える基盤に ) AIの民主化 スマホ普及でモバイル向 けAPI開発活発化 Facebook API公開

Slide 10

Slide 10 text

Web APIの利用が急増している技術的背景 @postman_japan モバイル デスクトップ 利用者 インフラストラクチャ モノリス マイクロサービス アーキテクチャ オンプレミス クラウド

Slide 11

Slide 11 text

AI - 新しい API の使い手 eコマース ソーシャル ネットワーク クラウド モバイル IoT AI ユーザー: もはや自然言語で指示するだけ サービス提供者: API をちゃんと作らないと AI に使ってもらえない 時間 @postman_japan

Slide 12

Slide 12 text

In The Age Of AI, Everything Is An API AIの文脈では、APIがインテリジェント・システムと、それらがアクセスするサービスとの橋渡しの役割を果 たす… 全てのマジックはAPIを通して起こる (抄訳) APIs act as a kind of lingua franca for different software components, providing a set of rules and protocols for them to communicate. In the AI context, they serve as the bridge between intelligent systems and the services they need to access. This is crucial for enabling “context-awareˮ interactions. Itʼs one thing for a chatbot to claim it can check real-time weather updates; itʼs another for it to actually pull this data from a weather service and present it in a user-friendly manner. This magic happens through APIs. In The Age Of AI, Everything Is An API https://www.forbes.com/sites/forbestechcouncil/2023/09/18/in-the-age-of-ai-everything-is-an-api

Slide 13

Slide 13 text

APIエコノミーが拡大している技術的背景 APIアーキテクチャスタイルの標準化 https://twitter.com/bytebytego/status/1695320821320016286

Slide 14

Slide 14 text

2023年 API アーキテクチャスタイルの利用率 RESTが支配的。ただし 2021年 92%  2023年 86%と徐々に減少傾向。続いて Webhook。SOAP利用率は昨年と比べ 34%  26%と減退、GraphQLがその利用率を抜いた。その後に Websockets、gRPC、MQTTが続く。 REST Webhook GraphQL SOAP Websockets gPRC MQTT AMQP SSE EDI EDA https://www.postman.com/state-of-api/api-technologies Postman 2023 State of the API Report 参考

Slide 15

Slide 15 text

APIエコノミーが拡大している技術的背景 API仕様記述フォーマットの標準化 ● Swagger / OpenAPI Spec OAS: RESTful APIのためのAPI記述形式で、HTTP API機能を人間とコ ンピュータが理解できるようにするためのプログラム言語に依存しない仕様形式 ● これらの登場により、 APIの設計、ドキュメンテーション、テストが一貫して行えるようになった 参考: What is OpenAPI ? https://blog.postman.com/what-is-openapi/ Swagger editor https://editor.swagger.io/

Slide 16

Slide 16 text

2023年 API仕様形式の利用・認知度 JSON Schema、Swagger/OpenAPIの利用が支配的。GraphQLスキーマが次に続く。APIアーキテクチャ利用率との関 連性が高い JSON Schema Swagger 2.0 OpenAPI 3.X GraphQL WSDL AsyncAPI Protobuf Avro API Blueprint RAML RDF/SPARQ Thrift 聞いたことがない 知ってはいるけど 使っていない 使っている 使っている & 気に入ってる https://www.postman.com/state-of-api/api-technologies Postman 2023 State of the API Report 参考

Slide 17

Slide 17 text

APIエコノミーが拡大している技術的背景 セキュリティと認証認可の標準化 ● OAuth 2.0、OpenID Connect(OIDC)、JWT(JSON Web Token)などの認証・認可の標準が確立さ れ、API通信におけるセキュリティが向上 ● これらにより、安全に APIを公開し利用できる環境が整い、企業が積極的に Web APIを公開・利用するよ うになっている OpenID Connect概要 OpenID Foundation Japan) https://www.slideshare.net/slideshow/openid-connect-intro-september-2013/27051056 OAuth2.0とは? ウェブサイトまたはアプリケーションが、 ユーザーに代わって他のウェブアプリがホストして いるリソースに、アクセスできるよう設計された基 準。現在、事実上、オンライン認可の業界基準 https://auth0.com/jp/intro-to-iam/what-is-oauth-2 RFC6749  OAuth 2.0 Auth framework: https://www.rfc-editor.org/rfc/rfc6749

Slide 18

Slide 18 text

アーキテクチャートレンド - ヘッドレスAPI化 フロントエンドはバックエンドと分離されAPIを通じてデータを取得し、柔軟にUI構築が可能 MACH Microservices-based, API-first, Cloud-native SaaS, Headless Jamstack JavaScript, APIs Markup Composable What is MACH Architecture? https://www.sunriseintegration.com/learn/what-is-mach -architecture How do composable, headless and MACH compare? The key differences explained https://commercetools.com/blog/how-do-composa ble-headless-and-mach-compare-the-key-differen ces-explained https://www.lifeintech.com/2017/12/20/jamstack/

Slide 19

Slide 19 text

APIファースト企業 The Third-Party API Economy. How to Give Your Users Superpowers by Grace Isford https://gisford.medium.com/the-third-party-api-economy-891b2a774fa5

Slide 20

Slide 20 text

APIファースト企業は The best API-first companies give their users “superpowersˮ that they wouldnʼt have otherwise. The Third-Party API Economy. How to Give Your Users Superpowers by Grace Isford https://gisford.medium.com/the-third-party-api-economy-891b2a774fa5 APIファースト企業は他では得られないような スーパーパワーを提供 ● 複雑なものをシンプルに提供 (それが使われていることさえ気づかせない) ● 地殻変動を利用 (スマホの登場→ 非接触型決済の爆発) ● ビジネスクリティカルな機能を提供 (Stripe のオンライン支払、ShopifyのEC機能、Plaid の銀行接続、Twilio のメッセージング)

Slide 21

Slide 21 text

XaaSの広がり さまざまなビジネス機能をサービスとしてAPIを通じて利用者に公開 aPaaS Application) Heroku、OutSystems AIaaS AI Azure AI services, Google AI CPaaS Communication) Twilio, Vonage IDaaS Identity) Okta, Auth0, EntraID iPaaS Integration) MuleSoft, Zapier, Warkato BaaS Backend) Firebase, AWS Amplify

Slide 22

Slide 22 text

APIファースト企業 - Stripe ● 数百万社以上の企業が、 Stripe を利用してオンライン 決済、財務・金融プロセス自動化 ● わずかなコードで、利用者は複雑な決済機能を実現可 能 https://stripe.com/jp https://docs.stripe.com/checkout/quickstart

Slide 23

Slide 23 text

APIエコノミー成功企業 - Uber 決済体験の向上とコスト削減を目指し、 Stripe と Uber がパートナーシップを拡大 https://stripe.com/jp/newsroom/news/stripe-and-uber Uber 通話 API 決済 API マップ API

Slide 24

Slide 24 text

Web APIはソフトウェアのビルディングブロック ビルディングブロックとは、ソフトウェア開発において基本となる概念で、特定の機能を 持つ再利用可能なコンポーネントやモジュールのこと。Web APIはまさに現代のビル ディングブロックであり、これらを活用し効率的に組み合わせることで、開発時間の短縮 とプロセスの単純化、全体の生産性向上が望める @postman_japan Interface Business Logic Database 各サービス

Slide 25

Slide 25 text

コンピューターの歴史は抽象化の歴史 @postman_japan 1 2 3 4 「API ファーストの世界」より https://www.api-first-world.com/ja/ 抽象化の歴史とAPI

Slide 26

Slide 26 text

あらゆるものがAPIを通じて連携していく世界 オルタナティブ・ブログ / ITソリューション塾 / 【図解】コレ1枚でわかる APIエコノミー https://blogs.itmedia.co.jp/itsolutionjuku/2022/07/api_3.html

Slide 27

Slide 27 text

APIエコノミー年表 - この先 APIエコシステムの拡張 Google, FB, Twitter, Salesforce など多くの企業が APIエコシステム を拡大し、外部連携・パートナー シップを通じた収益を拡大 ) Swagger 2.0登場 GraphQLがOSS化 OpenAPI 3.0リリース API管理Platform普及 Apigee, MuleSoft, Postmanなど) API Marketplace/カタログ サービスの拡大 RapidAPI, API Hub, Postmanなど) API技術の進化・多様化 (gRPC, GraphQL, AsyncAPIなど) APIマネタイズの多様化 APIのマーケットプレイスを通じて APIを販売し、サブスクリプション、 使用量ベースプラン、など多様な 料金モデルが一般化 ) 2020 ノーコード・ローコード ツール普及 AIとの統合で加速 ) APIエコノミーの拡大加速 (あらゆるものが APIで連携を開始 し、企業DXを支える基盤に ) AIの民主化 ソフトウェアコンポーネントの Webインターフェース としてのAPI より一層、抽象化と標準化が進 みあらゆるものがAPIで連携し ていく

Slide 28

Slide 28 text

低い日本のAPIの認知・公開状況 少し古いが、平成30年版 情報通信白書 によると 平成30年版 情報通信白書 https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h30/html/nd133110.html

Slide 29

Slide 29 text

APIファースト API時代の正しい作り方

Slide 30

Slide 30 text

良いAPIとは? Good APIs tend to offer clarity (of purpose, design, and context), flexibility (ability to be adapted to different use cases), power (completeness of the solution offered), hackability (ability to pick up quickly through iteration and experimentation), and documentation. In a book - Designing Web APIs - building that developers love by Chris Messina, developer experience lead at Uber (意訳) 通常、良いAPIは、目的・設計・文脈が明確であり、 柔軟性があり、提供されるソリューションに完全性があり、 すぐに理解できて、ドキュメントが提供されています。

Slide 31

Slide 31 text

API開発にまつわるさまざまな課題 ● UI / UX ○ 利用者ニーズ、シナリオにマッチしない ○ 再利用性 / 汎用性がない ● セキュリティ ○ 十分な認証・認可、セキュリティ対策がされていない ● スケーラビリティ、パフォーマンス ○ パフォーマンスや拡張性がない ● バージョン管理 ○ バージョン管理が不十分、互換性が維持されない ● ドキュメンテーション ○ ドキュメントが分かりづらい、古い、存在しない、見つからない ● エラーハンドリング ○ 適切なエラーハンドリングがされていない、信頼性が低い ● API設計のベストプラクティス ○ API標準化仕様がサポートされていない、再利用性 / 汎用性がない ● テスト ○ API品質確保のための十分なテストがされていない。また、継続的にテストされていない

Slide 32

Slide 32 text

2023 State of the API Report https://www.postman.com/state-of-api/executing-on-apis/#obstacles-to-consuming-apis #1 ドキュメント不足 52% #2 APIの発見が困難 32% #3 時間がない28% #4 知識不足26% #5 予算不足23% #6 人員不足22% #7 APIの再利用が困難 19% API利用における障壁

Slide 33

Slide 33 text

APIドキュメンテーションの課題 ● 開発者体験が低いフォーマット ○ 独自形式、機械が読めない、相互運用性がない・・・ ● 不十分な説明 ○ 機能説明、認証認可方式、クイックスタートがない ● 一貫性のない命名規則、フォーマット ○ 命名規則が一貫していないため、混乱を招く ● エラーハンドリングの欠如 ○ エラーメッセージ、ステータスコードの説明 ● アップデート ○ 古い情報、更新されていない情報 ● 不十分な使用例 / サンプル ○ どのように利用すればいいか分からない @postman_japan

Slide 34

Slide 34 text

品質担保のためには質の高いテストが必要 E2E Integration API Unit コスト 実行時間 不確実要素 テスト数 テストのピラミッド ● UIテスト ● E2Eテスト ● リグレッションテスト ● スモークテスト ● インテグレーションテスト ● コントラクトテスト ● コンポーネントテスト ● ユニットテスト ● セキュリティテスト ● ユーザビリティテスト ● パフォーマンステスト 機能要件テスト 非機能要件テスト

Slide 35

Slide 35 text

組織開発における課題 ● コミュニケーションとコラボレーション ○ チーム間コミュニケーションや連携の不足や誤解 ○ 作業の重複、一貫性のない作業プロセスやアウトプット ● セキュリティとガバナンス ○ APIセキュリティポリシー、ガバナンスポリシーの策定と遵守 ● プロジェクト管理 ○ 並行開発における複雑化するスケジュール管理、リソース配分、進捗管理、依存管理 ● 標準化と一貫性 ○ 難易度が高いAPI設計、コーディングスタイル、ガイドラインの標準化 ● テストと品質保証 ○ 包括的なテスト計画と自動化テストの導入、それらの継続的な実施 ● ドキュメント整備 ○ 関係者向けのドキュメントの整備、公開、それらの継続的な更新 @postman_japan

Slide 36

Slide 36 text

APIファースト企業が追求する Good APIs特性 Good APIs特性 開発者体験がよいインターフェース 優れたTTFC体験 発見しやすい 持続性・継続性がある 高い信頼性がある

Slide 37

Slide 37 text

Time to First Call TTFC どれだけ短時間でAPIの初回呼び出しができるかを表すメトリクス。API提供者はTTFC を分析しAPIを改善し、その短縮を目指す ● Web分析やユーザーフィードバックにより測定 ○ Web分析計測:発見時点 Web サイトへの訪問、サインアップなど) から最初のAPI 呼び出しまでの時間差 ● メトリクス分析からの洞察 ○ 開発者が閲覧からサインアップまでに費やす時間が長い場合 → Webサイトやドキュメントの品質に起因する可能性 が考えられる ○ サインアップから最初の API 呼び出しまでの時間が長い場合 → ガイドページの有効性や製品の使いやすさに起因 する可能性が考えられる APIの開発者体験を左右する「 Time To First Call」とは? Postmanで実現する APIファーストな開発 https://codezine.jp/article/detail/20087

Slide 38

Slide 38 text

APIファースト企業が追求する Good APIs特性 Good APIs特性 開発者体験がよいインターフェース 優れたTTFC体験 発見しやすい 持続性・継続性がある 高い信頼性がある APIファースト開発 ドキュメント、サンプル 開発者ポータル、サンドボックス環境 APIカタログ、マーケットプレイス ライフサイクル全般にわたる API管理 フィードバックループ APIセキュリティ・ガバナンス コラボレーションしやすい環境・組織体制

Slide 39

Slide 39 text

APIファーストの世界 https://api-first-world.com/ja/

Slide 40

Slide 40 text

APIはプロダクト API as a Product) ● APIをプロダクトとしてAPI中心で考える ○ APIは主要ソフトウェア構成要素、主要ビジネスアセット ○ APIがビジネスにもたらす価値に焦点を当てる ○ 内外サービスをAPIを通じて活用しビルディングブロックで構築 ● APIファースト採用のために必要な取り組み ○ APIライフサイクル全体で取り組む ○ APIの継続的な保守・運用のためのチーム体制を構築する @postman_japan APIファーストの世界 https://api-first-world.com/ja/

Slide 41

Slide 41 text

APIファースト開発モデル ● 焦点はAPIの設計(システムの抽象的な「契約」) ● コードを書く前にAPIを設計・構築し、モック、ドキュメント、テストも作成 ● 設計フェーズでフィードバックループを通じて設計内容を洗練化 API-first software development for modern organizations  https://medium.com/better-practices/api-first-software-development-for-modern-organizations-fdbfba9a66d3 API設計 テスト APIドキュメント 作成 モック作成 実装 コーディング 統合 テスト実行 監視実行 サーバー環境 Dev Stage Prod モック活用 テスト ドキュメント 活用 コードリポジトリ モックを元にレビューや フィードバックを受け 設計内容を洗練させる check-in デプロイ エンドポイント にテスト API開発環境 @postman_japan

Slide 42

Slide 42 text

開発者体験が良いWeb API設計 代表的なAPI設計指針 ● ユーザーファースト ○ API設計をユーザーの視点から行う ● RESTful原則の遵守 ○ リソース、エンドポイント、 HTTPメソッドなど ● エラーハンドリング ○ エラーハンドリングの仕組み、一貫性のあるエラーコードやメッセージ、適切なス テータスコード ● バージョニング ○ しっかりバージョン管理、互換性を維持 ● セキュリティ ○ 適切な認証・認可メカニズムの導入やデータの暗号化、など ● 性能と拡張性 ○ リクエストとレスポンス最適化、キャッシング戦略、など ● クリアなAPI仕様とそのドキュメント ● Vinay Sahni Enchant Co-Founder): Best Practices for a Pragmatic RESTful API ● Zalando: Zalando RESTful APIガイドライン ● Microsoft: RESTful Web API の設計

Slide 43

Slide 43 text

インターフェースの抽象化とデザイン APIはレゴブロックに似ている。利用者のニーズに基づいて、抽象化され分解された機 能がブロックとして提供されることが望ましい。そして、利用者のユースケースは、そのブ ロックを組み合わせて開発されるのが理想 UML Sequence Diagrams: An Agile Introduction - Seminar use case https://agilemodeling.com/artifacts/sequencediagram.htm

Slide 44

Slide 44 text

ライフサイクル全般にわたるAPI管理の取り組み 定義 設計 開発 テスト セキュリティ デプロイ 監視・観測 ビジネス システム Security ・・・ ドキュメント コード管理 システム設定 モック API Contracts (スキーマ) APIサーバー 開発 API Gateway 開発 トラフィック キャプチャ セキュリティ テスト 要件 Postman コレクション generate パフォーマンス テスト Contracts テスト E2E テスト ソースコード 成果物 commit 自動テスト APIサーバー Build/Deploy API Gateway Build/Deploy CI/CD ・・・ 配布 モニター アラート APM レポート APIカタログ API 開発ポータル trigger integration trigger ユーザー フィードバック Feedback loop UIテスト Stub generate Postmanを活用したAPI開発ライフサイクルにおける各ステージの施策例

Slide 45

Slide 45 text

優れたドキュメンテーション体験 Freee APIドキュメント - https://developer.freee.co.jp/reference Stripe APIクイックスタート https://docs.stripe.com/payments/quickstart?client=react&lang=node

Slide 46

Slide 46 text

APIカタログ Postman APIネットワーク https://www.postman.com/explore

Slide 47

Slide 47 text

APIセキュリティとガバナンス ● ライフサイクルで一貫したセキュリティやガバナンス対策の実施 ● できるだけ早い段階から (シフトレフト) + 継続的に実施 APIセキュリティ API が組織が設定したセキュリティルールに従ってい るか確認・管理する。APIスキーマやレスポンスなどを チェックして開発者にセキュリティガイドラインを提供。 後回しにできない作業。 APIガバナンス API が組織が設定した標準ルールに従って設計、構 築、テスト、配布されることを管理・保証すること。全て のAPIにわたり品質、一貫性、セキュリティ、コンプラ イアンスを目指す。 Define Design Develop Test Deploy Observe Distribute check check check check check 後ろのフェーズになればなるほど改修コストが大きい What's changed in the Top 10 for 2021 in OWASP TOP10 https://owasp.org/Top10/

Slide 48

Slide 48 text

PostmanはAPIファースト開発の実践を サポートするAPIプラットフォーム ● APIライフサイクルの管理 ● APIガバナンスの策定・実施 ● コラボレーションの促進 What is an API platform? https://www.postman.com/api-platform/ API利用者と提供者に対して次のことを支援:

Slide 49

Slide 49 text

まとめ

Slide 50

Slide 50 text

● APIエコノミーは成熟し、あらゆるものがAPIを通じて連携をする時代へ。それを 牽引するのは数行のコードでスーパーパワーを提供するAPIファースト企業 ● 今後のAPIエコノミーの成功の鍵は、良質なGood APIsとそれを利活用する利用 者のビルディングブロックのマインドセット ● API提供者にとっては成功企業が実践するAPIファースト戦略が参考になる @postman_japan Let's boost the API economy!!

Slide 51

Slide 51 text

宣伝

Slide 52

Slide 52 text

Postmanイベント Postman API Night(勉強会)&ワークショップ https://postman.connpass.com/ Please Follow us - Postman イベント情報 Postman Japan X https://twitter.com/postman_japan

Slide 53

Slide 53 text

ご清聴いただき、ありがとうございました。 @postman_japan