Upload
masashi-ogawa
View
2.011
Download
1
Embed Size (px)
Citation preview
2015/9/1 AWS Startup Tech 夏のLT大会 at dots.
スタートアップにjoinして
1年間の変化を振り返るvivit株式会社小川雅史 (@ma_ogawa)
自己紹介
❖ 小川 雅史 (おがわ まさし)
❖ @ma_ogawa
❖ vivit株式会社
❖ 2014/10にjoin
❖ SE -> ソシャゲ -> EC
❖ フロント < インフラ < サーバーサイド
サービス紹介❖ incubate camp 6th入賞
副賞でAWSのクレジット!(重要)
❖ アウトドアメディア hinata
http://hinata.me
❖ アウトドアスポット情報https://spot.hinata.me
❖ 社員5名 + インターン10名ほど
エンジニアは2名
今日お話すること
スタートアップにjoinして
1年間やってきたことを ありのままに話します
前回までのあらすじ (2014/10 ~ 2015/1ころ)
前回までのあらすじ
❖ サービスローンチ直後のスタートアップにjoinしたら寝てる場合じゃなかった
❖ 安心して眠るためにインフラ周りを整えた
❖ 詳しくは前回の資料をご覧くださいhttp://www.slideshare.net/maogawa/20150319-aws-startup-tech-meetup-006-46041590
当時の夜も眠れない問題❖ デプロイが手動でつらい(zip => scp => unzip => symlink)
❖ 静的ファイルも含め全てのアクセスがWebサーバ経由
❖ セッションがファイル管理でスケールできない
❖ 手動の死活監視
❖ 構成管理が属人化(知っている人はもういない)
❖ 社長がSequel Proで直接本番DBを覗いている
当時を支える技術
当時やったこと
❖ 静的ファイルの配信 => CloudFrontの導入
❖ セッション管理 => ElastiCacheの導入
❖ 死活監視 => New Relicの導入
❖ 構成管理 => Ansibleの導入
❖ データ集計 => Fluentd + Elasticsearch+ Kibanaの導入
最低限のインフラが整った
インフラが整う ≠ 寝れる
アプリケーションの問題改善 (2015/2ころ)
頭を抱える問題❖ 配列地獄
❖ どこで発火するかわからないJSイベント
❖ 大量に発行されるクエリ100を超えるページも…
❖ 上がらないパフォーマンス…
C3.largeでサーバーのレスポンスタイムが250ms前後…
地道な改善をしつつ
新機能開発
寝てる場合じゃない
からの
サービスリニューアルしよう!
フルスクラッチで! (2015/2 ~ 2015/3ころ)
採用した主な技術
採用のポイント
実現したい世界観を いかにシンプルに実装するか
Rails採用のポイント❖ CakePHP、Rails、Djangoで重要なページのパフォーマンス比較 CakePHP < Rails <= Django
❖ コードの書きやすさ(主観)
❖ RubyGems❖ 世界中に豊富な知見
❖ 慣れてた
Vue.js採用のポイント
❖ 双方向データバインディング使いたい
❖ フルスタックまでは必要ない
❖ Knockout.js vs Vue.jsVue.jsの方がより記述がシンプル
❖ ディレクティブやフィルター、コンポーネントでDRYに
インフラ構成
❖ appサーバの中身が変わっただけ
❖ Ansibleの構成ファイルを少し書き換えるNginxやRedisのインストール
❖ RDSもEC2もElastiCacheもt2.smallで十分
レスポンスタイムは80ms前後
リニューアルと ほぼ同じタイミングで
AWSクレジット無くなる
(2015/3)
売り上げ < 運用費
可用性 vs 運用費
可用性 vs 運用費
❖ サービスの規模に対して過剰なインフラ構成
❖ サービスダウンによる損失 < 運用費
❖ サービスとして可用性の優先度を下げる
今これで動いてます
可用性 vs 運用費
❖ CloudFront => S3のホスティング
❖ Analytics => Google Analytics & Adminツール
❖ availability zoneはcに寄せる転送量対策
❖ ElastiCacheはEC2にmemcached入れた方が安い
可用性 vs 運用費
❖ あるべき姿を決して忘れない
❖ いつでもスケールさせることができる心構え
❖ いつでも可用性の高い構成にできる心構え
❖ AMIやSnapshotは準備万端
❖ 年内にはMulti-AZな構成に戻せそう…
その後…
2015/4 ~ 2015/8❖ 2015/4 ~ 2015/5リニューアルしたサービスの機能開発&改善
❖ 2015/6アウトドアメディアリリース http://hinata.me
❖ 2015/7アウトドアスポット情報サイトリリースhttps://spot.hinata.me
❖ 2015/72015/3にリニューアルしたサービスクローズ
❖ 2015 / 8移転 & 事務所拡大
1年間の紆余曲折を経て
技術的なベースは整った感じ
サービスの成長に集中!
今後のテーマ
Elasticsearch vs CloudSearch
ご清聴ありがとうございました