SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
NewsPicksでのAWS活用法
木下 渉
自己紹介
● 名前: 木下渉
● 入社時期: 2014年8月
● 担当: インフラ/サーバーサイド開発/運用作業
● 前職: 金融系SIer(某メガバンクで炎上はしてません)
● 特技: 泥臭いメンテナンス作業
● 好きなアイドル: 安本彩花(私立恵比寿中学)
● 好きな相撲の取り口: 前みつ取ってからの一気の寄り
NewsPicks Hot Topics!!!
登録ユーザー数 149万人突破!
149
経済ニュースプラットフォームへ進化!
100人(以上)のプロのコメント!
エンジニアの体制
UI/UXチーム
コンテンツチー
ム
検索チーム
広告/求人
チーム
エンジニアの悩み
急速に伸びるユーザー数
どんどん広がる業務範囲
限られたエンジニアリソース
そこで・・・
人手のいらないスケーリング
APIサーバー
ここのお話
NewsPicksのアクセス特徴
NewsPicksのアクセス特徴
一斉送信のPUSH通知による急激な負荷
特にアクセスが跳ねるとき・・・
イギリス
EU離脱!
特にアクセスが跳ねるとき・・・
舛添都知事
辞任!
普段のピークの数倍のアクセス
そんなときNewsPicksのエンジニアは・・・
誰も本番ログインなんてしません!
インスタンス管理
AutoScalingを利用
動的スケーリング + スケジュールされたスケーリング + 手動スケーリング
インスタンス管理
AutoScalingを利用
動的スケーリング + スケジュールされたスケーリング + 手動スケーリング
CPU使用率
監視
定時PUSH
に合わせて
速報PUSH時に
起動
(slack連携)
速報時の対応は全てSlackから
Pushするよー
Slack経由で確認
アクセス数
どうだろ?
今回はアクセス
多そう!
台数 緊急時はSlackから台数変更
プッシュ時のAPI台数に変更
Uzabase Meetup#3参照!
http://tech.uzabase.com/
余談:インスタンス管理(その昔)
人力+crontabを利用
動的スケーリング + スケジュールされたスケーリング + 手動スケーリング
「遅くなってない?」と
言われてから動く
常人には読めない
芸術的なcrontab
AWS Consoleから
インスタンス立ち上げ
+ELB組み込み
(クリックミスったら死
亡)
3種類のデータベースを使い分け
データベース
ここのお話
RDS(MySQL)
ユーザーデータ/課金周りのデータなどACIDな特性が求められ
るデータや、マスターデータなどで使用
メリット
● トランザクション管理/一貫性
デメリット
● スケーリングが難しい(特に書き込み)
● データが増えるとカラム追加が大変
DynamoDB
記事/Pick/お知らせ(フォロー通知やLIKE通知)などで使用
メリット
● データ量を意識する必要がない
● NoSQLなのでカラム追加自由
デメリット
● 集計/結合などには向かない
● データの一貫性が必要なデータには向かない
● 料金体系が特殊
DynamoDB
記事やコメント
※オープンソースのDynamic DynamoDBを利用し、スループッ
トも動的に調整
データの増加による
メンテナンス不要
オートスケーリング(もどき)
Dynamic DynamoDBを利用
Elasticache(Redis)
メリット
● オンメモリなので読み書きが高速
● zsetを利用した順序の保持や集計が便利
● expire指定によって、一定時間でデータを Expireできる
● pub/sub機能によるメッセージング
デメリット
● トランザクション処理( MULTI/EXEC程度)
● データの堅牢性(スナップショット /AOFはありますが)
● シングルスレッド
例)タイムライン
● フォローしている人がコメントした時刻順に保持( Redisの
ソート済みSetを利用)
● 1ユーザーあたりのデータ量が多い/ 1コメントで大量の書
き込みが発生する
⇛ ユーザーごとにCache Clusterを分散
例)ランキング情報
● Redisの集計機能で計算
● 同じデータに大量のアクセス
⇛ リードレプリカを分散して、ピーク時負荷軽減
終わりに
インフラエンジニアの心得
タフでなければ生きて行けない。
優しくなれなければ生きている資格がない
インフラエンジニアの心得
サービスへの理解がなければ生きて行けない。
安定した基盤を作れなければ生きている資格がない
エンジニア募集中!!!

