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
770
Microservices - CADDi STUDDi
[email protected]
February 17, 2022
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
240
製造業の会計システムをDDDで開発した話
caddi_eng
3
1.7k
【CADDI VIETNAM】Company Deck for Engineers
caddi_eng
0
1.1k
CADDi Company Deck_Global.pdf
caddi_eng
1
400
[ English ] Company Overview for Engineers
caddi_eng
0
5.8k
エンジニア向け会社紹介資料
caddi_eng
16
510k
キャディ株式会社 会社紹介・採用説明資料
caddi_eng
12
1.1M
機械学習チームのモノレポ移行
caddi_eng
0
650
BtoB SaaS を支える 認証認可基盤の設計
caddi_eng
0
1.4k
Other Decks in Technology
See All in Technology
VS CodeとGitHub Copilotで爆速開発!アップデートの波に乗るおさらい会 / Rapid Development with VS Code and GitHub Copilot: Catch the Latest Wave
yamachu
3
460
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
130
振り返りTransit Gateway ~VPCをいい感じでつなげるために~
masakiokuda
3
210
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
670
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
全部AI、全員Cursor、ドキュメント駆動開発 〜DevinやGeminiも添えて〜
rinchsan
10
5.1k
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
230
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
200
対話型音声AIアプリケーションの信頼性向上の取り組み
ivry_presentationmaterials
3
1.1k
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
4.4k
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
3k
ロールが細分化された組織でSREは何をするか?
tgidgd
1
420
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Six Lessons from altMBA
skipperchong
28
3.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Become a Pro
speakerdeck
PRO
29
5.4k
Why Our Code Smells
bkeepers
PRO
337
57k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
How to Ace a Technical Interview
jacobian
278
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
108
19k
Designing for Performance
lara
610
69k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
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と置く思考実験