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]
エンジニア向け会社紹介資料
caddi_eng
14
270k
CADDi 会社紹介・採用説明資料
caddi_eng
11
750k
機械学習チームのモノレポ移行
caddi_eng
0
420
BtoB SaaS を支える 認証認可基盤の設計
caddi_eng
0
900
2023.01_CADDi Thailand Company Overview
caddi_eng
0
14k
20220826_Company Briefing Online Event
caddi_eng
0
470
OpenSearchで実現する画像検索とテスト追加で目指す安定運用
caddi_eng
4
6k
製造業向け新事業の基盤をエンジニア1人のチームでローコード&マネージドで半年で立ち上げた話_220810
caddi_eng
0
1k
半年で製造業向けAIサービスをリリースした開発チームのノウハウ大公開!_220713
caddi_eng
1
920
Other Decks in Technology
See All in Technology
テストコードの品質を客観的な数値で担保しよう〜Mutation Testのすすめ〜
ysknsid25
12
3.1k
I tried the newly introduced certification "Applied Skills" on Microsoft Learn
mappie_kochi
0
150
【shownet.conf_】ShowNet伝送改めShowNet APN 2024
shownet
PRO
0
440
【インフラエンジニアbooks】30分でわかる「AWS継続的セキュリティ実践ガイド」
hssh2_bin
4
1.6k
VS CodeでF1〜12キーつかってますか? / Do you use the F1-12 keys in VS Code?
74th
2
290
AWSの初級者向けAI・ML資格『AWS Certified AI Practitioner』の傾向と対策/So You Want To Pass AWS Certified AI Practitioner
quiver
0
230
これはPerl? それともRuby? クイズ〜〜〜〜〜!!!- Perl or Ruby Quiz
moznion
2
1.7k
Develop to Survive - YAPC::Hakodate 2024 Keynote
moznion
8
2.3k
スタサプ ForSCHOOLアプリのシンプルな設計
recruitengineers
PRO
3
520
15 JSON serializers for Ruby
okuramasafumi
2
100
Assisted reorganization of data structures
ennael
PRO
0
250
Tracking down sources of kernel errors with retsnoop
ennael
PRO
0
160
Featured
See All Featured
Web development in the modern age
philhawksworth
205
10k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Code Review Best Practice
trishagee
62
16k
How To Stay Up To Date on Web Technology
chriscoyier
787
250k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
25
660
Six Lessons from altMBA
skipperchong
26
3.4k
Faster Mobile Websites
deanohume
304
30k
Adopting Sorbet at Scale
ufuk
73
9k
KATA
mclloyd
27
13k
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
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と置く思考実験