Más contenido relacionado

La actualidad más candente

sakura-baremetal_ssmjp
sakura-baremetal_ssmjpsakura-baremetal_ssmjp
sakura-baremetal_ssmjpHiroki Ito
 
jaws-ug kansai-special_aurora_20150207
jaws-ug kansai-special_aurora_20150207jaws-ug kansai-special_aurora_20150207
jaws-ug kansai-special_aurora_20150207Toshiyuki Konparu
 
最大公約数的なServiceWorker制作から見るPWAの勘所
最大公約数的なServiceWorker制作から見るPWAの勘所最大公約数的なServiceWorker制作から見るPWAの勘所
最大公約数的なServiceWorker制作から見るPWAの勘所Ryu Shindo
 
5分で分かるサイボウズのSRE
5分で分かるサイボウズのSRE5分で分かるサイボウズのSRE
5分で分かるサイボウズのSREuchan_nos
 
Japan soft layer girls group meetup 2016feb12
Japan soft layer girls group meetup 2016feb12Japan soft layer girls group meetup 2016feb12
Japan soft layer girls group meetup 2016feb12Nami Hashimoto
 
CircleCIのArtifactを活用してレポートを作成する
CircleCIのArtifactを活用してレポートを作成するCircleCIのArtifactを活用してレポートを作成する
CircleCIのArtifactを活用してレポートを作成するTakeo Saga
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
jaws-ug kansai-special_kinesis_20150207
jaws-ug kansai-special_kinesis_20150207jaws-ug kansai-special_kinesis_20150207
jaws-ug kansai-special_kinesis_20150207Toshiyuki Konparu
 
東急ハンズのクラウドデザインパターン アーキテクチャー編
東急ハンズのクラウドデザインパターン アーキテクチャー編東急ハンズのクラウドデザインパターン アーキテクチャー編
東急ハンズのクラウドデザインパターン アーキテクチャー編一成 田部井
 
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)YuzoHirakawa
 
01 slack導入の提案
01 slack導入の提案01 slack導入の提案
01 slack導入の提案ssuser68dea4
 
cybozu.com のデータバックアップとリストア、それを活用したリハーサル
cybozu.com のデータバックアップとリストア、それを活用したリハーサルcybozu.com のデータバックアップとリストア、それを活用したリハーサル
cybozu.com のデータバックアップとリストア、それを活用したリハーサルtoshi_pp
 
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017Yuki Okada
 
新規事業を 支える文化と加速させる技術 ~ devops / GCP / DDD ~
新規事業を支える文化と加速させる技術~ devops / GCP / DDD ~新規事業を支える文化と加速させる技術~ devops / GCP / DDD ~
新規事業を 支える文化と加速させる技術 ~ devops / GCP / DDD ~Mao Ohnishi
 
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニアヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニアIsamu Suzuki
 
AWS初心者に贈る〜AWS関連コンテンツを使い倒そう_20150514 #jawsug_bgnr #jawsug @applebear_ayu
AWS初心者に贈る〜AWS関連コンテンツを使い倒そう_20150514 #jawsug_bgnr #jawsug @applebear_ayuAWS初心者に贈る〜AWS関連コンテンツを使い倒そう_20150514 #jawsug_bgnr #jawsug @applebear_ayu
AWS初心者に贈る〜AWS関連コンテンツを使い倒そう_20150514 #jawsug_bgnr #jawsug @applebear_ayuAyumi Tada
 
リモート拠点を立ち上げる楽しさと苦労
リモート拠点を立ち上げる楽しさと苦労リモート拠点を立ち上げる楽しさと苦労
リモート拠点を立ち上げる楽しさと苦労Mao Ohnishi
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門Masaya Dake
 

La actualidad más candente (20)

sakura-baremetal_ssmjp
sakura-baremetal_ssmjpsakura-baremetal_ssmjp
sakura-baremetal_ssmjp
 
