Upload
takuma-morikawa
View
370
Download
0
Embed Size (px)
Citation preview
Copyright © 2009-2016 eureka, inc. All rights reserved.
Gunosy Beer Bash #05
Takuma Morikawa / eureka, inc.
Copyright © 2009-2016 eureka, inc. All rights reserved.
なまえ Takuma Morikawa
しょぞく
たんとう (Go with VSC)
じこしょうかい
Copyright © 2009-2016 eureka, inc. All rights reserved.
なまえ Takuma Morikawa
しょぞく
たんとう (Go with VSC)
きんきょうe v a l p h o b i a / g o o g l e - a p i - g o - w r a p p e r
e v a l p h o b i a / e u r e k a c h e
じこしょうかい
CONFIDENTIA
L
株式会社エウレカ
専門分野以外の領域
でも活躍できる
エンジニア
55人
Sales・CS・BO
37人
事業内容自社サービスの企画・開発・運営・オンライン・デーティング・サービス「pairs」
・カップル専用アプリ「Couples」
海外拠点・唯麗家股份有限公司(台湾)・ EUREKA SG Pte. Ltd.(シンガポール)
社員数: 105名インターン・業務委託含む
D/P
15人
デザイナー
8人
オンライン・デーティング・サービス「pa i rs」
12年9月13年3月13年9月14年3月14年9月15年3月15年9月16年3月
360万
。゚+\\390万会員突破//+.゚
リリース 2012年 10月
会員数 390万人
プラットフォーム PC/SP/iOS/Android
180万
90万
270万 3年半で390万人
カップル専用アプリ「Coup les」
。゚+\\350万DL突破//+.゚
リリース 2014年 5月
DL数 350万DL
プラットフォーム iOS/Android
14年5月 14年10月 15年3月
215万
170万
130万
85万
45万
国内No.1
Bye PHP, Let 's Go
稼働中のpairsをPHPからGoに置き換えるプロジェクト
・既存アプリケーションのフルスクラッチ
・DBスキーマ、システムアーキテクチャの改良
・基本的にはデザインは変えず
Bye PHP, Let 's Go
2014年8月頃 構想開始
2014年12月 作業開始
2015年01月 バックエンドチーム開発開始
2015年03月 DBマイグレーションチーム開始
2015年04月 インフラ対応・ネイティブ対応チーム開始
2015年05月 インフラ対応・バックエンドチーム拡張
↓↓↓
Bye PHP, Let 's Go
2014年8月頃 構想開始
2014年12月 作業開始
2015年01月 バックエンドチーム開発開始
2015年03月 DBマイグレーションチーム開始
2015年04月 インフラ対応・ネイティブ対応チーム開始
2015年05月 インフラ対応・バックエンドチーム拡張
↓↓↓
2015年11月 台湾版リリース
Bye PHP, Let 's Go
2014年8月頃 構想開始
2014年12月 作業開始
2015年01月 バックエンドチーム開発開始
2015年03月 DBマイグレーションチーム開始
2015年04月 インフラ対応・ネイティブ対応チーム開始
2015年05月 インフラ対応・バックエンドチーム拡張
↓↓↓
2015年11月 台湾版リリース
2016年03月 日本版リリース
Bye PHP, Let 's Go
・オンラインデーティング特有の複雑さ
・コミュニケーション部分は特にデリケート
・危ういコードでなぜかうまくいっていた箇所
・Go言語・SPAのナレッジ不足
・既存運用のアップデート反映
Bye PHP, Let 's Go
・オンラインデーティング特有の複雑さ
・コミュニケーション部分は特にデリケート
・危ういコードでなぜかうまくいっていた箇所
・Go言語・SPAのナレッジ不足
・運用に関するベストプラクティスが圧倒的に不足
・ライブラリを自作しなければならない箇所が多かった
・既存運用のアップデート反映
Bye PHP, Let 's Go
・オンラインデーティング特有の複雑さ
・コミュニケーション部分は特にデリケート
・危ういコードでなぜかうまくいっていた箇所
・Go言語・SPAのナレッジ不足
・運用に関するベストプラクティスが圧倒的に不足
・ライブラリを自作しなければならない箇所が多かった
・既存運用のアップデート反映
・※新規開発はストップしていた
Bye PHP, Let 's Go
■ 構想時代 ■(2014年10月)〜 2014年12月
・スケジュール考える
・Go触る
・新DBスキーマを考える
・MySQL WorkBenchのERD
・API仕様書をつくる
・既存のネイティブアプリ向けAPIを元に作成
・RESTfulに変更
・JSON Hyper-Schema
Bye PHP, Let 's Go
■ 開発開始時代 ■
2015年01月〜 2015年04月
・APIと管理画面を4人で開発
・Go & AngularJS
・フロントエンドエンジニアが1名増える
・仕様書ベースでのやりとり
・ほぼ分業体制
Bye PHP, Let 's Go
■ 春秋戦国時代 ■2015年04月〜 2015年06月
・各所で色々と増える
・バックエンドAPI 3.5人
・Webフロントエンド 2.5人
・管理画面 3人 ← New!
` ・DBマイグレーション 1.5人 ← New!
・ネイティブ修正 2人 ← New!
・インフラ構築 2人? ← New!
Bye PHP, Let 's Go
■ 春秋戦国時代 ■
2015年04月〜 2015年06月
・PHP版の運用開発も継続
・Web 3.5人
・インフラ 2人(Goと兼任)
・ネイティブ 2人
・メディア 1人
Bye PHP, Let 's Go
■ はじめての結合時代 ■
2015年07月〜 2015年08月
・リリースを9月にシフト
・まいにちデバッグ
・まいにちコミット
・まいにちデプロイ
・(コードが肥大化してこの頃から遅くなってくる…)
Bye PHP, Let 's Go
■ はじめての結合時代 ■
2015年07月〜 2015年08月
・メイン開発以外にも…
・本番運用に向けたインフラの構築 4人
・差分データ移行によるDBマイグレーション 2人
・決済システム開発 1人
・pairs・管理画面・バッチのレポジトリ統一
Bye PHP, Let 's Go
■ 台湾の時代 ■
2015年09月〜 2015年11月
・台湾版リリースを11月にシフト
・まだまだ細かい不具合がでてくる
・データの整合性チェック
・データ移行の速度 = メンテナンス時間
・負荷試験
Bye PHP, Let 's Go
■ 日本の時代 ■
2015年12月〜 2016年03月
・日本版リリースを3月にシフト
・まだまだ細かい不具合がでてくる again
・データ移行の速度が圧倒的に遅い
・負荷試験 again
Bye PHP, Let 's Go
■ 日本の時代 ■
2015年12月〜 2016年03月
・地味に日本版(PHP)のDB負荷が限界に達しそう
・台湾版のバグ修正・翻訳をしながら…
・Goフレームワークの変更を決断
=> web・管理画面・バッチのレポジトリ移行
・リリースブランチがカオス
今後の予定
・アルゴリズム周りの強化
・IACグループのナレッジを活用
・BQデータ x 機械学習
・マーケティング・オートメーション
・IACグループのナレッジを活用
・BQデータ x 機械学習
・グローバル展開 & 新規事業
きのう
・共用のキャッシュが詰まる
・マスタデータ
・検索キャッシュ
・コミュニティキャッシュ
・キャンペーンキャッシュ
・etc…
=> 全てアプリサーバーのメモリキャッシュへ移行
(github.com/evalphobia/eurekache 使ってください…)