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.
→
Takafumi Yamamoto
July 07, 2019
Programming
1
540
オンボーディングから深掘るマネーフォワードのサーバサイド事情
2019/07/07 サーバサイドエンジニアオールスターズ in 関西
株式会社マネーフォワード
Takafumi Yamamoto
July 07, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
280
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
100
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
並行開発のためのコードレビュー
miyukiw
0
1.2k
AtCoder Conference 2025
shindannin
0
1.1k
CSC307 Lecture 05
javiergs
PRO
0
500
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
790
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.7k
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
190
Embracing the Ebb and Flow
colly
88
5k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
A Tale of Four Properties
chriscoyier
162
24k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
52
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
330
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
オンボーディングから深掘る マネーフォワードのサーバサイド事情 2019/07/07 山本 貴文
マネーフォワードの山本です
マネーフォワードについて 何でも知ってるんでしょ?
マネーフォワードについて 何でも知ってるんでしょ?
5月15日 入社して38営業日です
MEの裏話や、 MFCの深イイ話は 聴けないんだ...
マネーフォワードの イケてるところの お話はできる! 入社38営業日目の新人
15分で サーバサイド事情 オンボーディング事情
None
改めてアジェンダ • 自己紹介 • マネーフォワードのオンボーディング事情 ◦ エンジニアリング側 ◦ ビジネス側 •
オンボーディングから深掘るサーバサイド事情 ◦ マネーフォワードの歴史 ◦ デプロイ方法
自己紹介 山本 貴文 (bino98) 名古屋市 -> 北海道函館市 -> 東京都
2015年04月 株式会社Speee 2018年04月 (何社かの副業経験) 2019年05月 株式会社マネーフォワード 人事労務領域のプロダクト開発 子ども/コーヒー/電車の音/ゲーム
弊社サービス
“マネーフォワードのオンボーディング事情”
新入社員が 環境構築からデプロイができるまで どれぐらい時間がかかりますか?
入社後1日で、 - マネーフォワード ME - マネーフォワード クラウド勤怠 - マネーフォワード クラウドマイナンバー
- マネーフォワード クラウド給与 - マネーフォワード クラウド会計 の環境構築が完了
入社後7営業日で、 - マネーフォワード クラウド勤怠 のデプロイができました。
これって、早くないですか? (そんなことないってツッコミは受け付けない...)
その秘訣はオンボーディングです
ビジネス エンジニアリング 豊富なドキュメント メンター制度 技術背景の解説講義 会社のことの講義 プロダクトの スクーリング CSチーム研修
エンジニアリング側 • esaのドキュメントがとにかく豊富 ◦ 新人はesaの読み込みから始まります。 ◦ esaには各プロダクトの環境構築からオフィスのゴミ箱の場所まで ありとあらゆる情報が集約されてます ◦ 各プロダクトの環境構築手順などもあります
• メンター制度 ◦ 新卒/中途限らずメンターの方が付き添ってくださり、 慣れるまで相談に乗ってくれる人がいる
エンジニアリング側 • 技術背景などがちゃんと共有される ◦ 入社後、ある程度慣れたタイミングを見計らって講義が行われる ◦ 少人数でザックバランに過去の話を聴く機会が用意されている
ビジネス側 • 会社のことの講義 ◦ 役員の趣味から今後の事業の方針、個々人の評価方法まで、 2、3日間の講義が入社後に実施。 ◦ 誰にどんなことを聞けばいいかがわかる。 •
プロダクトのスクーリング ◦ 簿記の知識からプロダクトの操作方法などを学べる ◦ 自社プロダクトの機能を網羅的に知れる
ビジネス側 • CSチーム研修 ◦ エンジニアでも研修の一環で CSチームに一時的にジョイン...というのもある ◦ CSさん向けの研修に参加し、 ユーザの引っかかりポイントなどを共有してもらう
背景理解や機能説明などの フォローもとにかく手厚い
質の高いコミットを高速に出せる 環境づくりが行われています
None
“オンボーディングから深掘るサーバサイド事情”
職能別のエンジニアチーム • アプリケーションの開発/運用チーム ◦ 私はここです • サービス基盤を作るインフラチーム ◦ SRE的な役回りを含む •
アカウントアグリゲーションのチーム ◦ 社内ではアグリ村と呼ばれている • CTO直属や横断チームも存在する ◦ テックエンハンスメント ◦ 京都やベトナムにも拠点がある
私がいるチーム • 人事労務領域開発部という部署に所属してます ◦ アプリケーションを開発するチーム ◦ BtoB向けのサービスの中でも特に人事労務領域 ◦ 以下のプロダクトの開発/運用 MFC
勤怠 MFC マイナンバー MFC 給与 • ではなぜ、MF ME や 別領域のMFC 会計の環境構築が必要なのか...?
ここで、マネーフォワードの歴史を紐解く
最初は家計簿アプリからスタートした • PFM(Personal Financial Management)の誕生 ◦ データアグリゲーションとアプリケーションが分離されている ◦ という事情により、リリース方法が少し独特になる。(後ほど) ◦
Railsに詳しい人が居なかった時代 • マネーフォワード クラウド会計/確定申告 ◦ PFMユーザから 確定申告で使いたい という声 ◦ よって、PFMとクラウド会計/確定申告のユーザが 共通 であった
最初は家計簿アプリからスタートした • マネーフォワード クラウド請求書 ◦ クラウド会計/確定申告のスピンアウト ◦ スピンアウトなので、DBやテーブルが同居している •
これらのプロダクトは密結合気味であった ◦ 社内では 桃園の誓いアーキテクチャ と言われる
引用元: 横山光輝 潮出版社 三国志 第1巻「桃園の誓い」
None
脱・密結合なプロダクトづくり • マネーフォワード クラウド給与 ◦ 共通化された機構を基盤化する試みが行われる ◦ Mountableエンジンにて幾つかの処理が基盤化 ◦ DBも分離させるようになった
• その後 ◦ マネーフォワード クラウド経費 ◦ マネーフォワード クラウドマイナンバー...etc
脱・密結合なプロダクトづくり • マネーフォワード クラウド勤怠 ◦ 2019年3月5日 ◦ ゼロベースで開発されたプロダクト ◦
既存のアーキテクチャの影響を受けない
以上を踏まえて... • マネーフォワード クラウド給与/マイナンバー ◦ PFMやクラウド会計の環境構築を行う • マネーフォワード クラウド勤怠
◦ 単独で動かすことが可能 • 回答: 「前提のアプリケーションの環境構築を行う必要があるため」
「え、ぶっちゃけ大変じゃない?」
docker-composeによる環境構築も可能です • 今までの話は全部手作業で環境構築でした • しかし、弊社ではdocker-composeを用いて手元で開発できます ◦ ローカル開発環境の構築に悩まない ◦ (一部のプロダクトでは) リモートの環境もdocker化されています
◦ makefileで作られた便利コマンドがたくさんあります ◦ k8sも取り入れ始められてます • 入社後38営業日間、私はdocker-compose使ってます
今後の話 • マイクロサービス化 ◦ データ繋がりはモノリシックで、共通化にも一定のメリットがある ◦ しかし、よりサービスを成長させるため 疎結合なアーキテクチャへの移行が行われている
桃園の誓いアーキテクチャ下の デプロイってどんな風にやるの?
2つのリリース手順 • 前述の通り、モノリシックな箇所がある都合上 2つのリリース手順が存在する • クイックリリース ◦ サービスを止めないリリース ◦
マイグレーションを含まない修正 • 定期リリース ◦ 毎週決まった時刻にサービスを停止してリリースする ◦ マイグレーションを含む修正
どんな環境が用意されてるのか • pdev ◦ dev/stg より更に開発者にとって身近な共用環境 • dev ◦ 開発中のアプリケーションの品質担保を継続的に行う為の環境
• stg ◦ リリース用に開発物を〆てFIXさせたものを、 本番リリースに向けてStableなバージョンとして 品質を担保・テストを行う為の環境 • prod
改めて、マネーフォワードが保有するデータとは • 大量の重大なデータ ◦ 大量の個人・法人を問わない、お金に関する情報 ◦ ECサイトなどの購買履歴情報 • 何があっても漏洩は許されない ◦
MF PWS (マネーフォワード プロテクテッドワークスペース) ◦ プライバシーマーク/ISMSを取得している
MF PWS • MF PWS(マネーフォワード プロテクテッドワークスペース) ◦ 社内のファイルサーバとも隔離されたシンクライアントに似たもの ◦ 予め指定された業務に限ってインターネットにアクセスできる
◦ ありとあらゆるログが取られている ◦ 「PWSは、2段階認証です」
本番リリース作業 • 本番環境以外へのリリース ◦ Githubのリポジトリにpush ◦ CIがリポジトリ毎に異なる環境へデプロイ • 本番環境へのリリース
◦ Githubのリポジトリにpush ◦ 権限がある者が作業を行う ◦ PWSに入り、jenkinsのジョブを実行しデプロイ
以上、マネーフォワードの2つの事情でした
そして最も言いたいことは...
入社して38営業日の人が 壇上に立ってサーバサイドを 語れるってこと
このような説明が、 すべてドキュメントや講義形式で フォローされる凄さ
オンボーディング、大成功です
Thank you!