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
モノレポによるマイクロサービスアーキテクチャの開発運用
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuta Shimakawa
March 08, 2023
Technology
2
6.2k
モノレポによるマイクロサービスアーキテクチャの開発運用
マイクロサービスのコードベース管理手法の一つであるモノレポによる開発のメリット・デメリットに触れつつ、実際の開発現場における運用上の工夫について紹介します
Yuta Shimakawa
March 08, 2023
Tweet
Share
More Decks by Yuta Shimakawa
See All by Yuta Shimakawa
現場のデータを集める技術
bananaumai
0
190
Build real world data collecting architecture with Goroutine and Channel
bananaumai
1
720
Other Decks in Technology
See All in Technology
脳内メモリ、思ったより揮発性だった
koutorino
0
380
Scrumは歪む — 組織設計の原理原則
dashi
0
200
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
楽しく学ぼう!ネットワーク入門
shotashiratori
4
3.4k
頼れる Agentic AI を支える Datadog のオブザーバビリティ / Powering Reliable Agentic AI with Datadog Observability
aoto
PRO
0
210
最強のAIエージェントを諦めたら品質が上がった話 / how quality improved after giving up on the strongest AI agent
kt2mikan
0
190
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
OSC仙台プレ勉強会 AlmaLinuxとは
koedoyoshida
0
190
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
2
510
ReactのdangerouslySetInnerHTMLは“dangerously”だから危険 / Security.any #09 卒業したいセキュリティLT
flatt_security
0
320
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
230
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
2
400
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
850
Unsuck your backbone
ammeep
672
58k
Building Applications with DynamoDB
mza
96
7k
The Limits of Empathy - UXLibs8
cassininazir
1
260
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
For a Future-Friendly Web
brad_frost
183
10k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
410
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
100
Designing for humans not robots
tammielis
254
26k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Documentation Writing (for coders)
carmenintech
77
5.3k
Transcript
© 2023 MODE, Inc. モノレポによる マイクロサービスアーキテクチャの開発運用 MODE, Inc. YUTA Shimakawa
1 2023/03/09 "良い開発者体験"にむけた国内/海外のアーキテクチャLT会 AWS編
© 2023 MODE, Inc. • SWE in the tech industry
for 10+ years • Joined MODE, Inc. 2019 • Backend & DevOps • SNS ◦ Twitter: @banana_umai ◦ GitHub: @bananaumai ◦ LinkedIn: Yuta Shimakawa YUTA Shimakawa 島川 悠太 Yuta Shimakawa 2
© 2023 MODE, Inc. MODE, Inc. 拠点:シリコンバレー、東京 2014年〜 シリコンバレー 2017年〜
東京 創業者:上田 学 /イーサン・カン 3 センサーからデータ集めて可視化・分析するた めの技術を軸に、現実世界のビジネス業務を改 善するためのIoT * DXなソリューションを提供
© 2023 MODE, Inc. 4 マイクロサービスアーキテクチャ
© 2023 MODE, Inc. 5 モノレポ • マイクロサービスのソースコードの管理手法の一つ • 各サービスを一つのソースコードリポジトリで管理する
• 反対はサービス毎にリポジトリを分ける • 日本だと比較的事例が少なめ(?) • アメリカのTech系スタートアップの界隈だと議論になりがち(らしい) • 某米検索最大手出身者が創業した会社ではモノレポが採用されがち(らしい)
© 2023 MODE, Inc. 6 • サービスの一覧性を高くしやすい • 開発に必要なサービス一式を立ち上げやすい •
同一言語で実装している場合、共通ライブラリの運用がしやすい • 複数のサービスやライブラリのコードを同一目的で変更しやすい • ハード/ソフトな共通化がしやすい(設定、デプロイ、規約など) モノレポのメリット
© 2023 MODE, Inc. 7 モノレポのデメリット • CICDパイプラインの構築に工夫が必要になりがち ◦ 工夫しないとCICDプロセスが鈍重になりやすい
◦ モノレポの構成自体にベストプラクティスがあるわけではないので、 すぐに使えるテンプレート的なCICDワークフローがない • モノレポに関わる人数や組織の構造によっては難しくなりがち(コンフリ クトの増加やブランチ管理の煩雑化など)
© 2023 MODE, Inc. 8 CICDパイプラインの工夫 ECR CodePipeline ECS AWS
GitHub Action push container images trigger pipeline • GHAでcontainer imageをbuild -> ECRにpush -> CodePipelineをトリガー • GHA WorkflowとAWS CodePipelineはサービス * 環境毎に作成 • mainブランチへのマージ時にサービスのコードに影響があればサンドボックス環境に自動デプロイ • ステージング及び本番デプロイについてはGit Tagを用いてデプロイワークフローをトリガーする
© 2023 MODE, Inc. 9 モノレポ管理の工夫 • 複雑なブランチ運用や長期ブランチを避ける(feature flagなど) •
モノレポで「あらゆるコード」を管理すべきか? ◦ NO ◦ 関連性が少ないコードは別リポジトリで分けている ◦ 例)ゲートウェイやモバイルアプリは別リポジトリで管理
© 2023 MODE, Inc. 10 所管・まとめ • 同一言語でバックエンドのマイクロサービスを構築する場合、モノレポは悪くな い選択肢 •
CICDパイプラインの管理やブランチ管理などには工夫が必要 • 似たような経験・知見・アドバイス・悩みがある方は是非お話ししましょう ◦ Twitter: @banana_umai ◦ GitHub: @bananaumai ◦ LinkedIn: Yuta Shimakawa
© 2023 MODE, Inc. 11 MODE is hiring
© 2023 MODE, Inc. 12