システムをダイナミックに運用する from devlove関西

Post on 07-Dec-2014

535 Views

Category:

Services

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

2014/10/3 DevLove関西 発表資料

TRANSCRIPT

システムをダイナミックに 運用する

2014-10-03 DevLOVE関西 運用現場の話を聞いてみる

@daiksy

自己紹介

粕谷 大輔 (@daiksy)

フリュー株式会社ソーシャルゲームの運用・開発Scala + Playframework2

何に対して”ダイナミック”に運用するのか?

1日数回のリリース

ボタンサイズ・位置調整

文言の変更

画像差し替え

軽微な不具合修正 etc

1日数回のリリース

商用リリースがゼロの営業日は 基本的に存在しない!

2-4週間おきに大型アップデート

機能追加

販売アイテムの追加

イベント(クリスマス・ハロウィンなど)

アップデート時は原則無停止

2-4週間おきに大型アップデート

DBの定義変更時などは

計画停止する場合もある

高負荷

広告出稿

期間(時間帯)限定イベント

瞬間的に通常の2~10倍のPVイベントで秒間2万リクエストくらい

1. インフラ

1.インフラ

AWSを利用EC2, RDS, S3

スケーラビリティを重視

1.インフラ

スケールアウトの自動化1日1回商用サーバのAMIを作成このAMIから自動的に指定台数分サーバーを自動構築負荷タイミングが比較的読みやすいので、 オートスケールはやっていない

2.ワンタッチデプロイ

1.ワンタッチデプロイ

hikyakuさん社内IRCに常駐するbot

IRCでhikyakuさんにお願いするとデプロイしてくれる

1.ワンタッチデプロイ

hikyakuさんの仕事githubからコードを取得してビルド

対象サーバをロードバランサから切り離す対象サーバに対してデプロイ & アプリケーションの再起動

ロードバランサに再接続↑ロードバランサに接続されてる全サーバに対してこれを実施

1.ワンタッチデプロイ

きめ細やかなデプロイアプリケーションの構成要素すべてviewのみ

画像やアニメーションのみアプリケーションのメンテナンスモードへの切り替え

3.サーバ監視

3.サーバ監視

外部会社に監視を依頼CPU使用率, ディスク使用率, ロードアベレージ etc

閾値超過でアラート・または電話連絡CPU使用率80%以上 etc

3.サーバ監視

RDSのディスク容量は過去数回、アラートを検知して増設(なぜかいずれも長期休暇中……)

AWSなので増設は簡単(数回クリックするだけ)

3.サーバ監視

EC2はまれにインスタンスが勝手に再起動されたりする

デプロイを必要としない軽微な障害は監視会社が 復旧手順を実施してくれる

たまに夜中に電話で起こされるが、 だいたい「復旧済みです」連絡 !ありがたい

4.障害対応

4.障害対応

リモート接続(VPN)

緊急連絡網なぜかLINE

夜中に友達からLINEが来ると心臓止まりそうになる

一斉通知できるツールならなんでもいいが、 割りとリアルタイムでのやりとりが求められるので チャットツールの方がよい(メールはだめ)

5.テスト

5.テスト

今年から テストチームを

新設

5.テスト

テストチームゲームは人依存の確認項目が多いシナリオの整合性プレイ感覚(難易度調整とか遷移の快適さとか)デザインの美しさ(ボタンサイズは適切か etc)

5.テスト

テストチーム導入以前開発チームがテストケース作成 & 実施

-> システムテストに近いイメージ?

企画チームが通しチェック

-> シナリオとかデザインとか

5.テスト

テストチーム導入以降開発チームは単体テストと簡単な動作確認だけ

-> 単体テストはJenkinsでCI

出荷前にテストチームがプレイ-> 新規開発時約5日間、イベント開発時約2日間程度-> システム的な観点(仕様を満たせているか)-> プレイヤー的な観点(シナリオやデザイン、動線など)

最低限のテストだけでカバレッジは低い

5.テスト

品質はどうなったか?テスト期間中の課題摘出件数は実施以前と以降でほぼ横ばい

リリース後の重篤な不具合は今のところゼロ

テストチーム導入後も 信頼度成長曲線による出荷判定をクリア

システム的な品質は以前と変わらないプレイヤー的な観点からの課題摘出が増加

-> ゲーム的なクオリティがアップ!

まとめ

インフラはAWSでスケーラブル

hikyakuさんで楽々デプロイ

サーバー監視で障害時の手順削減

テストチームは神チーム

ご清聴ありがとうございました

top related