Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Api gatewayの話

4,626 views

Published on

Microservices Meetup vol.1での発表資料
#microserv

Published in: Technology
  • Be the first to comment

Api gatewayの話

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

×