Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
pospome
PDF, PPTX
4,249 views
MicroServices & APIs
Cloud Next 2018 わいわい報告会の登壇資料
Software
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 56
2
/ 56
3
/ 56
4
/ 56
5
/ 56
6
/ 56
7
/ 56
8
/ 56
9
/ 56
10
/ 56
11
/ 56
12
/ 56
13
/ 56
14
/ 56
15
/ 56
16
/ 56
17
/ 56
18
/ 56
19
/ 56
20
/ 56
21
/ 56
22
/ 56
23
/ 56
24
/ 56
25
/ 56
26
/ 56
27
/ 56
28
/ 56
29
/ 56
30
/ 56
31
/ 56
32
/ 56
33
/ 56
34
/ 56
35
/ 56
36
/ 56
37
/ 56
38
/ 56
39
/ 56
40
/ 56
41
/ 56
42
/ 56
43
/ 56
44
/ 56
45
/ 56
46
/ 56
47
/ 56
48
/ 56
49
/ 56
50
/ 56
51
/ 56
52
/ 56
53
/ 56
54
/ 56
55
/ 56
56
/ 56
More Related Content
PDF
6 月 18 日 Next - MonitoringとLogging で アプリともっと深く向き合う
by
Google Cloud Platform - Japan
PDF
6 月 18 日 Next - Cloud Networking
by
Google Cloud Platform - Japan
PDF
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 G Suite 特集 2019年4月18日 放送
by
Google Cloud Platform - Japan
PDF
Google for Mobile: コンテナで作るモバイル バックエンド - 福田 潔
by
Google Cloud Platform - Japan
PDF
[INEVITABLE ja night] 2018 年 12 月 14 日 - 「家庭」が見える!?電力データを利用した機器分離技術の活用
by
Google Cloud Platform - Japan
PPTX
第36回BAクリエイターズサロン - デジタル時代に クリエータの皆さんが知っておきたい AIと付き合うためのコツ
by
Daiyu Hatakeyama
PDF
Ignite 2021秋 recap - 開発者向け新機能紹介
by
Kazushi Kamegawa
PPTX
20160903predix_cognitiveservices
by
zuhitoslide
6 月 18 日 Next - MonitoringとLogging で アプリともっと深く向き合う
by
Google Cloud Platform - Japan
6 月 18 日 Next - Cloud Networking
by
Google Cloud Platform - Japan
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 G Suite 特集 2019年4月18日 放送
by
Google Cloud Platform - Japan
Google for Mobile: コンテナで作るモバイル バックエンド - 福田 潔
by
Google Cloud Platform - Japan
[INEVITABLE ja night] 2018 年 12 月 14 日 - 「家庭」が見える!?電力データを利用した機器分離技術の活用
by
Google Cloud Platform - Japan
第36回BAクリエイターズサロン - デジタル時代に クリエータの皆さんが知っておきたい AIと付き合うためのコツ
by
Daiyu Hatakeyama
Ignite 2021秋 recap - 開発者向け新機能紹介
by
Kazushi Kamegawa
20160903predix_cognitiveservices
by
zuhitoslide
What's hot
PDF
Google Container Engine と Kubernetes で 無理をしないコンテナ管理
by
Ryosuke Suto
PPTX
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
by
Koichiro Sumi
PDF
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
by
Kazumi OHIRA
PDF
[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送
by
Google Cloud Platform - Japan
PDF
6 月 18 日 Next - 基調講演 (Tom Kershaw パート)
by
Google Cloud Platform - Japan
PDF
Firebaseを使ってアプリを作ってみた
by
Gunma University
PDF
Google for モバイル アプリ 15-00- maps apiで、かしこく地図アプリを開発しよう
by
Google Cloud Platform - Japan
PPTX
BigQueryを活用したPrivate DMPを作って使ってるお話
by
Masato Kawada
PDF
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送
by
Google Cloud Platform - Japan
PDF
今だからデザインできるMTの未来
by
Yasuhisa Hasegawa
PDF
Vision AI on Azure IoT Edge
by
Jingun Jung
PDF
Google for Mobile: Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛
by
Google Cloud Platform - Japan
PPTX
Ml.NET
by
ru pic
PDF
コンテンツとCMSの上手な付き合い方
by
Yasuhisa Hasegawa
PDF
Google for モバイル アプリ - コンテナ技術と Google Compute Engine で実現するクラウド時代のアプリ実行環境
by
Google Cloud Platform - Japan
PPTX
Firebaseを利用するためにGCPとCloud IAMの 基本を理解しよう
by
kbigwheel
PDF
MagicOnion入門
by
torisoup
PDF
札幌Ibmクラウド勉強会 blockchain
by
softlayerjp
PDF
[Cloud OnAir] Apigee でかんたん API 管理 2019年12月12日 放送
by
Google Cloud Platform - Japan
Google Container Engine と Kubernetes で 無理をしないコンテナ管理
by
Ryosuke Suto
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
by
Koichiro Sumi
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
by
Kazumi OHIRA
[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送
by
Google Cloud Platform - Japan
6 月 18 日 Next - 基調講演 (Tom Kershaw パート)
by
Google Cloud Platform - Japan
Firebaseを使ってアプリを作ってみた
by
Gunma University
Google for モバイル アプリ 15-00- maps apiで、かしこく地図アプリを開発しよう
by
Google Cloud Platform - Japan
BigQueryを活用したPrivate DMPを作って使ってるお話
by
Masato Kawada
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送
by
Google Cloud Platform - Japan
今だからデザインできるMTの未来
by
Yasuhisa Hasegawa
Vision AI on Azure IoT Edge
by
Jingun Jung
Google for Mobile: Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛
by
Google Cloud Platform - Japan
Ml.NET
by
ru pic
コンテンツとCMSの上手な付き合い方
by
Yasuhisa Hasegawa
Google for モバイル アプリ - コンテナ技術と Google Compute Engine で実現するクラウド時代のアプリ実行環境
by
Google Cloud Platform - Japan
Firebaseを利用するためにGCPとCloud IAMの 基本を理解しよう
by
kbigwheel
MagicOnion入門
by
torisoup
札幌Ibmクラウド勉強会 blockchain
by
softlayerjp
[Cloud OnAir] Apigee でかんたん API 管理 2019年12月12日 放送
by
Google Cloud Platform - Japan
Similar to MicroServices & APIs
PDF
Google Cloud Platform で実現するプロダクションレディ マイクロサービス
by
Google Cloud Platform - Japan
PPTX
マイクロサービスのセキュリティ概説
by
Eiji Sasahara, Ph.D., MBA 笹原英司
PPTX
アプリケーションコンテナ/マイクロサービスのセキュリティ概説
by
Eiji Sasahara, Ph.D., MBA 笹原英司
PDF
Design Pattern MicroServices Architecture in Japanese
by
Lei Xu
PPTX
API Academy:マイクロサービス化へのファーストステップ
by
CA Technologies
PDF
【VMware】jp developer-summit_2012_final_for_print
by
VMwareKK
PDF
GCPで実現するクラウドネイティブアプリケーション
by
Kiyoshi Fukuda
PPTX
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
by
LIFULL Co., Ltd.
PDF
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
by
Toshiaki Maki
PDF
Observability, Service Mesh and Microservices
by
Taiki
PDF
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
by
Google Cloud Platform - Japan
PDF
【日本語版】Styler: Our Journey to GCP
by
MichaelFindlater
PPTX
オレ流クラウドデザイン
by
Atsushi Kojima
PDF
Google Cloud Platform 概要
by
Kiyoshi Fukuda
PDF
30分でわかるマイクロサービスアーキテクチャ 第2版
by
Naoki (Neo) SATO
PDF
Hybrid cloud fj-20190704_final
by
Kei Furusawa
PDF
20200708サーバーレスでのAPI管理の考え方
by
Amazon Web Services Japan
PDF
今更ながらの「マイクロサービス」
by
Hideaki Tokida
PDF
デブサミ20130215
by
Shunsuke Nogami
PDF
Draft: Observability, Service Mesh and Microservices
by
Taiki
Google Cloud Platform で実現するプロダクションレディ マイクロサービス
by
Google Cloud Platform - Japan
マイクロサービスのセキュリティ概説
by
Eiji Sasahara, Ph.D., MBA 笹原英司
アプリケーションコンテナ/マイクロサービスのセキュリティ概説
by
Eiji Sasahara, Ph.D., MBA 笹原英司
Design Pattern MicroServices Architecture in Japanese
by
Lei Xu
API Academy:マイクロサービス化へのファーストステップ
by
CA Technologies
【VMware】jp developer-summit_2012_final_for_print
by
VMwareKK
GCPで実現するクラウドネイティブアプリケーション
by
Kiyoshi Fukuda
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
by
LIFULL Co., Ltd.
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
by
Toshiaki Maki
Observability, Service Mesh and Microservices
by
Taiki
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
by
Google Cloud Platform - Japan
【日本語版】Styler: Our Journey to GCP
by
MichaelFindlater
オレ流クラウドデザイン
by
Atsushi Kojima
Google Cloud Platform 概要
by
Kiyoshi Fukuda
30分でわかるマイクロサービスアーキテクチャ 第2版
by
Naoki (Neo) SATO
Hybrid cloud fj-20190704_final
by
Kei Furusawa
20200708サーバーレスでのAPI管理の考え方
by
Amazon Web Services Japan
今更ながらの「マイクロサービス」
by
Hideaki Tokida
デブサミ20130215
by
Shunsuke Nogami
Draft: Observability, Service Mesh and Microservices
by
Taiki
More from pospome
PDF
トランザクションスクリプトのすすめ
by
pospome
ODP
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
by
pospome
ODP
どこに何を書くのか?
by
pospome
PDF
アプリケーションコードにおける技術的負債について考える
by
pospome
PDF
Datastore/Go のデータ設計と struct の振る舞いについて
by
pospome
PDF
Goのシンプルさについて
by
pospome
PDF
パッケージの循環参照
by
pospome
PDF
Controllerのbefore_actionにおける インスタンス変数セットについて
by
pospome
PDF
REST API のコツ
by
pospome
PDF
サーバサイドNodeの使い道
by
pospome
トランザクションスクリプトのすすめ
by
pospome
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
by
pospome
どこに何を書くのか?
by
pospome
アプリケーションコードにおける技術的負債について考える
by
pospome
Datastore/Go のデータ設計と struct の振る舞いについて
by
pospome
Goのシンプルさについて
by
pospome
パッケージの循環参照
by
pospome
Controllerのbefore_actionにおける インスタンス変数セットについて
by
pospome
REST API のコツ
by
pospome
サーバサイドNodeの使い道
by
pospome
MicroServices & APIs
1.
Cloud Next 2018 MicroServices
& APIs
2.
自己紹介 twitter pospome 読み方 ポスポメ 職種 サーバサイドエンジニア 興味 クラス設計全般, DDD いわゆるアプリケーションアーキテクチャ ここら辺の技術に興味ある方は
フォローしてくださると嬉しいです
3.
今回は 実際に開発で役立ちそうな内容を中心に紹介 GCP成分は比較的少ない
4.
今回は以下の2つのセッションを取り上げる Microservices - Born
and Raised (and Growing) on Gooble Cloud Designing Quality APIs
5.
Microservices - Born
and Raised (and Growing) on Gooble Cloud
6.
概要 Pizza Hut のマイクロサービス事例
7.
Core Architecture ・Go ・Kubernetes ・GCP
8.
Pizza Hut が考えるマイクロサービスの原則 ・サービス間の依存が少ない ・CI/CDを利用した自動デプロイ ・サービスディスカバリを利用したサービス間通信
9.
Pizza Hut が考えるマイクロサービスの原則 ・サービス間の依存が少ない ・CI/CDを利用した自動デプロイ ・サービスディスカバリを利用したサービス間通信 ↑ マイクロサービスの目的を達成するために必須な原則
10.
Pizza Hut が考えるマイクロサービスの原則 ・サービス間の依存が少ない ・CI/CDを利用した自動デプロイ ・サービスディスカバリを利用したサービス間通信 ↑ マイクロサービスのサービス境界がとても大事
11.
Pizza Hut が考えるサービス境界の原則 ・可能な限り小さい、意味を持つ業務機能を提供する ・データと業務機能をカプセル化し、提供する
12.
サービスがそれ単体で業務上の意味を持つ 最小のサービスにすべき
13.
通信 ・REST 多くの利用者をサポートすることができる OpenAPI による通信規約が存在する ・gPRC 利用者によってはサポートが難しい 仕様して規約が存在する
14.
Pizza Hut では使い分けている REST
… 外部通信 gRPC … 内部通信(サービス間通信)
16.
API管理の課題 ・API Key, JWT
などのセキュリティ ・使い方とパフォーマンスの可視化 ・OpenAPI への統合
17.
Cloud Endpoints ・柔軟なセキュリティオプション ・CloudConsole 内のリッチなダッシュボード ・OpenAPI仕様に沿ってエンドポイントを提供できる
18.
ESP によって REST
API へのリクエストを Rest Server Container にプロキシする。 Rest Server Container はリクエストを gRPC に変換する。
19.
外部提供する gRPC のエンドポイントを Rest
Server Container 経由で RestAPI として外部に提供できる
20.
gRPC ↔ REST
の変換は CloudEndpoints や gRPC- Gateway を利用せずに手作業でやっている。 ボイラーテンプレート気味なので改善していく予定。
21.
UseCase: Store Location
Service ・Cloud Datastore を採用 ・速い ・スケールする ・マルチリージョンによる高い可用性
22.
Datastore に既存データをインポートする必要がある
23.
インポートジョブを実行するコンテナを立てて対応
24.
Kubernetes にも高い可用性をもたせたい ・Cloud Load
Balancing(Ingress) ・マルチリージョンによる高い可用性 ・地理的に近いクラスターの提供 ・動かないサービスを自動的に除外
25.
既存の GEK の
Service = LoadBalancer は そのまま残している トラフィックが残っている & テストで利用するため
26.
Stackdriver が便利 ・分散システムでもリクエストトレーシングが可能 ・あらゆるメトリクスが取れる ・どこで何が起こっているのかを把握できる
27.
Designing Quality APIs
28.
概要 API設計の Tips
29.
APIが直面する問題 ・変更の難しさ 既存のレガシーなソフトウェアは複雑である 変更は困難である ・統合の難しさ それぞれのAPIが独自の仕様を持つ それらを統合して特定の目的を達成するのは難しい
30.
解決方法 ・アプリケーションをまたがって統一されたAPI ・統一されたモデルの関係性 ・free of implementation
assumptions 実装仮定からの開放(?)
31.
これらを実現できれば 問題を解決することができる どのように実現する?
32.
APIのスタイル ・Entity Oriented いわゆるリソース指向な REST
API APIはエンティティを持ち、 それに対する CRUD 操作を提供する
34.
・DBのスキーマを学ぶのに似ている ・扱うEntityは違えど、APIに統一感がある
35.
APIのスタイル ・Procedure Oriented いわゆる RPC APIは特定の操作を提供し、 クライアントはその操作を呼び出す
37.
・プログラミングのライブラリを学ぶのに似ている ・REST ほどAPIに統一感がある保証はない
38.
解決方法 ・アプリケーションをまたがって統一されたAPI ・統一されたモデルの関係性 ・free of implementation
assumptions 実装仮定からの開放(?) ↑ Entity Oriented な API が適している
39.
Entity Oriented な
API の問題 HTTP がベースなので、 HTTP Method による直感的な操作が可能である。 一方で “クエリ”, “バージョン” に関しては定義されてい ない。
40.
クエリにおける失敗例と解決案
41.
例1 リソースの id =
12345 ということはわかるが、 どのように取得するのかは分からない。
42.
解決案 リソースの id にパスを含めることによって、 “どのように取得するのか?”
を伝えることができる
43.
例2 ownerID は id
= 12345 のリソースに対する親リソース である。 しかし、どのように owner リソースを取得するのかが分 からない
44.
解決案 ownerID ではなく、owner リソースに対する
URL を指 定することによって解決できる。
45.
懸念 id のみ保存する場合はパスやURLをパースして取 得することになるのかな?
46.
バージョン
47.
バージョンの種類 1. Entity Versioning エンティティのデータ構造が変わる 新エンティティ、旧エンティティが存在する 2.
Format Versioning フィールド名のリネーム レスポンス構造の変更 エンティティ自体は1種類しかない 3. Historical Versioning Entity Version, FormatVersion を統合したバージョン 特定バージョンへの undo, redo に利用することができる *解釈が間違っているかもしれません
48.
Format Version における失敗例と解決案
49.
例 id, owner のパスにバージョンを含めてしまう。
50.
例 レスポンスを受け取るクライアントが v1 を利用すると は限らない。 owner
のみ v2 を利用したいかもしれない。
51.
例 owner には v2
が存在するが、 id のリソースには v2 が存在しないかもしれない。
52.
解決案???? かといって、バージョンを取り除いてしまうと情報が失 われてしまう。
53.
解決案 レスポンスリソースのバージョンのみ含める。 HTTP Header に含めた方が良いが、 プロパティに含めても問題はない。
54.
解決案 ・version-free な URI
を用意する。 ・HTTP Header に “Accept-Version” を指定可能にす る。 ・オプションとして URL 内に version を含められるよ うにする。
55.
gPRC vs REST ・gRPC スループットが高い コードを自動生成できるので楽 結合度の高いコンポーネント同士で利用する ・REST 将来的な変更に適用しやすい システム統合に強い 顧客に提供するのであれば
REST にすべき
56.
おわり
Download