Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

API開発健全性 〜 持続可能で高品質なAPIのためのアプローチ 〜

API開発健全性 〜 持続可能で高品質なAPIのためのアプローチ 〜

本セッションではPostmanを活用したAPIの設計、開発、運用プロセス全体における持続可能で高品質な状態を保つためのアプローチをご紹介します。継続的テストとモニタリング、高品質なドキュメンテーションや効率的なチーム開発などを通じた長期的に信頼できるAPIを構築・維持を目指します。開発健全性ミートアップ ~ GitHub × Postman × Atlassian ~での発表資料です。

草薙昭彦

October 22, 2024
Tweet

More Decks by 草薙昭彦

Other Decks in Technology

Transcript

  1. All rights reserved by Postman Inc API 開発健全性 〜 持続可能で高品質な

    API のためのアプローチ 〜 草薙 昭彦 テクノロジーエバンジェリスト #開発健全性
  2. 健全な API 開発って? • API を利用し始めるステップがスムーズ • チームで開発するときに変更が周知されている • 継続的に

    API がテストされ、問題が早い段階で明らかになっている • 運用開始後も API の品質が保たれている @postman_japan
  3. Postman コレクション = 実行可能 API ドキュメント • コレクション は API

    リクエストをグループにして整理した、基本となるデータ構造 • コレクションを一言でいうと、実行可能な API ドキュメント コレクション APIリクエスト テスト サンプル APIリクエスト テスト サンプル APIリクエスト テスト サンプル @postman_japan
  4. API の発見を助ける API ネットワーク @postman_japan プライベート API ネットワーク パブリック API

    ネットワーク • チームメンバーに限定 • チーム内の機能重複の排除 • API 知見やノウハウの共有 • チーム内の API 利用動向の把握 • 多くの利用者・開発者に知ってもらう • 利用者の Time To First Call の短縮 • 利用者からのフィードバックと改善
  5. パブリック API ネットワーク API の発見を助ける API ネットワーク @postman_japan プライベート API

    ネットワーク コレクション パブリックワークスペース コレクション コレクション コレクション パブリックワークスペース コレクション コレクション 世界中の Postman ユーザーがアクセス チームメンバー(社内ユーザー)がアクセス チームワークスペース コレクション コレクション チーム A チーム B
  6. コレクションと API テストスクリプトの関係 テストとは、コレクションに追加する API リクエスト (群) に対するテスト コレクション API

    リクエスト① テスト サンプル API リクエスト② テスト サンプル API リクエスト③ テスト サンプル テストスクリプト 各リクエストのテスト結果 複数リクエストで構成されたシナリオテストも作れる Request ① POST /regist Request ② GET /get Request ③ POST /unregist @postman_japan
  7. 実行 実行結果詳細表示 サマリー結果表示 順番入れ替え可能 実行方法選択 手動 / スケジュール実行 イテレーション数 遅延秒数

    データファイル 指定可能 選択 コレクションメニュー コレクションランナー実行方法設定 @postman_japan コレクションランナーによる自動化 複数リクエストのテストをまとめて実行
  8. モニターで定期的に API の健全性をテスト • コレクションごとにモニターを設定 • テスト実行頻度 ◦ 5 分毎〜設定可能。ただし無料プランは

    1 時間毎〜 • テスト実行リージョン選択 ◦ 複数リージョンからの API テスト実行が可能 • スタティック IP を持つモニター指定 ◦ 要 Professional / Enterpriseプラン • アラート通知設定 ◦ メール通知、or インテグレーション設定 で Slack、 PagerDuty など他チャンネルへの通知も可能 • リトライ、タイムアウトなど設定可能 リクエスト元リージョンの選択 Setup a monitor in Postman https://learning.postman.com/docs/monitoring-your-api/setting-up-monitor/ @postman_japan
  9. オブザーバービリティサービスとの連携 インテグレーション設定により Postman モニターで閾値を越えた失敗数が確認されたら、 外部オブザーバービリティサービスにイベント送信が可能 イベント 送信 PagerDuty Datadog New

    Relic Observe your API performance using monitor integrations https://learning.postman.com/docs/designing-and-developing-your-api/observing-an-api/observing-an-api/ @postman_japan Datadog dashboardイメージ
  10. まとめ • 開発効率の改善と並んで、開発における健全性の維持・向上は、組織や最終プロ ダクトの魅力を引き上げる • Postman は開発者体験を向上させる多くの機能を提供 ◦ オンボーディングの課題には Postman

    コレクション 、認可ガイド ◦ チームコラボレーションの課題にはワークスペース ◦ 開発中の早期の問題解決のために コレクションランナー 、パフォーマンステスト ◦ 運用開始後の問題検出のために API モニタリング @postman_japan
  11. ダウンロードして無料でスタート! https://www.postman.com/downloads/ デスクトップアプリ • Windows • Mac • Linux Web

    アプリ • アカウント登録で同 じ機能をブラウザで も利用できる @postman_japan