Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KongによるAPIライフサイクル マネジメント

hashi
October 15, 2024

KongによるAPIライフサイクル マネジメント

Postman API Night Tokyo 2024 Fall (登壇資料)

API Firstというゴールに向けて、APIライフサイクルマネジメントはどうあるべきか?本セッションではKongのアプローチと、特にAPIOpsと呼ばれるAPI Specと実際のトラフィックを結び付けるパイプラインアプローチについてご紹介します。

hashi

October 15, 2024
Tweet

More Decks by hashi

Other Decks in Technology

Transcript

  1. © Kong Inc. 3 APIの拡⼤ = 運⽤への⼤きなチャレンジ NETWORK TRAFFIC L4/L7

    FUTURE 2002 WE’RE ONLY HERE ! 2024 APIS AND MICROSERVICES
  2. © Kong Inc. 4 2002 Future API Firstに向けて - 競争優位としてのAPIエコシステム

    “各サービスがコントラクト (API) を明確に定義する事から初め、 APIを提供者と利⽤者を繋ぐ重要な接点として捉え、 APIを⼀級成果物のひとつとして扱う。” - サービスの役割が明確化され、資産とし て扱われる。 - 利⽤者のニーズを前提としたサービスと して継続的に改善される。 - 全てのサービスが標準的な⽅法でアクセ ス/利⽤できる。 - 全てのサービスが提供価値という明確な ビジネスバリューで評価できる。
  3. © Kong Inc. 5 多様化/複雑化を受け⼊れ、加速する。 NEAR FUTURE N FU High

    Latency Unreliable Connectivity Traffic Anomaly Blocked Access Con - 全てのサービスが、利⽤者のニーズを吸収しながら 絶えず改善/変化する。 - ⽇々サービスが⽣まれ、時として引退し、API エコシステムに新陳代謝が⽣まれる。 - 異なるユースケース、異なるプロトコル、 異なる要件を持つ利⽤者の幅が広がる。 - APIエコシステムにおける社内と 社外の境界が希薄になる。 - サービス間の関係性が複雑化し、 ガバナンス対象が無制限に広がる。 複雑化を続けるトラフィック網の中で、 これらを絶えず意識し、継続的に改善する。
  4. © Kong Inc. 全てのAPIを管理する ことが困難に… 全てのAPIは新たな 攻撃の対象に… APIのデータ処理が クリティカルに 全てのAPIは異なる⽅式

    /環境下で展開される 2025年までに企業で利⽤ されるAPIの50%以上が 「Unmanaged=野良API」に 50%の組織が、過去12ヶ⽉ の間にAPIのセキュリティイ ンシデントを経験している 81%の組織が、1時間のダウ ンタイムが30万ドル以上の 損失を⽣む、と回答 組織はハイブリッド/マルチク ラウド環境下において、多様 な実装 (REST, GraphQL, gRPC) を求められる API API API API API API API API API APIを取り巻く環境 - “Predicts 2022: APIs Demand Improved Security and Management” - Gartner
  5. © Kong Inc. Kong Konnect GOVERN API Gateway APPLICATION APPLICATION

    ⬍ North - South EDGE + CROSS-APP API Design API Testing API Client API Design & Testing BUILD & CONSUME APIs ⬌ East - West WITHIN APP Service Mesh AGGREGATION AGGREGATION Kongエコシステムの全体像
  6. © Kong Inc. Nginx OpenResty API Management Admin API Kong

    Manager Declarative configuration Single Binary ~50MB Plugins Kong User Interface Intercept requests & responses and perform actions Underlying Kong engine Services, Routes etc can be managed through yaml/cli Managing Services, Routes, Consumers and Plugins Kong itself can be managed by an API Low-level operations e.g. load balancing services and routes Kong Gatewayの構成
  7. © Kong Inc. 50k+ < 2k THROUGHPUT* (Trx / second)

    LATENCY* (Milliseconds) *GigaOm API Management Benchmark 2022 ~1ms 50ms+ Fully automated CI/CDデプロイモデルをサポートする100%宣⾔的な 構成管理 Best in class performance インスタンスあたり50K+ TPSを低遅延で処理 Ultra-lightweight and infinitely scalable 42MBのランタイムパッケージサイズ。JVM不 要。Nginx上で稼働し垂直/⽔平スケール可。 Plugin to any architecture and infrastructure オンプレ/マルチクラウド/Kubernetes/Serverless等 環境を選ばないシングルバイナリ。 competitor competitor Kong Gateway - パフォーマンスと拡張性
  8. © Kong Inc. Authentication | Security | Traffic Control |

    Serverless | Analytics & Monitoring | Transformations | Logging | Deployment Kong Plugins - プラグインモデルによる拡張
  9. © Kong Inc. APIゲートウェイ CLIENT PRIVATE TRAFFIC PUBLIC TRAFFIC API

    APP API APP API APP API APP API APP APIゲートウェイ PRIVATE TRAFFIC API APP API APP API APP Service PUBLIC TRAFFIC API APP API APP API APP API APP API APP APIゲートウェイ PRIVATE TRAFFIC Gateway ユースケースとポリシー AuthN AuthN Rate Limit GraphQL AuthN AI Rate Limit Transform OPA
  10. © Kong Inc. ポリシー管理という抽象化レイヤー Business Logic (B) Policy (P) Cloud

    Monolith Routing Load Balancing Authentication Authorization Logs & Metrics Rate Limiting Caching Validation Transformation Microservices MULTI-CLOUD & KUBERNETES ON-PREMISE HOSTING B Shared Policy Layer (Kong Gateway) B B B B B B B B B Serverless (e.g. AWS Lambda) REST } { 3rd-party
  11. © Kong Inc. Local PC 15 Kong Gateway デモの概要 Postgres

    Admin UI httpbin.org (echo) Route Service Consumer Plug-ins
  12. © Kong Inc. API Lifecycle - Merging Two Lifecycles -

    “What is the API Lifecycle?” - Postman Develop Design Define Deploy Distribute Producer Lifecycle Discover Observe Deploy Evaluate Integrate Consumer Lifecycle
  13. © Kong Inc. API Lifecycle - Its Entire Life and

    Daily Routines Plan Planning and designing the API Developing the API Testing the API Deploying the API Retiring the API Develop Test Deploy Retire - “What is API Lifecycle Management?” - Swagger
  14. © Kong Inc. API ライフサイクル マネジメント ユーザーストーリーやベストプラクティスを 通してAPIスペックをデザイン。 APIユーザーからのフィードバックを早期に集め、将来的な リワークや無駄な機能の開発を最小限に留める。

    APIプラットフォームを利用して自動生成 したテストを組み込み、モックサーバーに デプロイ。 宣言的にAPIをセキュアに管理。APIプロダクト 管理も他のリソース同様にクラウドネイティブ な運用の一部に。 APIをプロダクトとしてバージョン管理し公開。 チームや外部ユーザーにセルフサービスでAPIア クセスを提供。 Kong Manager/Konnectを通してプラットフォー ムやAPIプロダクトを横断的に管理。 APIの利用状況やプラットフォームのメトリ クスを通してサービス/プラットフォーム双 方の継続的改善へ繋げる。 Design Collaborate 2 1 Mock Test Analyse Operate Publish Deploy Design Verify Secure & Package Ship & Engage Govern Analyse Iterate Postman Postman Dev Portal Postman decK Postman CLI Konnect Dev Portal Kong Enterprise Konnect Analytics Kong Gateway
  15. © Kong Inc. 一般的なパイプライン - CDへ渡るのはコード Spec-Based API Design CI

    Code Test Document Spec CD Code Change to Production Build Image or binary Gateway Config
  16. © Kong Inc. Postman cli - CLI for API Lifecycle

    Management Spec-Based API Design DEVELOPERS API Spec Validation PIPELINE postman api lint postman collection run Ready to ship!
  17. © Kong Inc. decK - Declarative management for Kong Gateway

    API Spec PIPELINE Spec to Config Deploy Declaratively deck file openapi2kong deck file merge deck gateway dump deck gateway diff deck gateway sync Deployed! Plugins Consumers & Roles