FY2015 - Amazon Web Services

FY2015
〜~ドワンゴがAWSを使ってみた〜~
AWS Summit Tokyo 2015
株式会社ドワンゴ プラットフォーム事業本部
共通基盤開発部 関 剛
DWANGO Co., Ltd.
FY2015
Born in the net, Connected by the net
わたしは誰?
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
わたしは誰?
l 名前 : 関 剛(せき たけし)
l 所属 : 株式会社 ドワンゴ ニコニコ事業統括本部
共通基盤開発部
共通基盤インフラセクション
l 役⽬目 : インフラエンジニア(AWS初⼼心者) l 陣営 : 緑(A16); これから始める⽅方は緑をおすすめします
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
なぜ今ここに⽴立立っているのか?
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
なぜ今ここに⽴立立っているのか?
l  AWS を使ってサービス構築してみた
l  ほぼ初めて AWS 使ってみた
l  AWS ビギナーの視点から AWS 導⼊入を振り返る
l  AWS を使ってみて変わったこと
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
Live Dwango Reader
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
Live Dwango Reader
l  Livedoor Reader サービス終了了 DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
Live Dwango Reader
l  Livedoor Reader サービス終了了”撤回”
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
Live Dwango Reader
l  Livedoor Reader サービス継続決定→”運営譲渡”
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
Live Dwango Reader
l  Livedoor Reader から Live Dwango Reader へ
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
Live Dwango Reader
l  派⽣生スマートフォン版 LDR Pocket リリース
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
LiveDwangoReaderを AWS で作る
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
LiveDwangoReaderを AWS で作る
l  まとめると
l  2014-‐‑‒10-‐‑‒01 Livedoor Reader サービス終了了発表
l  2014-‐‑‒10-‐‑‒15 Livedoor Reader サービス終了了撤回
l  2014-‐‑‒10-‐‑‒24 Livedoor Reader 運営譲渡発表
l  2014-‐‑‒12-‐‑‒01 運営譲渡 & Live Dwango Readerへ
l  2015-‐‑‒04-‐‑‒02 派⽣生スマートフォン版 LDR Pocket
l  5ヶ⽉月の猶予はあった(5ヶ⽉月しかなかった)
l  →リリース直前の3⽇日間ほどでAWSでインフラ構築
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
LiveDwangoReaderを AWS で作る
l  エンジニアとして「イヤな予感」がする
l  Livedoor Reader のサービスはそのまま継続する
l  8年年間近く使われてきた枯れたサービス
l  元Livedoor社は現LINE社になっている
l  LDR Pocket のリリース⽇日は決まっている
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
LiveDwangoReaderを AWS で作る
l  「そのまま」を維持したまま移設する
l  ソースコードはそのまま
l  ミドルウェアはそのまま
l  データ(DB, キャッシュ)はそのまま
l  サーバのホスト名はそのまま
l  IP アドレスはそのまま
l  サーバの負荷⾒見見積
l  現⾏行行サーバのスペックはわかるが構成はそのまま
→サーバリソースの余剰が発⽣生する可能性がある
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
LiveDwangoReaderを AWS で作る
l  そこで AWS!
l  「そのまま」どうする?
l  ソースコードはそのまま→OK!
l  ミドルウェアはそのまま→OK!
l  データ(DB, キャッシュ)はそのまま→OK!
l  サーバのホスト名はそのまま→OK!
l  IP アドレスはそのまま→OK!
l  サーバの負荷⾒見見積
l  現⾏行行サーバのスペックはわかるが構成はそのまま
→インスタンスタイプを変更更すればよい!
むしろ状況に合わせて変更更できる!
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
AWS 上の Live Dwango Reader 構成
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
AWS 上の Live Dwango Reader 構成
l  シンプル構成(もともとシンプルだった)
l  フロントエンド・キャッシュ・DB
http://pocket.livedwango.com/
http://reader.livedoor.com/
LDR Pocket
DB (MySQL)
Amazon
Route 53
LDR Pocket
Frontend
Deploy サーバ
キャッシュサーバ
(memcached)
Elastic Load
Balancing
記事情報
DB (MySQL)
監視 サーバ
users
ジョブキューイング
サーバ
LiveDwangoReader
Frontend
DWANGO Co., Ltd.
開発/ステージング
サーバ
Web クローラ
DB(MySQL)
FY2015
Born in the net, Connected by the net
AWS 使ってみた感想(ビギナー視点)
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
AWS 使ってみた感想
l  EC2 / ELB / Route53 だけ使った
l  旧環境と構成を合わせるため
l  Webコンソールポチポチ→数分でインフラができる
l  オンプレミス環境だと機器の⼿手配で数週間
l  圧倒的なプロビジョニングスピード
l  懸念念だったこと→結果的に杞憂だった
l  仮想化のオーバヘッドは感じていない
l  ネットワーク、ストレージにボトルネック出てない
l  いわゆる「ELB暖機運転」→実施無しで問題なし
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
AWSで変わったこと(オンプレミス環境と⽐比較)
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
AWSで変わったこと(オンプレミス⽐比)
l  インフラエンジニア・アプリエンジニアの関係に変化
l  アプリ開発エンジニアがインフラ構築・運⽤用できる
l  アプリ開発エンジニアがサービス開発に集中できる
l  綿密なサイジング不不要で調整コストがすっきり
l  インフラ・アプリ開発業務のクロスオーバー
l  インフラ環境の設計・構築のスピードアップ
l  綿密なアクセス予測・負荷⾒見見積が不不要→まず動かす
l  仮にサイジングミスってもすぐに増減可能
l  アプリエンジニアが直接⾒見見積するようになった
相互業務をオーバーラップして、柔軟にサービスに取り組めるようになった
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
AWSで変わったこと(オンプレミス⽐比)
l  コンポーネントごとにコストが⾒見見えるようになった
l  フロントエンド,アプリ,DBそれぞれのコストを把握
l  エンジニア担当サービスがコスト意識識を持つように
l  固定費の変動費化 (将来的は差異異分析,評価したい)
l  AWS でプロダクト担当者がデータセンタ持てる
l  プロダクト担当者のオーナー意識識が向上する
l  アプリケーションから帯域、IOPSまで⼀一貫意識識
l  サービス障害発⽣生時の対応に関する責任感
開発者⾃自らがリソース調達を実施し、プロダクト=事業という視点が⽣生まれ
プロダクトオーナーという意識識を今までよりも持つようになった
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
さらに変えていくために(ドワンゴ視点)
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
さらに変えていくために
l  オンプレミス(既存のデータセンタ)とAWSの使い分け
l  「まずやってみる環境」: 機会費⽤用の最⼩小化
l  気軽なトライ & エラーの影響コスト最⼩小化
l  オンプレ→AWS / AWS→オンプレ両⽅方向あり得る
l  適材適所は必ずある、適材適所は変化する
l  中期・⻑⾧長期(固定資産の耐⽤用年年数)でのTCO⽐比較
l  最適なインスタンスタイプと課⾦金金メニューの選択
l  リザーブドインスタンスを利利⽤用→低コスト化
l  ⼀一時的環境としてスポットインスタンスの利利⽤用
l  検証環境・開発環境など
l  短期間で⼤大量量のコンピューティングリソース
DWANGO Co., Ltd.
Confidential
FY2015
Born in the net, Connected by the net
さらに変えていくために
l  より良良いサービス・スピードを⽣生み出すために
l  オンプレ環境とAWS環境のシームレス接続
l  VPC VPN / Direct Connect
l  Web コンソールポチポチからの脱却
l  API 利利⽤用と既存オンプレ環境との操作性の統⼀一
l  ⼿手順のコード化・⾃自動化
l  EC2 以外のサービスの利利⽤用
l  「スイスアーミーナイフ」を使いこなす
l  AWSサービスをもっと試す・知る
l  AWSサービスの使いどころを判断する
DWANGO Co., Ltd.
Confidential
FY2015
ありがとうございました!
DWANGO Co., Ltd.