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 for toB
Search
chibicco
September 30, 2021
Programming
0
270
Microservices for toB
chibicco
September 30, 2021
Tweet
Share
More Decks by chibicco
See All by chibicco
AIを活かすためのリファクタリング
chibicco
0
59
ソフトウェアアーキテクトのススメ
chibicco
0
590
Other Decks in Programming
See All in Programming
CSC307 Lecture 15
javiergs
PRO
0
260
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
130
ロボットのための工場に灯りは要らない
watany
11
3k
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
120
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
500
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記 / "It’s Not Working!" A Struggle with Error Handling in API Platform using DI
mkmk884
0
110
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
160
OTP を自動で入力する裏技
megabitsenmzq
0
120
存在論的プログラミング: 時間と存在を記述する
koriym
3
220
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
530
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
350
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
220
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
110
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
260
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
400
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
480
Git: the NoSQL Database
bkeepers
PRO
432
66k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
180
Mobile First: as difficult as doing things right
swwweet
225
10k
How to train your dragon (web standard)
notwaldorf
97
6.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
How to build a perfect <img>
jonoalderson
1
5.3k
Transcript
Microservices for toB 2021年9月30日
自己紹介 2 2019年1月:マネーフォワード入社。 前職までは、ソーシャルゲーム業界(BtoC領域)のサーバサイドエンジニアと して、新規アプリ立ち上げ〜運用まで一通りのサーバサイド業務に携わり、 周年イベントと大量のデータに奮闘していた。
現職では、経理財務プロダクトのサーバエンジニアとして運用・開発に携わ り、2021年より同プロダクトのアーキテクチャ改善を推し進めている。 鈴木 栄次 経理財務プロダクト本部 アーキテクチャ部 Architectグループ (すずき えいじ)
3 社 名 株式会社マネーフォワード 設 立 2012年5月 上場市場 東京証券取引所市場第一部
【証券コード:3994】 本社所在地 〒108-0023 東京都港区芝浦3-1-21 msb Tamachi 田町ステーションタワーS 21F 3 お金を前へ。人生をもっと前へ。 MISSION 会社概要
02 目 次 4 はじめに マイクロサービス化 DDD ドメイン知識
おわりに 成長し続けるサービス ソーシャルゲームと会計の違い
はじめに
プロダクト 6
プロダクト(私の担当領域) 7
担当するサービスの特性 8 • 性質的にはBtoBtoCが近い • toC/toBともにターゲット
ソーシャルゲームと会計の違い
10 データ量や高アクセスの考慮
11 サービス間連携
12 法律の存在
それ、toBだからかも? 13
成長し続けるサービス
15 開発速度の低下
サービス間連携 16 外部サービス
17 データの肥大化
18 分割で複雑さに立ち向かえ
マイクロサービス化
前提条件 20 Rapid provisioning 数時間で新しいサーバを立ち上げることができる状態にする。 最初から全て自動化する必要はないが、マイクロサービスを本格化させ るためにはそれも必要になってくる。 Basic Monitoring 技術的な問題(エラーやサービスの状態)についてはもちろん、
発注数の減少などビジネス的な定常性についてもモニタリングする価値 がある。問題が発生した場合にはすぐにロールバックできる必要があ る。 Rapid application deployment 環境にかかわらず、迅速にデプロイできる必要がある。 初期段階での手作業は問題ないが、いずれ完全に自動化することにな る。
21
22 関心毎を分離する
23 機能を小分けにして、 APIでデータをやり取りする
24 例えば...
クラウド 会計 25 仕訳 勘定科目 レポート 明細
None
None
None
29 素直に分解すると
クラウド 会計 30 仕訳 勘定科目 レポート 明細
クラウド 会計 31 仕訳 勘定科目 レポート 明細
DDD ドメイン知識
ドメイン知識とは 33 取り組んでいる分野に対する知識
34 ドメイン知識を元に認識を共通化
35 既に手作業で進めている事をデジタ ルにしている
クラウド 会計 36 仕訳 勘定科目 レポート 明細
サービスA クラウド 会計 37 仕訳 勘定科目 レポート 明細API
サービスB サービスA クラウド 会計 38 仕訳 勘定科目’ レポート 明細’ 勘定科目
明細API
プロダクト(私の担当領域) 39
サービスB サービスA クラウド 会計 40 仕訳 レポート 明細’ マスター データ
明細API 経費 請求書
41 まだまだ長い道の途中
おわりに
まとめ 43 • 目的があり、常にそれを考える • マイクロサービスは手段 • ドメイン知識はマイクロサービスに関わらず重要である
We’re hiring!! 44
45 ご清聴ありがとうございました