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

APIライフサイクル管理の進化と生成AIの活用へ

hashi
June 27, 2024

 APIライフサイクル管理の進化と生成AIの活用へ

開発生産性カンファレンス2024 登壇資料

APIマネジメントプラットフォームのKongは、API Gatewayの業界標準であるKong Gatewayを軸にDevOps文化を支えてきました。またAPIを取り巻くプラクティスも成長を続けており、APIライフサイクル全般を視野に入れた取り組みが広がっています。本セッションでは、Kong Gatewayとそのエコシステムについて、API Opsとライフサイクル管理、そしてAI/LLMサービスを有機的に活用するKong AI Gatewayについてご紹介します。

hashi

June 27, 2024
Tweet

More Decks by hashi

Other Decks in Technology

Transcript

  1. © 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
  2. © Kong Inc. ユーザーにとってのたまごっちはUI • 2.5cm x 2.5cm ディスプレイ •

    8ビットキャラクター • 操作ボタン • 育成ロジック • パターン/ルール • コンピュート/ストレージ たまごっちが死んで悲しい
  3. © Kong Inc. … このように、APIにも他のソフトウェアコンポーネントと同じようにバー ジョンはあるが、その実装のバージョンとの相関はない。APIのバージョ ンは、実装がどのように進化するかではなく、インターフェイスコントラ クトに対する変更(コンシューマーから見える変更)に基づいて進化す る。 …

    セマンティックバージョニングをAPIに適用した時の数字は、<破壊的 >.<非破壊的>の2つだけである。 … コンシューマに必要なのは、1つ目 の破壊的なレベルの数字 けである。 - “Web APIの設計”, Arnaud Lauret, 2020, 翔泳社.
  4. © Kong Inc. プロダクト マネジメントは、製品とその顧客を最も重視することで、開 発からポジショニングと価格設定まで、製品ライフサイクルのすべてのス テップを イドする組織機能です。最高の製品を作るため、プロダクト マネージャーが組織内で顧客の声を代弁し、市場の意見が反映されるよう にします。

      このように顧客を重視することで、製品チームはデザインとパフォー マンスに優れた製品を継続的にリリースできます。市場に定着した製品が より優れた新しいソリューションにあっという間に地位を奪われるテクノ ロジー分野では、顧客を深く理解し、顧客に応じてカスタマイズされたソ リューションを構築する能力がこれまで以上に求められています。そこ で、プロダクト マネジメントが重要になります。 - “プロダクト マネジメントとは” ATLASSIAN website
  5. © Kong Inc. API as a Productの概念が無いと ❏ 不十分なドキュメンテーション ❏

    API UXをカバーしない可観測性 ❏ API不在なCI/CD ❏ …
  6. © 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
  7. © 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
  8. © 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エコシステムの全体像
  9. © 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の構成
  10. © 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 - パフォーマンスと拡張性
  11. © Kong Inc. Authentication | Security | Traffic Control |

    Serverless | Analytics & Monitoring | Transformations | Logging | Deployment Kong Plugins - プラグインモデルによる拡張
  12. © Kong Inc. Control Plane Data Plane Kong デプロイメント モデル

    Single Node Hybrid Federated Konnect Kong Konnect
  13. © Kong Inc. Decentralised Speed oriented ✅ SPEED ❌ BEST

    PRACTICES ❌ CONSISTENCY ❌ RELIABILITY Federated API Platform as a Product ✅ SPEED ✅ BEST PRACTICES ✅ CONSISTENCY ✅ RELIABILITY Central Capability Enablement Best Practices Architecture Guidance Shared Assets Common Tooling Golden Images Frameworks Enable Self Service Centralised Quality oriented ❌ SPEED ✅ BEST PRACTICES ✅ CONSISTENCY ✅ RELIABILITY Delegate Central IT Kong デプロイメントとプラットフォーム
  14. © 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 Bot Detect AuthN AI Rate Limit Transform OPA
  15. © 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
  16. © Kong Inc. API ライフサイクル マネジメント ユーザーストーリーやベストプラクティスを 通してAPIスペックをデザイン。 APIユーザーからのフィードバックを早期に集め、将来的な リワークや無駄な機能の開発を最小限に留める。

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

    Code Test Document Spec CD Code Change to Production Build Image or binary Gateway Config
  18. © Kong Inc. Kong Insomnia - OSS API開発プラットフォーム Design API

    Services スタンダードを共有し、 APIデザインプロセス をシンプルに Debug API Services 豊富なツールセットを利用 してREST, gRPC, GraphQLベースのAPIをデ バッグ Test API Services テストスイートを定義 し自動化 Insomnia • curlコマンド、Open API Spec、 Postmanコレクションのインポート • チーム内スクリプト共有 • Spec (ドキュメント) 管理 • モックサーバーのデプロイ
  19. © Kong Inc. inso command - CLI for API Lifecycle

    Management Spec-Based API Design DEVELOPERS API Spec Validation PIPELINE inso lint spec inso run test Ready to ship!
  20. © 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
  21. © Kong Inc. APIゲートウェイ PRIVATE TRAFFIC API APP API APP

    API APP Service PUBLIC TRAFFIC Gateway ユースケースとポリシー for LLM AuthN AI Rate Limit APIゲートウェイ CLIENT PRIVATE TRAFFIC PUBLIC TRAFFIC API APP API APP API APP API APP API APP API APP API APP API APP API APP API APP APIゲートウェイ PRIVATE TRAFFIC AuthN AuthN Rate Limit Bot Detect Transform OPA Multi-AI Adoption コストコントロールも念 頭に置いて、タスクには 適切なLMMを使い分けた い。 LLM AI Data Governance AIモデルに出入りする データにある機微情報 を適切にコントロール したい。 AI Usage Governance AIの利用をポリシーで制御し、 監視し、想定外のコスト膨張と なる自体を予防したい。
  22. © Kong Inc. KONG AI Plugins • LLMへの認証情報をプラグイン側で 補完したのちリクエストを送信。 •

    複数のLLMをクライアント側から動 的に切り替え。 • プロンプトのテンプレート化。 • LLMトークンベースの流量制限。 • プロンプトにポリシーを追加した後 にリクエストを送信。 • 特定文言のブロックやマスキング。 • APIのリクエストを送る前/レスポン スを受け取った後にLLMを中継。
  23. © Kong Inc. AI Proxy - 接続先LLMをダイナミックに切り替え • 複数プラグインがLLMへのルータとし て機能。

    • 複数LLMをパラメータ、もしくはヘッ ダーによって切り替えて接続。 • LLMへの接続認証情報をプラグインで 保持。 • クライアント側でモデルの切り替えが 可能。 • ストリーミングサポート。 • OpenAI、Cohere、Anthropic、 Mistral、Llama2、Azureをサポート。
  24. © Kong Inc. AI Prompt Decorator - プロンプトによるポリシー適用 プロンプトを補完することでポリシーを適用。 •

    回答を特定の言語に指定。 • 回答文字数の制限。 • 回答に特定情報を含むことを制限。(特定 情報のブロック、個人情報のマスキング、 等) • 精度を高めるコマンドを補完。
  25. © Kong Inc. AI Prompt Template - LLM利用のテンプレート化 事前に準備されたプロンプトをテンプレート化し、リ クエストから渡される情報を補完。

    • LLMに送られるリクエストを事前に指定。 • 精度の高いプロンプトを利用することにより解 答の品質を維持。 • アプリケーションからのリクエスト転送メッ セージを簡素化(変数のみ送信) • LLMのファーストユースケースとしてスコープ を絞って機能を提供。