Api gatewayの話
-
Upload
hiroshi-hayakawa -
Category
Technology
-
view
1.442 -
download
1
Transcript of Api gatewayの話
API Gateway の話
@charlier_shoe
自己紹介
早川 博(はやかわ ひろし) @charlier_shoe
• 日本オラクルのプリセールス・エンジニア- 製品選定のコンサルティング、アーキテクチャ設計など、販売活動の
技術的支援がミッション- Java SE / Java EE / WebLogic / PaaS…
• 本 発 表 は 個 人 の 見 解 で あ り 、 所 属 組 織 の 公 式 見 解 で は あ り ま せ ん( ; ´Д ` )
今日の話BFF(Backend for Frontend)がきっかけ
こういうのってミドルウェアがもうあって設定だけで組めたりしたら楽なんじゃないか。と思ったけどそんなに単純じゃなかったのでざっくり調べてみたという話です。
API Gateway
サービス呼出しを仲介していい感じにしてくれるSC
期待すること
SC
認証、データ変換、API アクリゲーション、エンドポイント
集約アクセス分析
ルーティング、流量制御…
API アグリゲーション複数のサービス呼出しをまとめて、適切な形で返す
SC
S
S
本Sam Newman( 著 )
佐藤 直生 ( 監訳 ), 木下 哲也 ( 訳 )オライリー・ジャパン (2016)
本の場合API のセキュリティ
• クライアントに API キーを払い出し• 正しいキーがないリクエストは Gateway が拒絶
本の場合 その 2
BFF(Backend for Front End)
• API をクライアントに最適化した形式に変換• 複数の API 呼出しを集約
API Gateway の実装• クラウドサービス
• AWS API Gateway• Netflix API Gateway
• Open Source 系• Tyk• Kong
• データフェッチ系 [^1]• Falcor• GraphQL
• SOA 勢
• Oracle Service Bus• IBM Integration Bus
[^1] Falcor や GraphQL が API Gateway を謳っているわけではないのでご注意を
Tyk
https://tyk.io/
Open Source の API Gateway
認証データ変換アクセス分析ルーティング流量制御だいたいできる…ただし
Tyk
SC
S
S
API アクリゲーションはできない…BFF に使うには厳しい
Falcor
https://netflix.github.io/falcor/starter/what-is-falcor.html
• Client-Server で JSON-Graph形式のデータ構造を共有• Client は JSON-Graph の必要な部分を指定してデータを取得• 一度取得したデータはキャッシュしておく
Falcor
SC
S
S
Falcor
データ・フェッチ
認証データ変換アクセス分析ルーティング流量制御「そもそも API Gateway のつもりないんで…」
Oracle Service Bus !!
Enterprise Service Bus
S S S S S S
C全部できるよ!
ちょっとまってほしい
「 1 つのことにすべての希望を託し、ゲートウェイを頼ってすべての段階に対処しているのを目にしたことがあります。また、誰もが単一障害点があるとどうなるかわかっています。」「ゲートウェイレイヤはますます多くの機能を担う傾向があり、結局は巨大な結合点となる可能性があります。」
じゃあ Bus の冗長化か ? 何処までやるべきか…。
どうすればいいか考えてみるS
S
S
C
C
認証、エンドポイント集約
APIアグリゲーショ
ン
結合してもいいところはどこ?プロトコル・スタック(的なもの)を想定しときに、サービス機能より下位のレイヤーは結合してもよいと考えては?
認証
エンドポイント解決
サービス サービス サービス
偉い人も言っている「 OpenID Connect は、インターネット上の『アイデンティティ層』をなすものです。」
Fin.
https://www.facebook.com/groups/oracle.cloud.developers/
Facebook グループ
クラウド・テクノロジーを語ろう。
Oracle Cloud Developers