jaws-ug kansai-special_aurora_20150207
jaws-ug kansai-special_aurora_20150207jaws-ug kansai-special_aurora_20150207
jaws-ug kansai-special_aurora_20150207
 
最大公約数的なServiceWorker制作から見るPWAの勘所
最大公約数的なServiceWorker制作から見るPWAの勘所最大公約数的なServiceWorker制作から見るPWAの勘所
最大公約数的なServiceWorker制作から見るPWAの勘所
 
161218 cybozu SRE
161218 cybozu SRE161218 cybozu SRE
161218 cybozu SRE
 
5分で分かるサイボウズのSRE
5分で分かるサイボウズのSRE5分で分かるサイボウズのSRE
5分で分かるサイボウズのSRE
 
Japan soft layer girls group meetup 2016feb12
Japan soft layer girls group meetup 2016feb12Japan soft layer girls group meetup 2016feb12
Japan soft layer girls group meetup 2016feb12
 
CircleCIのArtifactを活用してレポートを作成する
CircleCIのArtifactを活用してレポートを作成するCircleCIのArtifactを活用してレポートを作成する
CircleCIのArtifactを活用してレポートを作成する
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
jaws-ug kansai-special_kinesis_20150207
jaws-ug kansai-special_kinesis_20150207jaws-ug kansai-special_kinesis_20150207
jaws-ug kansai-special_kinesis_20150207
 
東急ハンズのクラウドデザインパターン アーキテクチャー編
東急ハンズのクラウドデザインパターン アーキテクチャー編東急ハンズのクラウドデザインパターン アーキテクチャー編
東急ハンズのクラウドデザインパターン アーキテクチャー編
 
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
 
01 slack導入の提案
01 slack導入の提案01 slack導入の提案
01 slack導入の提案
 
cybozu.com のデータバックアップとリストア、それを活用したリハーサル
cybozu.com のデータバックアップとリストア、それを活用したリハーサルcybozu.com のデータバックアップとリストア、それを活用したリハーサル
cybozu.com のデータバックアップとリストア、それを活用したリハーサル
 
Zabbix on SoftLayer
Zabbix on SoftLayer Zabbix on SoftLayer
Zabbix on SoftLayer
 
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
 
新規事業を 支える文化と加速させる技術 ~ devops / GCP / DDD ~
新規事業を支える文化と加速させる技術~ devops / GCP / DDD ~新規事業を支える文化と加速させる技術~ devops / GCP / DDD ~
新規事業を 支える文化と加速させる技術 ~ devops / GCP / DDD ~
 
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニアヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
 
AWS初心者に贈る〜AWS関連コンテンツを使い倒そう_20150514 #jawsug_bgnr #jawsug @applebear_ayu
AWS初心者に贈る〜AWS関連コンテンツを使い倒そう_20150514 #jawsug_bgnr #jawsug @applebear_ayuAWS初心者に贈る〜AWS関連コンテンツを使い倒そう_20150514 #jawsug_bgnr #jawsug @applebear_ayu
AWS初心者に贈る〜AWS関連コンテンツを使い倒そう_20150514 #jawsug_bgnr #jawsug @applebear_ayu
 
リモート拠点を立ち上げる楽しさと苦労
リモート拠点を立ち上げる楽しさと苦労リモート拠点を立ち上げる楽しさと苦労
リモート拠点を立ち上げる楽しさと苦労
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 

Similar a NewsPicksでのAWS活用法

シラサギ紹介OSC京都2017
シラサギ紹介OSC京都2017シラサギ紹介OSC京都2017
シラサギ紹介OSC京都2017Naokazu Nohara
 
20190222 osc2019tokyospring
20190222 osc2019tokyospring20190222 osc2019tokyospring
20190222 osc2019tokyospringtetsuromachida
 
シラサギ紹介20170525
シラサギ紹介20170525シラサギ紹介20170525
シラサギ紹介20170525Naokazu Nohara
 
新規アプリ開発×Ucd
新規アプリ開発×Ucd新規アプリ開発×Ucd
新規アプリ開発×Ucd綾奈 佐瀬
 
