Slide 1

Slide 1 text

© Kong Inc. Shinichi Hashitani, Solutions Engineer @Kong API ライフサイクル管理と AI Gateway

Slide 2

Slide 2 text

© Kong Inc. © Kong Inc. API Challenges and API Lifecycle

Slide 3

Slide 3 text

© 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

Slide 4

Slide 4 text

© Kong Inc. APIとはたまごっちのようなもの

Slide 5

Slide 5 text

© Kong Inc. ユーザーにとってのたまごっちはUI ● 2.5cm x 2.5cm ディスプレイ ● 8ビットキャラクター ● 操作ボタン ● 育成ロジック ● パターン/ルール ● コンピュート/ストレージ たまごっちが死んで悲しい

Slide 6

Slide 6 text

© Kong Inc. APIは生きている APIには人生がある

Slide 7

Slide 7 text

© Kong Inc. … このように、APIにも他のソフトウェアコンポーネントと同じようにバー ジョンはあるが、その実装のバージョンとの相関はない。APIのバージョ ンは、実装がどのように進化するかではなく、インターフェイスコントラ クトに対する変更(コンシューマーから見える変更)に基づいて進化す る。 … セマンティックバージョニングをAPIに適用した時の数字は、<破壊的 >.<非破壊的>の2つだけである。 … コンシューマに必要なのは、1つ目 の破壊的なレベルの数字 けである。 - “Web APIの設計”, Arnaud Lauret, 2020, 翔泳社.

Slide 8

Slide 8 text

© Kong Inc. ユーザーから見れば サービス = API

Slide 9

Slide 9 text

© Kong Inc.

Slide 10

Slide 10 text

© Kong Inc. Value Experience

Slide 11

Slide 11 text

© Kong Inc. APIはプロダクトである

Slide 12

Slide 12 text

© Kong Inc. プロダクトには ライフサイクルがある

Slide 13

Slide 13 text

© Kong Inc. プロダクト マネジメントは、製品とその顧客を最も重視することで、開 発からポジショニングと価格設定まで、製品ライフサイクルのすべてのス テップを イドする組織機能です。最高の製品を作るため、プロダクト マネージャーが組織内で顧客の声を代弁し、市場の意見が反映されるよう にします。   このように顧客を重視することで、製品チームはデザインとパフォー マンスに優れた製品を継続的にリリースできます。市場に定着した製品が より優れた新しいソリューションにあっという間に地位を奪われるテクノ ロジー分野では、顧客を深く理解し、顧客に応じてカスタマイズされたソ リューションを構築する能力がこれまで以上に求められています。そこ で、プロダクト マネジメントが重要になります。 - “プロダクト マネジメントとは” ATLASSIAN website

Slide 14

Slide 14 text

© Kong Inc. API as a Productの概念が無いと ❏ 不十分なドキュメンテーション ❏ API UXをカバーしない可観測性 ❏ API不在なCI/CD ❏ …

Slide 15

Slide 15 text

© Kong Inc. APIライフサイクルとは?

Slide 16

Slide 16 text

© 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

Slide 17

Slide 17 text

© 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

Slide 18

Slide 18 text

© Kong Inc. © Kong Inc. Kong Ecosystem

Slide 19

Slide 19 text

© 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エコシステムの全体像

Slide 20

Slide 20 text

© 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の構成

Slide 21

Slide 21 text

© 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 - パフォーマンスと拡張性

Slide 22

Slide 22 text

© Kong Inc. Authentication | Security | Traffic Control | Serverless | Analytics & Monitoring | Transformations | Logging | Deployment Kong Plugins - プラグインモデルによる拡張

Slide 23

Slide 23 text

© Kong Inc. Control Plane Data Plane Kong デプロイメント モデル Single Node Hybrid Federated Konnect Kong Konnect

Slide 24

Slide 24 text

© Kong Inc. © Kong Inc. Centralized から Federatedへ

Slide 25

Slide 25 text

© 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 デプロイメントとプラットフォーム

Slide 26

Slide 26 text

© 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

Slide 27

Slide 27 text

© 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

Slide 28

Slide 28 text

© Kong Inc. 横断的なアクセス/トラフィック管理 by Policy Policyの宣言的管理

Slide 29

Slide 29 text

© Kong Inc. © Kong Inc. API Lifecycle Management with Kong

Slide 30

Slide 30 text

© 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

Slide 31

Slide 31 text

© Kong Inc. 一般的なパイプライン - CDへ渡るのはコード Spec-Based API Design CI Code Test Document Spec CD Code Change to Production Build Image or binary Gateway Config

Slide 32

Slide 32 text

© Kong Inc. 32 APIの変更管理をどう自動化するか?

Slide 33

Slide 33 text

© 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 (ドキュメント) 管理 ● モックサーバーのデプロイ

Slide 34

Slide 34 text

© 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!

Slide 35

Slide 35 text

© 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

Slide 36

Slide 36 text

© Kong Inc. APIOps パイプライン PIPELINE

Slide 37

Slide 37 text

© Kong Inc. 37 APIエコシステムを柔軟に保ちつつ 健全な状態をポリシーで管理しつつ APIの設計と運用をシームレスに繋げる APIライフサイクル管理 とは

Slide 38

Slide 38 text

© Kong Inc. © Kong Inc. Enter Kong AI Gateway

Slide 39

Slide 39 text

© 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の利用をポリシーで制御し、 監視し、想定外のコスト膨張と なる自体を予防したい。

Slide 40

Slide 40 text

© Kong Inc. AI Gateway - LLMに特化したGateway

Slide 41

Slide 41 text

© Kong Inc. KONG AI Plugins ● LLMへの認証情報をプラグイン側で 補完したのちリクエストを送信。 ● 複数のLLMをクライアント側から動 的に切り替え。 ● プロンプトのテンプレート化。 ● LLMトークンベースの流量制限。 ● プロンプトにポリシーを追加した後 にリクエストを送信。 ● 特定文言のブロックやマスキング。 ● APIのリクエストを送る前/レスポン スを受け取った後にLLMを中継。

Slide 42

Slide 42 text

© Kong Inc. AI Proxy - 接続先LLMをダイナミックに切り替え ● 複数プラグインがLLMへのルータとし て機能。 ● 複数LLMをパラメータ、もしくはヘッ ダーによって切り替えて接続。 ● LLMへの接続認証情報をプラグインで 保持。 ● クライアント側でモデルの切り替えが 可能。 ● ストリーミングサポート。 ● OpenAI、Cohere、Anthropic、 Mistral、Llama2、Azureをサポート。

Slide 43

Slide 43 text

© Kong Inc. AI Prompt Decorator - プロンプトによるポリシー適用 プロンプトを補完することでポリシーを適用。 ● 回答を特定の言語に指定。 ● 回答文字数の制限。 ● 回答に特定情報を含むことを制限。(特定 情報のブロック、個人情報のマスキング、 等) ● 精度を高めるコマンドを補完。

Slide 44

Slide 44 text

© Kong Inc. AI Prompt Template - LLM利用のテンプレート化 事前に準備されたプロンプトをテンプレート化し、リ クエストから渡される情報を補完。 ● LLMに送られるリクエストを事前に指定。 ● 精度の高いプロンプトを利用することにより解 答の品質を維持。 ● アプリケーションからのリクエスト転送メッ セージを簡素化(変数のみ送信) ● LLMのファーストユースケースとしてスコープ を絞って機能を提供。

Slide 45

Slide 45 text

© Kong Inc. Thank you!