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
780
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
330
製造業の会計システムをDDDで開発した話
caddi_eng
3
1.7k
【CADDI VIETNAM】Company Deck for Engineers
caddi_eng
0
1.3k
CADDi Company Deck_Global.pdf
caddi_eng
1
430
[ English ] Company Overview for Engineers
caddi_eng
1
7.6k
エンジニア向け会社紹介資料
caddi_eng
17
550k
キャディ株式会社 会社紹介・採用説明資料
caddi_eng
12
1.1M
機械学習チームのモノレポ移行
caddi_eng
0
670
BtoB SaaS を支える 認証認可基盤の設計
caddi_eng
0
1.5k
Other Decks in Technology
See All in Technology
夢の印税生活 / Life on Royalties
tmtms
0
280
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
14
4.9k
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
400
20250818_KGX・One Hokkaidoコラボイベント
tohgeyukihiro
0
130
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
18
52k
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
8
1.6k
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
3
260
S3のライフサイクル設計でハマったポイント
mkumada
0
130
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
250
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
2
20k
自治体職員がガバクラの AWS 閉域ネットワークを理解するのにやって良かった個人検証環境
takeda_h
2
380
広島銀行におけるAWS活用の取り組みについて
masakimori
0
120
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Writing Fast Ruby
sferik
628
62k
How to train your dragon (web standard)
notwaldorf
96
6.2k
We Have a Design System, Now What?
morganepeng
53
7.7k
The Cult of Friendly URLs
andyhume
79
6.5k
Speed Design
sergeychernyshev
32
1.1k
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と置く思考実験