AWS re:Invent breakout session 1日目
re:Invent 2014 breakout session 1日目
個人的にメモっておきます。
Keynoteでは、AuroraがでたりConfigだったりCodeDeployだったりがでました。細かい機能の話は参照しておいて、所感中心で。
聴いたセッションは以下のとおり。
- SDD406 -- Amazon EC2 Instances Deep Dive
- SDD415 NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine
- BDT403 - Netflix's Next Generation Big Data Platform
- BDT402 -- Performance Profiling in Production: Analyzing Web Requests at Scale Using Amazon Elastic MapReduce and Storm
- APP402 -- Serving Billions of Web Requests Each Day with Elastic Beanstalk
新サービス類
Aurora
AWSのためにre-designされた、速くてスケールするMySQLです。*1 まだPreviewでusでのみ限定公開になります。
所感
- 銀の弾丸ではない
- ストレージとログのレイヤを既存のMySQLの構造から切り出してAWSのアーキテクチャにフィットさせているあたりかっこよい
- キャッシュがDBのプロセスの外に出たのは嬉しい、restartしても残るわけだし
- マルチマスターにしなくてよいほどにwriteが安定して速いといいなぁ(安直にマルチマスターの機能を追加するよりは、パフォーマンスをどんどん上げる方向に向いていって欲しいなぁと思った
- 「MySQLよりパフォーマンスが5倍向上!」がひとり歩きして、まだリリースされていないのに大変だなと思った
- つまるところ使ってみないとわからん
Code ManagementとDeployのツールいろいろ
所感
- この領域きたかー
- Amazon本体のCIの話 The Story of Apollo - Amazon’s Deployment Engine - All Things Distributed がいい話だったんだけど、1年で5000万回デプロイとかしてて尋常じゃなかった。この背景があるとサービス化したのも、思想的にわかる。
In the past 12 months alone, Apollo was used for 50M deployments to development, testing, and production hosts.
- 実際にどれくらいのユーザが使うかはわからないけどCIサーバの運用しなくなるならいいなと思った
- でもおそらくOpsWorksじゃないけど、全てのユーザがこれに乗っかるようなものではないだろうなあとも思う
- そう、やはり使ってみないとわからん
セッション
SDD406 -- Amazon EC2 Instances Deep Dive
EC2 instanceの話。
- EC2 instanceのProduct ManagerのJohnさんとKernelとかOS周りやってるAnthonyさんのセッション
- とりあえずKernel 3.8以降使っとけって言ってた
- ウェアレベリング - Wikipedia とかこのへんの話
- t2.microのCPU burstなんかについて、どういう設計思想でつくったか、みたいな話もあった
- PV-HVMがなぜPVより速いか、あたりについての解説
SDD415 NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine
機能周りは上に書いたのでQAのメモを貼っておく。立ち見でてた。
- RDS: MySQL -> auroraのマイグレートは簡単に
- バイナリフォーマットでコンバートできるように
- MySQLのコンパティビリティを壊してはいないから、既存ツールも動くはず
- Encryptionはサポート予定
- 開発用のローカルバージョンは出さない予定
- MySQL 5.6と変わらないからね
- MySQLの新しいバージョンにも追従していく予定
- Postgreサポートするか?
- 今日はないよw
- MySQLはユーザ多いからやった
- 可能だけどどこに今後サポートとするかによるかな
- スケーリングはシンプルに出来る
- dedicatedインスタンスは今後の展開次第
- network ioのコストは、殆どない。なぜならVPC内だから
- multi-masterはどう?
- それぞれのマスターノードしか用意出来てない
- 顧客の要望があるならやるかも?
- 現時点での見解としてはmulti-masterにする必要はないと思ってる
BDT403 - Netflix's Next Generation Big Data Platform
Netflixの解析基盤の話 in 2014。去年もごりごりいろんな発表合ったので、どんなupdateあるのかなと思いながらきいた。このセッションもほぼ満員だった
- 2013年と比較すると、Prestoの採用とHadoop 2への移行, Parquet FFへの移行というのが大きい話
- Parquet, Pig, Hive, Prestoにそれぞれcontributeした
- column position based access, Data type coercion, Null paddingなどなど
- Parquetへの移行の話
- 規模
- Hadoop 2への移行の作業について
- パッチあてた
- userのqueueを動的に階層化する
- 動的に公正な共有を行うようにした
- Genieからジョブをディスパッチする際に、Hadoop1と2を並行稼働させてそれぞれにジョブなげてた
- 今は全体をHadoop 2系に移行した。EMRだからmigrationはわりと楽だった。
- パッチあてた
- Prestoについて, アドホックな分析に利用してる。TBオーダでもインタラクティブに動く
- NetflixのPrestoへのコントリビュート: S3 filesystem対応、Parquet対応、ODBC driver改善、map / array改善、などなど
- Netflixがソフトウェアを選ぶ基準: ホワイトボックスであること
- なぜEMRを使うのか
所感
- 熱かった
BDT402 -- Performance Profiling in Production: Analyzing Web Requests at Scale Using Amazon Elastic MapReduce and Storm
Yelpのなかの人のパフォーマンスモニタリング話
所感
- EMRとStormの話はそんなに出てこなかった
APP402 -- Serving Billions of Web Requests Each Day with Elastic Beanstalk
ほんとはDataDogのDocker Containerのscaleとmonitoringに関するセッションにいこうと思ってたんだけど会場が満員で入れず・・・ということでこちらにきた。
ThinkNearというMobileのRTB事業者さんのセッション。
メモ
- Elastic Beanstalkをばりばりつかってる
- 構成
- networkまわり
- tomcatがだいたい1000-1200ファイルくらい常に開いてる
net.core.somaxconn
あげておく。4096にしてる。バーストしたらまずこれが枯渇する。net.ipv4.tcp_fin_timeout
大事。timeout大事。ELB側も合わせて調整すること。- ELBはConnection Drainingの設定しておく。timeoutしたときにスムーズに外せるように。
- ログ周り
- ディスク
- EBS遅いからraid0してる
- tomcatのログはephemeralに書いてる
というのを全部構成するための設定がGitHubに載ってる。Yeah!
所感
- Elastic Beanstalkでがんばるとかまじか・・・と思ったがまじだった
- Hotkey問題、あるあるだった
- Elasticacheは外部キャッシュとしてはやはり速い。そしてアプリケーションのキャッシュはさらに速い
- ちょっと考えさせられた
- try and errorいろいろあれど、beanstalkでそれなりにさばけるところまで持っていくの、それはそれで戦略だなと思った
- それにしても俺得セッションだった
*1:かなり適当にまとめています