SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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の集計機能で計算
● 同じデータに大量のアクセス
⇛ リードレプリカを分散して、ピーク時負荷軽減
終わりに
インフラエンジニアの心得
タフでなければ生きて行けない。
優しくなれなければ生きている資格がない
インフラエンジニアの心得
サービスへの理解がなければ生きて行けない。
安定した基盤を作れなければ生きている資格がない
エンジニア募集中!!!

Contenu connexe

Tendances

Tendances (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
 
リモート拠点を立ち上げる楽しさと苦労
リモート拠点を立ち上げる楽しさと苦労リモート拠点を立ち上げる楽しさと苦労
リモート拠点を立ち上げる楽しさと苦労
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 

Similaire à NewsPicksでのAWS活用法

Similaire à 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
 

Dernier

Dernier (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

NewsPicksでのAWS活用法