デブサミ2020【13-E-5】Googleにおける「ソフトウェア×インフラ」デザイン〜マイクロサービス・アーキテクトの視点から〜 #devsumiE #devsumi

中井 悦司[グーグル・クラウド・ジャパン] https://event.shoeisha.jp/devsumi/20200213/session/2371/ Developers Summit 2020の講演資料・参加レポート一覧: https://codezine.jp/article/detail/11981
0
merutin @merutin

公開のAPIはBFFに集約するパターン #devsumiE

2020-02-13 14:29:11
ozaki25 @ozaki25rn

- Web3層アーキテクチャ - クライアント - Webサーバ - Appサーバ - マイクロサービスWebアーキテクチャ - クライアント - reverse proxy - BFF - 同期系サービス(n個) - 非同期系サービス(n個) #devsumi #devsumiE

2020-02-13 14:29:11
丹 / 株式会社DELTA(SEVENRICH GROUP) @jugglertansan

「マイクロサービスwebアーキテクチャ」 Viewはクライアント側でやる(SPA) BFFが生のマイクロサービスを束ねてJSONを返す。 #devsumiE

2020-02-13 14:29:42
materia @materia_x64

マイクロサービスWebアーキテクチャ (今は大体こんな感じ@中井さん) View:JSでクライアントにやらせる BFF(Backend for Frontend):外部公開APIとサービス実装を分離 サービス:同期系と非同期系を分離 #devsumi #devsumiE

2020-02-13 14:30:12
やすたに@PerCode @ystn_percode

一般的なマイクロサービスアーキテクチャ ・クライアントとViewはjsonだけのやりとり ・クライアントロジックの複雑化やセキュリティの難題化が起こる ・BFFがアグリゲートして必要な機能をAPIとして公開 #devsumiE

2020-02-13 14:30:21
バンビ @saitoryc

マイクロサービスWebアーキテクチャ まぁ名前的にはしっくり来るというか、そうなるよねという名前。むしろBFFってもっといい名前ないのかなw #devsumiE

2020-02-13 14:30:26
丹 / 株式会社DELTA(SEVENRICH GROUP) @jugglertansan

「マイクロサービスwebアーキテクチャ」は結局web三層と本質的には変わらない #devsumiE

2020-02-13 14:31:02
sakon @Sakonju

SRE本にもちょいちょい出てきたサービス名が並んでる #devsumiE

2020-02-13 14:33:15
merutin @merutin

マイクロサービスの為のミドルウェアがたくさん用意されている #devsumiE

2020-02-13 14:33:55
やすたに@PerCode @ystn_percode

なるほど APIから後ろが同期・非同期Jobでデータパイプラインに処理を任せるみたいなことをやってるわけね #devsumiE

2020-02-13 14:33:59
materia @materia_x64

Google的マイクロサービス基盤要素 先と、違うところ ・他のサービスと共有しているLB(共有型) ・マイクロサービスのためのミドルが豊富に用意されている #devsumi #devsumiE

2020-02-13 14:34:24
丹 / 株式会社DELTA(SEVENRICH GROUP) @jugglertansan

googleもマイクロサービスwebアーキテクチャと変わらない 違う点としては、 1) LBでいうとくそでかいLBが一個あるだけだったり、共有型である。 2) ミドルウェアやツールがふんだんにある。 バッチ処理用のデータパイプラインや、ログ管理サービスなど。 #devsumiE

2020-02-13 14:34:46
炒瓜(いりうり)@料理好き @freemon97452321

マイクロサービスのためのミドルウェアが多いので、「~~を考えないといけない」「~~を考慮しないと」という考えが省けるため作業に集中できる #devsumi #devsumiE

2020-02-13 14:35:19
丹 / 株式会社DELTA(SEVENRICH GROUP) @jugglertansan

GCPを組み合わせると実現できないでもない。 #devsumiE

2020-02-13 14:35:35
やすたに@PerCode @ystn_percode

一発流すだけの軽いJobとかならGKEにせずCloud Runでもええやん #devsumiE

2020-02-13 14:36:13
やすたに@PerCode @ystn_percode

企業がモノリシックからマイクロサービスへ移行するための課題 ・モノリシックな現状に悲観 ・PoCレベルで終わり やってほしいこと ・スクラッチ開発ではなく既存アプリのマイクロサービス化 #devsumiE

2020-02-13 14:37:48
merutin @merutin

既存のマイクロサービス化は自分でもちょうど考えていた部分だ。DB以外はいけそうな感じはしてるんだよね #devsumiE

2020-02-13 14:38:20
ozaki25 @ozaki25rn

何か改修する時に色んな所に手を加えなくて良いのがマイクロサービスのメリット #devsumi #devsumiE

2020-02-13 14:40:36
materia @materia_x64

マイクロサービスで開発する利点・目的 スケーラビリティの実現、サービス単位の開発 ⇒ 新機能をすばやく ・想定外をへらす ・チーム間依存関係を減らす ・スケーラブルなインフラを活用 SREはサービス単位の粒度でアプリアーキテクチャーが把握できるので問題時の切分けが迅速 #devsumi #devsumiE

2020-02-13 14:40:55
sakon @Sakonju

マイクロサービスは人間の把握できる単位っていのもたしかになーと思う #devsumiE

2020-02-13 14:41:33
やすたに@PerCode @ystn_percode

Google SREはマイクロサービスの用意と連携を頭にいれ、特定サービスに特化したメンバーに必要に応じて割り振る 内部コンポーネントの粒度は上手く切り分けることでトラブルシューティングが早まる #devsumiE

2020-02-13 14:43:39
materia @materia_x64

想定外:多数のサービスにまたがる依存関係を気にせずに改修に集中できる 依存関係:チームの独立性をもたせて機能ごとのパラレル開発・リリースを可能に スケーラブル:実装プラットフォームがオートスケール機能を提供 #devsumi #devsumiE

2020-02-13 14:43:41
merutin @merutin

それは本当そうだと思う。 #devsumiE

2020-02-13 14:44:17