狠狠撸

狠狠撸Share a Scribd company logo
福岡RubyKaigi#02
メドピアの全力Rails化の取り組み晒します!
目次
1. 自己紹介
2. メドピアってどういう会社?
3. MedPeerのRails化の話
4. 1年間取り込んでの振り返り
5. これからの展望
6. まとめ
自己紹介
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 3
2004年 横浜市立大学理学部物理学科卒。
2004年 フジシステムズ(SIer)入社。
ISPのサービス開発。(Perl、PHP、オレオレ)
2006年 株式会社ミクシィに入社。(Perl、オレオレ)
Find Job !の開発責任者。(Perl、オレオレ)
2011年に新規事業室に移り、
新サービスの開発。(Perl、Mojo、Amon2)
2012年 メドピア株式会社入社。(PHP、オレオレ)
現在に至る。
メドピア株式会社(2014年東証マザーズに上場)
執行役員 CTO 福村彰展
謝辞
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 4
メドピアもRubyと出会えました
目次
1. 自己紹介
2. メドピアってどういう会社?
3. MedPeerのRails化の話
4. 1年間取り込んでの振り返り
5. これからの展望
6. まとめ
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 6
Supporting Doctors, Helping Patients.
医師を支援すること。そして患者を救うこと。
集合知により医療を再発明する。
Mission
Vision
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 7
医師専用メディア運営が
メインの会社です
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25
8
医師の知見が集まるUGC型サイト
集合知
薬剤評価掲示板 FORUM(掲示板)
FORUM Survey
MedPeer朝日ニュース
症例相談
(Meet the Experts)
症例検討会
口コミ件数50万件以上。医師同士
で薬剤の処方実感を口コミ共有。
臨床からキャリア、プライベート
まで医師同士の自由な意見交換。
3,000件以上の回答が集まる医師
への大規模アンケート調査。
450名以上のエキスパートが臨床
の疑問を解決。
朝日新聞による全国の医療関連
ニュースを医師向けに配信
有名臨床研修指定病院の症例で、
鑑別診断をトレーニング。
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 9
メドピアの特徴は3つ!
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 10
1. 社長が現役の医師!
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 11
医療現場の手触り感
1. 社長が現役の医師!
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 12
2. 日本の医師の3人に1人が会員!
?
?
医師の3人に1人が会員
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 13
?
?
医師の3人に1人が会員
医療業界へゲームチェ
ンジが起こせるプラッ
トフォーム
2. 日本の医師の3人に1人が会員!
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 14
3.ダイナミックな
事業展開!
メドピアってどういう会社?
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 15
3.ダイナミックな
事業展開!
UGC型の医師プラット
フォームとシナジー
ヘルスケアx医療
※UGC:ユーザ(医師)が投稿したコンテンツで成立する
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 16
メドピアってどういう会社?
医師によるオンライン
健康相談プラットフォーム
チャットで気軽に相談 テレビ電話でじっくり相談
管理栄養士による
食事トレーニングサービス
管理栄養士が個別カウンセリング 専用アプリで
毎食アドバイス
アプリ自動連携の
体重体組成計も販売
昨年、ヘルスケアの会社を2社買収
1社目がメディプラット
2社目がフィッツプラス(旧クックパッドダイエットラボ)
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 17
一緒に働いてくれる方
大募集m(_ _)m
メドピアってどういう会社?
目次
1. 自己紹介
2. メドピアってどういう会社?
3. MedPeerのRails化の話
4. 1年間取り込んでの振り返り
5. これからの展望
6. まとめ
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 19
MedPeerは長い間
PHPの独自フレームワーク
巨大です。
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 20
PHPの独自フレームワーク
設計思想が謎。なんでこうなってるのかわからない。
メンテがおいついていない、というかメンテナー不在
CIが回せない?テストない
Library周りをいじるのがこわい
パフォーマンスがでない?カイゼンしにくい
キャッシュ機構が弱い
DB周りのパフォーマンス?トランザクションの作り込みが中途半端。
コネクションプーリングない
突然デッドロック発生したりする
セキュリティ対策にAjax通信が想定されていない
知見が秘伝のタレ化しやすい
ぐぐっても出てこない
等々
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 21
つらい
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 22
移行だ!
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 23
Rubyスペシャリストで
タスクフォース結成
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 24
社内Ruby経験の
エンジニア全員ジョイン
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 25
2名(10名中)
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 26
内製化したい一方で
スピーディに移行PJTを
軌道に乗せたい
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 27
軌道に乗せるまでの
基盤作り?文化作りは
パワーがいる
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 28
将来的には内製化を
見据えつつ外部の協力を
求めることに!
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 29
3名
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 30
技術顧問
パーフェクトRuby on Rails 共著の
前島氏
MedPeerのRails化の話:導入
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 31
2名+3名+技術顧問で
スタート
MedPeerのRails化の話:移行
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 32
PHP(独自)から
Ruby(Rails)へ
MedPeerのRails化の話:移行
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 33
一気に移行するのは大変
PHP?Ruby環境の並行稼動
MedPeerのRails化の話:移行
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 34
http://tech.medpeer.co.jp/entry/2017/01/31/004227
テックブログに寄稿しました
結構反響あり、社内でも盛り上がりました。
MedPeerのRails化の話:移行
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 35
Ruby環境
PHP環境
nginx
db-sync
一気に移行はしない(危険)
? PHP環境と新Ruby環境の並行稼動
? 移行を機にDB構造を見直す
? DBはPHP環境をRuby環境へSync
? 止められないPHPの開発は外部の協力!
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 36
同じ轍は踏まない!
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 37
品質!
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 38
初期からCI
? RSpec
? RuboCop
? eslint
? sass-lint
? haml-lint
? brakeman
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 39
? Rails経験者のLGTMがないとマージできないルールに
? RailsWayから脱線しないように
コードレビューの徹底
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 40
コードレビューの徹底
? RSpecをしっかり書く
? テストコード作成分の工数確保
? スペックだけでもレビュー
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 41
http://tech.medpeer.co.jp/entry/2017/05/23/070000
テックブログに寄稿しました
すこしずつ知見を明文化しています
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 42
コードレビューの振り返り会
週1でコードレビュー振り返り会を開発者全員で実施
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 43
「振り返り希望」ラベル
コードレビューの振り返り会
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 44
? パトロールしなくても指摘された情報が入ってくる
? 同じような指摘ができるようになる
? 疑問は積極的に話し合われるので納得感が生まれる
? 議事録とるので知見が貯まる
? 勉強になる
コードレビューの振り返り会
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 45
bundle update 当番
週1回のbundle update を実施
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 46
http://tech.medpeer.co.jp/entry/2017/07/18/064500
テックブログに寄稿しました
5.0から5.1へのアップグレードで一番苦労したのは
依存したgemをあげるときの確認でした
MedPeerのRails化の話:品質
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 47
bundle update
貯めるとつらい
週1回のbundle update の実施
MedPeerのRails化の話:成長環境
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 48
Ruby未経験者の受け入れ
体制も整えていきたい
MedPeerのRails化の話:成長環境
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 49
指定図書希望者へ会社から支給(未経験者を対象に)
? パーフェクトRuby
? パーフェクトRuby on Rails
? 体系的に学ぶ 安全なWebアプリケーションの作り方
入社前受け入れ準備
MedPeerのRails化の話:成長環境
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 50
勉強会やってます
MedPeerのRails化の話:成長環境
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 51
社内勉強会
(輪読会?発表会)
MedPeerのRails化の話:成長環境
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 52
社内勉強会
(輪読会?発表会)
? 平日週1回1時間確保
? 対象書籍を決め会社から支給
MedPeerのRails化の話:成長環境
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 53
開発合宿やってます
過去実績
2013年3月 伊東
2013年9月 箱根
2014年2月 伊東
2014年6月 千葉
2015年3月 伊東
2016年1月 熱海
2016年8月 湯河原
2017年3月 湯河原
2017年7月 千葉
2017年11月 群馬
MedPeerのRails化の話:成長環境
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 54
? 平日の3日間でいきます
? 差し入れは社長からのカンパ!もあります
? ネタは
? 重要度高だけど緊急度が低いタスクだったり
? 手を出したかった技術をやったり
? 来週もあります!(今年3回目!)
開発合宿やってます
MedPeerのRails化の話:成長環境
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 55
ランチLT大会やってます
MedPeerのRails化の話:成長環境
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 56
? 月1回、エンジニア主体で技術発表会
? ピザ?寿司を頼んでエンジニアでは
ない人にも聞いてもらってます
? エンジニアではない人からの発表もあったりします!
? ネタは
? 気になっている技術だったり
? 皆がしらない既存サービスの仕様だったり
? 医療関係(診療報酬改定の仕組み)だったり
? さまざまです!
ランチLT大会やってます
目次
1. 自己紹介
2. メドピアってどういう会社?
3. MedPeerのRails化の話
4. 1年間取り込んでの振り返り
5. これからの展望
6. まとめ
1年間取り組んでの振り返り
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 58
Rails使いが成長した?増えた
1年間取り組んでの振り返り
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 59
エンジニアが楽しんで
開発できるようになった
CI動かしてテストできる!
安心!
最新技術に追従できる!
たのしい!
情報発信して反応がある!
嬉しい!
1年間取り組んでの振り返り
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 60
開発スピードがアップ
RailsWayに乗ることで
設計等いろいろな面で悩まな
くなったの大きい!
普通の技術を採用し、普通に
開発できるようになった!
1年間取り組んでの振り返り
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 61
http://tech.medpeer.co.jp/entry/2017/10/30/073000
テックブログに寄稿しました
Webpackerのような新しい技術もスムーズに導入で
きるようになりました
2017/11/25 62Copyright(C) 2015 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL
グッドサイクルが回り始めた。DAUが2倍に成長!
2016年9月期 2017年9月期 2018年9月期(イメージ)
DAU推移
×2.0
UGCサービスのグッドサイクル
訪問者が
増える
コンテンツ
が増える
サービスの
魅力が上がる
投稿が
増える
DAU拡大
サイクル
1年間取り組んでの振り返り
1年間取り組んでの振り返り
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 63
PVも3倍に成長!
今MedPeerのPV推移
Rails新サービス
初リリース
(参考)サーバレスポンス
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 64
大幅改善
(データ量等々違うので参考程度)
旧PHP環境
(独自フレームワーク)
新Ruby環境
(Ruby on Rails)
150ms前後
35ms前後
(参考)サーバレスポンス
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 65
大幅改善
(データ量等々違うので参考程度)
旧PHP環境
(独自フレームワーク)
新Ruby環境
(Ruby on Rails)
150ms前後
35ms前後
このギザギザがPHP環境の不安定を物語っている。
新環境の方が、PVも瞬間トラフィックも多いです。
目次
1. 自己紹介
2. メドピアってどういう会社?
3. MedPeerのRails化の話
4. 1年間取り込んでの振り返り
5. これからの展望
6. まとめ
MedPeerのRails化のお話:これからの展望
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 67
一気に移行するのは大変
PHP?Ruby環境の並行稼動
MedPeerのRails化のお話:これからの展望
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 68
一気に移行するのは大変
PHP?Ruby環境の並行稼動
まだ並行稼動中です
(T_T)
MedPeerのRails化のお話:これからの展望
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 69
2017年11月現在
? Ruby環境が開発のメインに。
? DBのSyncはさせつつ
? 移行を加速させる準備中
PHP環境
nginx
db-sync
Ruby環境
目次
1. 自己紹介
2. メドピアってどういう会社?
3. MedPeerのRails化の話
4. 1年間取り込んでの振り返り
5. これからの展望
6. まとめ
まとめ
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 71
まだ移行は途中ですが???
Rubyに出会い
楽しく?成長できる環境を作ることで
結果がつくようになってきた!
Rubyでの開発たのしい!
サイトも活性化!
エンジニア環境へ投資しよう!
おまけ
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 72
ヘルステックベンチャーなので
コロロン用意しました
手のマッサージにつかってください
まとめ
Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 73
ご清聴ありがとうございました!!

More Related Content

Fukuokarubykaigi medpeer ver1