Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
オンボーディングから深掘るマネーフォワードのサーバサイド事情
Search
Takafumi Yamamoto
July 07, 2019
Programming
540
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
オンボーディングから深掘るマネーフォワードのサーバサイド事情
2019/07/07 サーバサイドエンジニアオールスターズ in 関西
株式会社マネーフォワード
Takafumi Yamamoto
July 07, 2019
Other Decks in Programming
See All in Programming
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
510
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
0
130
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
800
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
690
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
170
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
220
Next.js: The final boss of Web Performance
guaca
0
280
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
320
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
3.9k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
220
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
Rails Girls Zürich Keynote
gr2m
96
14k
Practical Orchestrator
shlominoach
192
12k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Side Projects
sachag
456
43k
The Limits of Empathy - UXLibs8
cassininazir
2
720
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
Abbi's Birthday
coloredviolet
4
10k
Raft: Consensus for Rubyists
vanstee
142
7.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
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!