Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
APIゲートウェイとサービスメッシュ
Search
Takafumi Ikeda
July 29, 2021
Technology
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
APIゲートウェイとサービスメッシュ
Takafumi Ikeda
July 29, 2021
More Decks by Takafumi Ikeda
See All by Takafumi Ikeda
はじめてのKong Konnect
ikeike443
0
250
Kuma
ikeike443
2
3.6k
10分で分るGitHub Actions
ikeike443
3
2.3k
GitHub Actionsはどのような未来を描くのか
ikeike443
3
2.9k
GitHubber@日本
ikeike443
6
12k
GitHub Business Seminar
ikeike443
1
160
How we ship GitHub with GitHub -- ChatOps
ikeike443
0
410
効果的にGitHubを使うために
ikeike443
10
4.2k
How People Build Software
ikeike443
0
280
Other Decks in Technology
See All in Technology
『自分で判断できるか』を基準に、プロダクトのハンズオン研修でAI利用の線を引いてみた / Where We Drew the Line on AI in Hands-on Training
honyanya
1
780
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
470
bet_ai_day_2026_session02
agenticsec
1
670
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
160
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
190
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.3k
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
280
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
5
2.3k
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
5
1.1k
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
100
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
350
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
87k
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
220
KATA
mclloyd
PRO
35
15k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
We Have a Design System, Now What?
morganepeng
55
8.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
4 Signs Your Business is Dying
shpigford
187
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Statistics for Hackers
jakevdp
799
230k
Believing is Seeing
oripsolob
1
200
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
Transcript
THE CLOUD CONNECTIVITY COMPANY APIゲートウェイと サービスメッシュ Kong Inc. 2021/06/11 Kong
Proprietary and Confidential
THE CLOUD CONNECTIVITY COMPANY APIゲートウェイと サービスメッシュ Takafumi Ikeda Kong Proprietary
and Confidential
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY Agenda APIゲートウェイとはなにか
サービスメッシュとはなにか APIゲートウェイとサービスメッシュの違い Kongクイックデモ 30 Minutes
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIゲートウェイとは
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIゲートウェイパターン (デザインパターン)
ユーザー管理 画像処理 機械学習 認証認可 セキュリティ ログ・監視 負荷分散 Req/Res変換 ... APIゲートウェイ
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY SOA (サービス指向アーキテクチャ)
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY SOA(サービス指向アーキテクチャ) •
2000年代以前からある考え方 • 各コンポーネントを疎結合に実装し、独立性を高め、並列に開発デプロイを可能にする • XML, WSDL, ESB, etc • 様々な実装が提案されたがうまく行かなかった • 思想としてはよかったが、実装としては特定の言語や実行環境に依存したものが多かった
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY Web2.0
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY Web2.0 •
2005年頃からWeb系、ソーシャル系各社が APIを公開し始め、Web2.0到来 • Google map, flickr, Twitter, etc • AJAX登場もこの頃、UXが一気にリッチに • バックエンドはAPIを提供、フロントエンドはその APIを利用 • マッシュアップの時代、複数の Web APIを組み合わせて新しいサービスを作ることが出来るように • SOAの理想をSOAとは関係ない文脈で可能にしてしまった
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY マイクロサービス •
思想的にはSOAの発展系、実装としては Web2.0の流れを汲むもの • マイクロサービス同士が APIを呼び出し合い、協調して動作する • お互いを疎結合に設計し、独立して開発・デプロイを行えるようにする • 協調動作はするが、お互いに依存してはいけない • メリットとしては、言語や実行環境に依存することなく、目的ごとに別々の言語を選択できる • デメリットとしては、認証認可やロギングなどの処理を都度実装する必要がある
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY そこで登場するのが
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIゲートウェイ ユーザー管理
画像処理 機械学習 認証認可 セキュリティ ログ・監視 負荷分散 Req/Res変換 ...
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIゲートウェイがないと •
たとえば、Oktaを使ってシングルサインオンを実装したいとき ◦ Oktaが求める実装を各言語で行わなければならない ▪ ユーザー管理アプリに RubyでOktaライブラリの組み込み ▪ 画像処理アプリにKubernetesのCRDとして実装 ▪ 機械学習アプリにPythonでOktaライブラリの組み込み ◦ アプリ間でセッションや認証トークンの受け渡しをするための方式を定義しないといけない ◦ 各アプリが、他のアプリのアドレスやエンドポイントなどを知っていないといけない ◦ アプリ間の処理の順番を自分で制御しないといけない ◦ etc ◦ 本来のアプリケーションロジックと関係のないコードが混入し、スパゲッティ化しやすい
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIゲートウェイがあれば ユーザー管理
画像処理 機械学習 認証認可 セキュリティ ログ・監視 負荷分散 Req/Res変換 ... 複数箇所に実装をしなくてよい KongのOpenID Connectプラグインが代行
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIマネジメントとは? •
APIゲートウェイにプラスアルファ機能を組み合わせて提供するソリューションのこと • 下記のような機能が代表的 ◦ 開発者ポータル(Developer Portal) ◦ APIスペックデザイン、APIドキュメント管理 ◦ モッキング ◦ 異常検知 • 設計、開発、デプロイ、運用といった、 APIのライフサイクル全般の管理が出来る
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIゲートウェイとAPIマネジメント •
Kong OSS はAPIゲートウェイ • Kong Gateway (Enterprise) はAPIマネジメント製 品 • 尚、Kong Konnect は Kong Gatewayにサービス メッシュも含めたプラットフォームのこと APIマネジメント
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY サービスメッシュとは
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY サービスメッシュとは •
マイクロサービス化、コンテナ化とともに出てきたデザインパターン • 各サービスコンテナの横にサイドカープロキシを置き、通信を管理する • APIゲートウェイがNorth-Southを管理するのに対して、サービスメッシュは East-Westと言われる • 実際にはコンテナとは関係がなく、 East-Westだけとも限らない • デザインパターンの名前であると同時に、当時出てきた特定の実装のことを指すことも多く、用語に揺れ や混乱が見られるのが特徴
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY サービスメッシュパターン
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY サービスメッシュの役割 •
サービス間の通信の間に入り、認証認可、ロギング、サービスディスカバリ等共通処理を受け持つ • サービスはコンテナ化されていても、されていなくともどちらでもよい • APIゲートウェイと役割はかなり似ているが、通信経路がより単純化しやすく、管理が容易 • L7だけでなく、L4も対象に入っていることが多い( DBコネクションも管理できる)
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIゲートウェイ+サービスメッシュ ユーザー管理
画像処理 機械学習 認証認可 セキュリティ ログ・監視 負荷分散 Req/Res変換 ... 認証認可 セキュリティ ログ・監視 サービスディスカ バリ
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY Kongの提供するサービスメッシュ •
KumaというOSSサービスメッシュ ◦ ほぼ唯一、Kubernetesに依存しないユニバーサルサービスメッシュ ◦ Kubernetesにも、それ以外のVMベースのアプリでも、実行環境を問わず使える • Kong Meshというエンタープライズバージョンもあり、 Kumaに加えて下記機能が追加 ◦ FIPS対応 ◦ Open Policy Agent (OPA) 対応 ◦ Hashicorp Vault 対応 • Kong KonnectはこのKong MeshとKong Gateway、およびInsomniaを統合したサービスコネクティビティ プラットフォーム
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIゲートウェイとサービスメッシュの違い •
一般的には下記のように言われる ◦ APIゲートウェイはNorth-South (外部との通信) ◦ サービスメッシュはEast-West (サービス間通信) • 間違いではないが、サービス間に APIゲート ウェイを使ってもよい ◦ 部署間、プロダクト間などに ◦ 社内であっても製品として提供していれ ばそこが切れ目であり、 APIゲートウェイ の出番 North-South East-West
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY APIゲートウェイとサービスメッシュの違い •
通信の管理としては L4もカバーする サービスメッシュの方が包括的 • 製品としてのAPI管理についてはAPI ゲートウェイ(マネジメント)の範疇 • この2つの特徴を理解しつつ、ユース ケースに合わせてアーキテクチャ設計を することが重要
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY Kongクイックデモ
Kong Proprietary and Confidential THE CLOUD CONNECTIVITY COMPANY まとめ •
APIゲートウェイとサービスメッシュは使い分けが重要 • 認証認可やロギングなどの共通処理を委譲することができ、開発生産性 UP • Kong KonnectはAPIゲートウェイとサービスメッシュを統合するプラットフォーム • 実行環境や言語、プロトコルに依存しない ◦ AWS, Azure, GCPすべてOK ◦ Kubernetesもそれ以外のアプリ環境も OK ◦ プログラミング言語にも依存しない ◦ REST, gRPC, GraphQL, Apache Kafkaに対応、さらにSOAPなども処理できる