Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Microservices - CADDi STUDDi
Search
[email protected]
February 17, 2022
Technology
1
710
Microservices - CADDi STUDDi
[email protected]
February 17, 2022
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
[ English ] Company Overview for Engineers
caddi_eng
0
11
エンジニア向け会社紹介資料
caddi_eng
14
270k
CADDi 会社紹介・採用説明資料
caddi_eng
11
760k
機械学習チームのモノレポ移行
caddi_eng
0
430
BtoB SaaS を支える 認証認可基盤の設計
caddi_eng
0
920
2023.01_CADDi Thailand Company Overview
caddi_eng
0
14k
20220826_Company Briefing Online Event
caddi_eng
0
480
OpenSearchで実現する画像検索とテスト追加で目指す安定運用
caddi_eng
4
6k
製造業向け新事業の基盤をエンジニア1人のチームでローコード&マネージドで半年で立ち上げた話_220810
caddi_eng
0
1k
Other Decks in Technology
See All in Technology
JPOUG_10_20241018_OracleDB_AWS_v1.3.pdf
asahihidehiko
1
190
Vue.js、Nuxtの機能を使い、 大量のコピペコードをリファクタリングする
igayamaguchi
3
1.4k
0x5F3759DF
ykozw
0
340
Amazon Managed Grafana で AWS IoT TwinMaker によるデジタルツインアプリケーションを動かしてみた
wakatsuki
0
120
俺とVSCode Python Debugger Extension
sat
PRO
1
150
Covariance, Contravariance & Diamond
alexdaubois
1
120
入社半年(合計1年)でGoogle Cloud 認定を全冠した秘訣🤫
risatube
1
280
AWS DDKを利用したDataOps事始め
beex
1
170
フェンリルの SwiftUI の研修を覗いてみる / Fenrir SwiftUI Training
studio_rookery
0
160
SOLID - Architecture and Architectural Decisions - Devfest Goa 2024
rivuchk
0
160
v-modelの歩みを振り返る
bengo4com
5
2.4k
多数のWebサービスをECS/Fargate構成で効率よく構築・運用するなら copilot-cli
interu
2
170
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
Gamification - CAS2011
davidbonilla
80
5k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
630
Designing Experiences People Love
moore
138
23k
Teambox: Starting and Learning
jrom
132
8.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
Become a Pro
speakerdeck
PRO
24
4.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
5
130
Transcript
Microservices 2022/02/15
What is Microservices • Microservicesとは? ◦ 一つのアプリケーションを小さなサービスの集合体として開発するアプローチ ◦ 1つのことに集中しそれらを組み合わせる ◦
正確な定義はない • pros ◦ Independently Deployable ◦ Technology Diversity ◦ Owned by a small team • cons ◦ Complexity ◦ Complexity ◦ Complexity
Microservices Patterns • Patterns ◦ API Gateway ◦ Choreography ◦
Microservice Chassis ◦ Service Discovery
Microservices Patterns • API Gateway ◦ 外部クライアントからのすべての APIリクエストを受け付ける ◦ Backend
serviceのAPIを合成して1つのAPIとして提供する ◦ Edge Functionの提供 ▪ 流量制御 ▪ キャッシング ◦ 課題 ▪ パフォーマンス ▪ スケーラビリティ
Microservices Patterns • Choreography ◦ 非同期メッセージングパターンを使用してビジネス操作をコーディネートする ◦ サービスの数が増加しメッセージが増えると、サービス間のワークフローは複雑になる傾向がある ◦ ピタゴラスイッチ職人の誕生
Microservices Patterns • Microservice Chassis ◦ 各サービスで共通で必要な基盤を提供する ◦ サービスの新規作成が早く・簡単に ◦
認証/認可, Observability, build設定など
Microservices Patterns • Service Discovery ◦ サービスのネットワークロケーションをクライアント( API Gateway や他のサービス)が、どうやって見
つけるか? ◦ DNSも伝統的なService Discovery ◦ k8sが内部的に行っている
Real World Microservices • API Gateway @Uber ◦ https://eng.uber.com/architecture-api-gateway/
Real World Microservices • Orchestrator @Netflix ◦ https://netflixtechblog.com/netflix-conductor-a-microservices-orchestrator-2e8d4771bf40
Real World Microservices • Microservice Chassis @Wantedly ◦ マイクロサービス共通ライブラリで “Governance
through code” を実現する
Real World Microservices • Service Discovery @Netflix ◦ https://netflixtechblog.com/netflix-shares-cloud-load-balancing-and-failover-tool-eureka-c10647 ef95e5
Real World Microservices • Microservicesは複数のServiceを協調させてひとつの系を成す
Real World Microservices • Microservicesは複数のServiceを協調させてひとつの系を成す ソフトウェアの枠組みに収まる概念ではない
Real World `like` Microservices • 具体的に考えてみる ◦ 食器メーカー ◦ 食品メーカー
◦ 水道局 ◦ 家具メーカー
The social division of labor • 社会的分業 ◦ 労働が社会のさまざまな生産分野に専門化することによってつくりだされる社会経済的編成 ◦
現実社会もまた専門性を組み合わせるひとつの系である
CADDi as Microservices
CADDi as Microservices
CADDi as Microservices • Patterns ◦ API Gateway ◦ Choreography
◦ Microservice Chassis ◦ Service Discovery
CADDi as Microservices • API Gateway ◦ 顧客からの発注(Request)に対して、複数のSP(Service)に発注し製品を納品 (Response)する ◦
キャッシュはCADDiでかかえる在庫と置き換えることができる ▪ 似たようなリクエスト = リピート品? ▪ Cache Hit Ratio = 在庫引当率? ◦ 流量制御はSPの負荷を考慮して発注を行うこと CADDi SP SP SP 顧客 顧客
CADDi as Microservices • Choreography ◦ メッセージを製品と置き換えることができる? ◦ 各SPで加工(Process)を行って次の工程を行う SP(Service)に発送(Publish)する
◦ Service数が増えてくると複雑度が増すということを考えると、 SC設計/運用はChoreographyよりも CADDiを中心にしたOrchestrationの方が良さそう
CADDi as Microservices • Microservice Chassis ◦ サプライチェーンを構成する全 SPに共通した機能 =
SPP? ◦ AnchorをSPに配布することでSP側での在庫情報などの Observabilityを上げることを考えられるか もしれない
まとめ • Microservicesは1つの系である • Microservicesの考え方はソフトウェアの枠を超える • CADDiをMicroservicesと置く思考実験