api gatewayの話

22
API Gateway のの @charlier_shoe

Upload: hiroshi-hayakawa

Post on 22-Jan-2017

1.427 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Api gatewayの話

API Gateway の話

@charlier_shoe

Page 2: Api gatewayの話

自己紹介

早川 博(はやかわ ひろし) @charlier_shoe

• 日本オラクルのプリセールス・エンジニア- 製品選定のコンサルティング、アーキテクチャ設計など、販売活動の

技術的支援がミッション- Java SE / Java EE / WebLogic / PaaS…

• 本 発 表 は 個 人 の 見 解 で あ り 、 所 属 組 織 の 公 式 見 解 で は あ り ま せ ん( ; ´Д ` )

Page 3: Api gatewayの話

今日の話BFF(Backend for Frontend)がきっかけ

こういうのってミドルウェアがもうあって設定だけで組めたりしたら楽なんじゃないか。と思ったけどそんなに単純じゃなかったのでざっくり調べてみたという話です。

Page 4: Api gatewayの話

API Gateway

サービス呼出しを仲介していい感じにしてくれるSC

Page 5: Api gatewayの話

期待すること

SC

認証、データ変換、API アクリゲーション、エンドポイント

集約アクセス分析

ルーティング、流量制御…

Page 6: Api gatewayの話

API アグリゲーション複数のサービス呼出しをまとめて、適切な形で返す

SC

S

S

Page 7: Api gatewayの話

本Sam Newman( 著 )

佐藤 直生 ( 監訳 ), 木下 哲也 ( 訳 )オライリー・ジャパン (2016)

Page 8: Api gatewayの話

本の場合API のセキュリティ

• クライアントに API キーを払い出し• 正しいキーがないリクエストは Gateway が拒絶

Page 9: Api gatewayの話

本の場合 その 2

BFF(Backend for Front End)

• API をクライアントに最適化した形式に変換• 複数の API 呼出しを集約

Page 10: Api gatewayの話

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 を謳っているわけではないのでご注意を

Page 11: Api gatewayの話

Tyk

https://tyk.io/

Open Source の API Gateway

認証データ変換アクセス分析ルーティング流量制御だいたいできる…ただし

Page 12: Api gatewayの話

Tyk

SC

S

S

API アクリゲーションはできない…BFF に使うには厳しい

Page 13: Api gatewayの話

Falcor

https://netflix.github.io/falcor/starter/what-is-falcor.html

• Client-Server で JSON-Graph形式のデータ構造を共有• Client は JSON-Graph の必要な部分を指定してデータを取得• 一度取得したデータはキャッシュしておく

Page 14: Api gatewayの話

Falcor

SC

S

S

Page 15: Api gatewayの話

Falcor

データ・フェッチ

認証データ変換アクセス分析ルーティング流量制御「そもそも API Gateway のつもりないんで…」

Page 16: Api gatewayの話

Oracle Service Bus !!

Enterprise Service Bus

S S S S S S

C全部できるよ!

Page 17: Api gatewayの話

ちょっとまってほしい

「 1 つのことにすべての希望を託し、ゲートウェイを頼ってすべての段階に対処しているのを目にしたことがあります。また、誰もが単一障害点があるとどうなるかわかっています。」「ゲートウェイレイヤはますます多くの機能を担う傾向があり、結局は巨大な結合点となる可能性があります。」

じゃあ Bus の冗長化か ? 何処までやるべきか…。

Page 18: Api gatewayの話

どうすればいいか考えてみるS

S

S

C

C

認証、エンドポイント集約

APIアグリゲーショ

Page 19: Api gatewayの話

結合してもいいところはどこ?プロトコル・スタック(的なもの)を想定しときに、サービス機能より下位のレイヤーは結合してもよいと考えては?

認証

エンドポイント解決

サービス サービス サービス

Page 20: Api gatewayの話

偉い人も言っている「 OpenID Connect は、インターネット上の『アイデンティティ層』をなすものです。」

Page 21: Api gatewayの話

Fin.

Page 22: Api gatewayの話

https://www.facebook.com/groups/oracle.cloud.developers/

Facebook グループ

クラウド・テクノロジーを語ろう。

Oracle Cloud Developers