Upload
rakuten-inc
View
78
Download
0
Embed Size (px)
Citation preview
自己紹介
星 永亮 (ほし ながあき)
• 2010年4月 楽天株式会社入社• 2013年 Webアプリケーションエンジニア• 2014年 DBA• 2015年 テクニカルディレクター• 2017年3月〜 ユアマイスター株式会社入社
楽天カード時代
• プログラミングほぼ未経験で入社→半年の開発研修
• フロントがPHP、バックエンドがJavaのC向けWebアプリ
• メジャーバージョンアップに際して、DBAにコンバート
• MySQLからOracleへのDB移行がハイライト
• 複数事業入り混じった案件で、PL&エンジニアで社内MVP
• サービス運用担当者の時期には、先輩に教わりながら、いろんなツールを使って遊んでた
新サービス開発室時代
• プログラミングすることはなくなった
• プロダクトマネージメントがメイン
• 予算策定、人材調達、開発リソース調整、要件の策定・・・
• 事業担当者が自分を含めて2名(Project 6)
• 社長室直下
• ”幕の内弁当恐怖症”
• 要件詰め込みすぎ
• 手段が目的化
ユアマイスター株式会社とは
創業1年のスタートアップです。日本一「応援される」会社を目指してます。
会社名 ユアマイスター株式会社(Your mystar, Inc)
本社事務所 東京都渋谷区桜丘町3-2 第3野口ビル201号室
設立 2016年8月8日
資本金 1億500万円
株主 星野貴之 他
代表者 代表取締役社長 星野貴之
従業員数 社員13名 インターン25名
ハッピートライアングル
Partner User
Yourmystar
お客さんがそもそも喜ばないことはやらない。お客さんが喜んでもパートナーさんが苦しいならやらない。
お客さんもパートナーさんも喜んでも僕たちが幸せにならないことはやらない。
3つの点、すべてがハッピーであることが最低条件
運営サービス
サービスEC総合プラットフォーム「あなたのマイスター」と大切なものをもっと大切にしたくなるメディア「RELIVERS(リライバーズ)」の運営を行っています。
大切なものをもっと大切にしたくなるメディアサービスEC総合プラットフォーム
https://yourmystar.jp/ https://yourmystar.jp/relivers/
サービスEC総合プラットフォーム
サービス登録サービス検索
サービス予約
メッセージやりとりメッセージやりとり
サービス提供
支払い
レビュー投稿
or
サービス完了報告
①さがす
②予約する
③サービス実施
④サービス後サポート
サービス予約確定
プロお客様
どんな状況だったか
2016年8月の創業当時から、関わってます。
2ヶ月でリリースという短納期だったため、CakePHPを採用しました。リリース後も
、ユアマイスターさんのエンジニアが入るまで、しっかり機能開発と運用します!(半常駐)業務委託エンジニア
マーケティング担当社員
もともとマーケティングが本業ですが、社内にエンジニアがいないので開発案件
の管理をやってます。
フロントのHTMLやCSSなら書けるので、画面系は自分でも実装しちゃいます。
学生エンジニアインターン
プログラミングが大好きで、遅くまで没頭することもしばしばあります。
自分もいつか起業したいと思ってるので、それまではユアマイスターのサービス
開発、頑張ります。
技術スタック(2017年3月)
Amazon
EC2Amazon
S3
インフラ
アプリケーション
デザイン ローカル開発
検索
CI
ミドルウェア
コミュニケーション
解析
Web接客外部連携
SEOコード管理 監視
CMS
技術スタック(現在)
Amazon
EC2Amazon
S3
インフラ
アプリケーション
ElastiCache
デザイン ローカル開発
検索
CI
Amazon
RDS
ミドルウェア
コミュニケーション
解析
Web接客外部連携
SEOコード管理 監視
CMS
当時の開発フロー
Amazon EC2
develop branch
master branch
local branch
本番
STG
PullRequest
local branch
PullRequest
Push
手動リリース
developからブランチ作成
手動リリース
各工程に改善点を発見
Amazon EC2
develop branch
master branch
local branch
本番
STG
PullRequest
local branch
PullRequest
Push
手動リリース
developからブランチ作成
手動リリース課題その1
課題その2
課題その4
課題その3
開発スピードアップのための課題 その1
検証環境にdeployするたびに、いちいちサーバーにログインし、GitHubからソースコードを最新化していて属人化、対応時間がチリツモ。
1日何回デプロイすればいいの!!
circle.yml
YAML形式でビルド前、ビルド中、ビルド後の動きを事細かに定義できる。ブランチによって挙動を変えられるのも嬉しい。
machine:timezone: Asia/Tokyohosts:
server11111: 111.111.111.111
dependencies:override:
- composer install --no-interactionpost:
- #DB作成、ユーザー作成、権限付与を行う- bin/cake migrations migrate
test:override:
- mkdir -p $CIRCLE_TEST_REPORTS/phpunit- vendor/bin/phpunit --configuration phpunit.xml.dist --log-junit $CIRCLE_TEST_REPORTS/phpunit/junit.xml
deployment:staging:branch: developcommands:- ssh hoge@server11111 /home/hoge/bin/deploy.sh
<circle.ymlのイメージ>
開発フロー途中経過
Amazon EC2
develop branch
master branch
local branch
unit test
deploy
本番
STG
PullRequest
local branch
PullRequest
Push
Deploy
手動リリース
developからブランチ作成
Trigger
開発スピードアップのための課題 その2
検証環境用ブランチへのPull Requestのつもりで、誤ってmasterにPull Requestを作成。そして、気づかずにそのままmergeからの、本番障害。
開発フロー途中経過
Amazon EC2
develop branch
master branch
local branch
unit test
deploy
本番
STG
PullRequest
local branch
PullRequest
Push
Deploy
手動リリース
developからブランチ作成
Trigger
開発スピードアップのための課題 その3
4名のインターンを受け入れていたが、知識やスキルはバラバラ。インターン1人ひとりのソースコードレビューの負荷がめちゃくちゃ重い。
• 少人数のチームでは、インターンに形式的な研修を提供するのは難しい
• コードレビューの中にも、視力検査レベルのものも含まれている悲しみ
• 必要最低限のPHPのコード規約を守るレベルにしてからレビューに出して欲しい
開発フロー途中経過
Amazon EC2
develop branch
master branch
local branch
unit test
deploy
本番
STG
PullRequest
local branch
PullRequest
Push
TriggerDeploy
手動リリース
developからブランチ作成lint
Trigger
開発スピードアップのための課題 その4
インターンがハマっててもなかなかコミュニケーションが取れずに、必要以上に調査や試行錯誤に時間をかけてしまう。
石川(社員)
高梨(インターン)
自分の開発に集中してるうちに、インターン
がハマってることに気づけない!
社員のみんなが忙しそうにしていて、いちい
ち質問するのは気が引ける!(ググればわかりそうなレベルだし・・・)
現在の開発フロー
Amazon EC2
develop branch
master branch
local branch
unit test
deploy
本番
STG
PullRequest
local branch
PullRequest
Push
TriggerDeploy
まだ・・・
手動リリース
developからブランチ作成lint
Trigger
deploy