Upgrade to Pro — share decks privately, control downloads, hide ads and more …

オンボーディングから深掘るマネーフォワードのサーバサイド事情

 オンボーディングから深掘るマネーフォワードのサーバサイド事情

2019/07/07 サーバサイドエンジニアオールスターズ in 関西
株式会社マネーフォワード

Avatar for Takafumi Yamamoto

Takafumi Yamamoto

July 07, 2019
Tweet

Other Decks in Programming

Transcript

  1. 改めてアジェンダ • 自己紹介
 • マネーフォワードのオンボーディング事情
 ◦ エンジニアリング側
 ◦ ビジネス側
 •

    オンボーディングから深掘るサーバサイド事情
 ◦ マネーフォワードの歴史
 ◦ デプロイ方法

  2. 自己紹介 山本 貴文 (bino98)
 
 名古屋市 -> 北海道函館市 -> 東京都


    
 2015年04月 株式会社Speee
 2018年04月 (何社かの副業経験)
 2019年05月 株式会社マネーフォワード
 人事労務領域のプロダクト開発
 
 子ども/コーヒー/電車の音/ゲーム

  3. 入社後1日で、 - マネーフォワード ME - マネーフォワード クラウド勤怠 - マネーフォワード クラウドマイナンバー

    - マネーフォワード クラウド給与 - マネーフォワード クラウド会計 の環境構築が完了
  4. ビジネス側 • 会社のことの講義
 ◦ 役員の趣味から今後の事業の方針、個々人の評価方法まで、
 2、3日間の講義が入社後に実施。
 ◦ 誰にどんなことを聞けばいいかがわかる。
 
 •

    プロダクトのスクーリング
 ◦ 簿記の知識からプロダクトの操作方法などを学べる
 ◦ 自社プロダクトの機能を網羅的に知れる

  5. 職能別のエンジニアチーム • アプリケーションの開発/運用チーム
 ◦ 私はここです
 • サービス基盤を作るインフラチーム
 ◦ SRE的な役回りを含む
 •

    アカウントアグリゲーションのチーム
 ◦ 社内ではアグリ村と呼ばれている
 • CTO直属や横断チームも存在する
 ◦ テックエンハンスメント
 ◦ 京都やベトナムにも拠点がある

  6. 最初は家計簿アプリからスタートした • PFM(Personal Financial Management)の誕生
 ◦ データアグリゲーションとアプリケーションが分離されている
 ◦ という事情により、リリース方法が少し独特になる。(後ほど)
 ◦

    Railsに詳しい人が居なかった時代
 
 • マネーフォワード クラウド会計/確定申告
 ◦ PFMユーザから 確定申告で使いたい という声
 ◦ よって、PFMとクラウド会計/確定申告のユーザが 共通 であった

  7. 以上を踏まえて... • マネーフォワード クラウド給与/マイナンバー
 ◦ PFMやクラウド会計の環境構築を行う
 
 • マネーフォワード クラウド勤怠


    ◦ 単独で動かすことが可能
 
 • 回答: 「前提のアプリケーションの環境構築を行う必要があるため」
 
 

  8. 2つのリリース手順 • 前述の通り、モノリシックな箇所がある都合上
 2つのリリース手順が存在する
 
 • クイックリリース
 ◦ サービスを止めないリリース
 ◦

    マイグレーションを含まない修正
 • 定期リリース
 ◦ 毎週決まった時刻にサービスを停止してリリースする
 ◦ マイグレーションを含む修正

  9. どんな環境が用意されてるのか • pdev
 ◦ dev/stg より更に開発者にとって身近な共用環境
 • dev
 ◦ 開発中のアプリケーションの品質担保を継続的に行う為の環境


    • stg
 ◦ リリース用に開発物を〆てFIXさせたものを、
 本番リリースに向けてStableなバージョンとして
 品質を担保・テストを行う為の環境
 • prod

  10. 本番リリース作業 • 本番環境以外へのリリース
 ◦ Githubのリポジトリにpush
 ◦ CIがリポジトリ毎に異なる環境へデプロイ
 
 • 本番環境へのリリース


    ◦ Githubのリポジトリにpush
 ◦ 権限がある者が作業を行う
 ◦ PWSに入り、jenkinsのジョブを実行しデプロイ