Upload
shinichiro-yoshida
View
77
Download
0
Embed Size (px)
Citation preview
OpsWorksテレビ連動システムを支える
株式会社バスキュール 濱崎 繭 × 株式会社スタジオ・アルカナ 吉田 紳一郎
AWSプロダクトシリーズ|よくわかるAWS OpsWorks
March 26, 2015 @アマゾン目黒オフィス
濱崎 繭
自己紹介すべてのテレビ局で汎用的に利用出来ることを想定したテレビ連動システムの
プラットフォーム「M.I.E.S」の設計・開発。
及び、バスキュールがこれまで関わったテレビ案件で、主にアプリーケーション
サーバの設計・開発を担当。
金曜ロードショー ヱヴァ新劇場版「ムーヴィシンクロナイザ」 日本テレビ → 設計・開発
クラブワールドカップ 「熱狂ファンタジスタ」 日本テレビ → 設計・開発
BLOODY TUBE BSジャパン → 設計・開発
THE LAST AWARD フジテレビ → 設計・開発
TOUCH WOWOW WOWOW → 設計
金曜カーソル WOWOW → 設計
MISSION #001 みんなでスペースインベーダー テレビ東京 → 設計・開発
ミッドナイト感謝祭!もってけダービー'14 春 TBS → 設計
人生終了クイズ 日本テレビ → 設計・開発 などなど
株式会社バスキュール
主な実績
吉田 紳一郎
自己紹介フリーランス時代に、大規模開発の現場で、設計・ベンダー調整、フレームワーク
開発等の経験を積み、2010年よりスタジオ・アルカナにジョイン。
プロジェクトマネージャ・ITアーキテクト・サーバーサイド/フロントエンド/
インフラエンジニアとして活動。
しかし、本業はマネジメントである。
金曜カーソル WOWOW → インフラ構築・API実装
ミッドナイト感謝祭!もってけダービー'14 春 TBS → インフラ構築・API実装
イケメン美女と過ごす夜 日本テレビ → インフラ構築・API実装
マッチング・ラブ(2014) TBS → インフラ構築・API実装
ワーキングデッド BSジャパン → インフラ構築・API実装
のび太と空中散歩 Yahoo! → インフラ構築・API実装
金曜ロードショー ナイトミュージアム 日本テレビ → インフラ構築・API実装
株式会社スタジオ・アルカナ
主な実績
株式会社スタジオ・アルカナ
株式会社スタジオ・アルカナは、Web技術の領域でコンテンツ制作を行っている企業です。
Webデザイナー、HTMLコーダー、サーバーサイドエンジニア、フロントエンドエンジニア、
インフラエンジニア、ディレクターといった役割のスタッフが在席しており、Web制作を
ワンストップで提供していると共に、自社サービスの開発や運用も行っています。
自社サービス
スタジオ・アルカナの紹介
「SIGN -サイン-」
ブラウザで議事録を編集/共有できるサービス
https://svgn.biz/
「REPRE -リプレ-」
スマホの容量を使わず動画を撮影/共有できるサービス
http://repre.me/
事例紹介
金曜カーソル@ WOWOW 2013年11月 〜 2014年9月まで 毎週金曜日放映
マッチング・ラブ@ TBS 2014年12月24日 0:53〜 放映
ミッドナイト感謝祭!もってけダービー’14春@ TBS 2014年3月29日 0:58〜 放映
ワーキングデッド 〜働くゾンビたち〜@ BSジャパン 2014年12月 4週にわたり放映
のび太と空中散歩@ Yahoo! 2014年8〜9月(この事例はテレビ連動ではありません)
※権利の都合上、登壇時に使用していた画像は省略しております
テレビ案件の特性
特番 レギュラー
金曜カーソル
ワーキングデッド〜働くゾンビたち〜
マッチング・ラブ
ミッドナイト感謝祭!もってけダービー’14春
※権利の都合上、登壇時に使用していた画像は省略しております
パフォーマンス要件
パフォーマンス要件は番組によって様々
30,000人が参加する想定
50,000人が参加する想定
200,000人が参加する想定
1,000,000人が参加する想定
例えば、100万人想定の番組での目標値
リクエスト数 : 30,000リクエスト/秒(180万リクエスト/分)
レスポンス速度: 1秒未満
案件に応じて 数十〜数百台 のサーバの準備が必要
Amazon
S3
Amazon EC2
インスタンスELB
スタンバイ
bucket with
objects
マスター
インスタンスELB
nginx
ApachePHP
MySQL(master)
インスタンス インスタンス
MySQL(slave)
1つの開発環境
nginx
サーバー環境の準備
開発者1人につき、環境を1つ用意する
開発環境(フロントエンド開発のAさん用)
開発環境(フロントエンド開発のBさん用)
開発環境(サーバーサイド開発のCさん用)
開発環境(フロントエンド開発のDさん用)
開発環境(オペレーション開発のEさん用)
開発環境(・・・)
開発環境(・・・)
ステージング環境
負荷テスト環境
本番環境
ほとんど同じ環境だけど、結構な手間がかかる
Amazon S3
インスタンスELB
インスタンスELB
バケット
AWS OpsWorks stack
layers
layers
layers
instances
OpsWorks化
Apache
PHP
nginx
MySQL
nginx
AWS OpsWorks
stack
コピー!
コピー!
コピー!
らくちん!!
OpsWorks の使いどころ②
クローンで簡単に環境を複製することができる
環境ごとの差異は Stack の Custom JSON で制御。
OpsWorks の使いどころ③
インスタンス
AWS OpsWorks stack
layers
jmeter-server
JMeter の分散負荷クライアントの用意
負荷テストクライアント環境負荷テスト実施時にjmeter-serverが準備されたサーバをたくさん用意する場合
実案件のLayer設定紹介
PHP App Server(API Webサーバ)
MySQL × 16レイヤー
シャーディング8つ ×(Master+Slave)
Content Server(静的コンテンツ受け付け)
Front Server(API Web Cache)
Prompt
SSHログイン時のPS1にLeyer名を設定
デフォルトだとホスト名のみで分かりにくいため
実案件のInstances設定
PHP App Server:c3.4xlarge × 80台
MySQL:c3.4xlarge × 16台
Content Server:c3.2xlarge × 10台
スタジオ・アルカナでは、
エンジニアを募集中!!
スタジオ・アルカナ 検索
お問い合わせフォームからお気軽にご連絡くださいませ。
フロントエンド(Angular/React/Sass/gulp)
サーバーサイド(Apache/MySQL/PHP/nginx)
インフラ(AWS/OpsWorks/Chef)