シラサギ紹介20170915
シラサギ紹介20170915シラサギ紹介20170915
シラサギ紹介20170915Naokazu Nohara
 
OSCnagoya2019(Shirasagi20190709)
OSCnagoya2019(Shirasagi20190709)OSCnagoya2019(Shirasagi20190709)
OSCnagoya2019(Shirasagi20190709)Naokazu Nohara
 
シラサギ紹介(OSC東京)
シラサギ紹介(OSC東京)シラサギ紹介(OSC東京)
シラサギ紹介(OSC東京)Naokazu Nohara
 
サーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChefサーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChefMaho Takara
 
Shirasagi20190222(OSC TOKYO)
Shirasagi20190222(OSC TOKYO)Shirasagi20190222(OSC TOKYO)
Shirasagi20190222(OSC TOKYO)Naokazu Nohara
 
シラサギ紹介osc京都
シラサギ紹介osc京都シラサギ紹介osc京都
シラサギ紹介osc京都Naokazu Nohara
 
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイントMonaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイントアシアル株式会社
 
Chainerで知るdeep learning進化の歴史
Chainerで知るdeep learning進化の歴史Chainerで知るdeep learning進化の歴史
Chainerで知るdeep learning進化の歴史Hideto Masuoka
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』Ryohei Sogo
 
Aws発表資料(dac) 20160721
Aws発表資料(dac) 20160721Aws発表資料(dac) 20160721
Aws発表資料(dac) 20160721Norikazu Yura
 

Similar a NewsPicksでのAWS活用法 (20)

ssmjp October 2014
ssmjp October 2014ssmjp October 2014
ssmjp October 2014
 
OSC Chiba 2017
OSC Chiba 2017OSC Chiba 2017
OSC Chiba 2017
 
シラサギ紹介OSC京都2017
シラサギ紹介OSC京都2017シラサギ紹介OSC京都2017
シラサギ紹介OSC京都2017
 
20190222 osc2019tokyospring
20190222 osc2019tokyospring20190222 osc2019tokyospring
20190222 osc2019tokyospring
 
シラサギ紹介20170525
シラサギ紹介20170525シラサギ紹介20170525
シラサギ紹介20170525
 
新規アプリ開発×Ucd
新規アプリ開発×Ucd新規アプリ開発×Ucd
新規アプリ開発×Ucd
 
OSC KYOTO 2018
OSC KYOTO 2018OSC KYOTO 2018
OSC KYOTO 2018
 
シラサギ紹介20170915
シラサギ紹介20170915シラサギ紹介20170915
シラサギ紹介20170915
 
OSC長岡
OSC長岡OSC長岡
OSC長岡
 
Osc広島2017
Osc広島2017Osc広島2017
Osc広島2017
 
OSCnagoya2019(Shirasagi20190709)
OSCnagoya2019(Shirasagi20190709)OSCnagoya2019(Shirasagi20190709)
OSCnagoya2019(Shirasagi20190709)
 
シラサギ紹介(OSC東京)
シラサギ紹介(OSC東京)シラサギ紹介(OSC東京)
シラサギ紹介(OSC東京)
 
サーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChefサーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChef
 
Shirasagi20190222(OSC TOKYO)
Shirasagi20190222(OSC TOKYO)Shirasagi20190222(OSC TOKYO)
Shirasagi20190222(OSC TOKYO)
 
シラサギ紹介osc京都
シラサギ紹介osc京都シラサギ紹介osc京都
シラサギ紹介osc京都
 
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイントMonaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
 
Chainerで知るdeep learning進化の歴史
Chainerで知るdeep learning進化の歴史Chainerで知るdeep learning進化の歴史
Chainerで知るdeep learning進化の歴史
 
Tibco mashery資料
Tibco mashery資料Tibco mashery資料
Tibco mashery資料
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』
 
Aws発表資料(dac) 20160721
Aws発表資料(dac) 20160721Aws発表資料(dac) 20160721
Aws発表資料(dac) 20160721
 

NewsPicksでのAWS活用法