狠狠撸
Submit Search
Elastic beanstalk と Docker と Play
?
25 likes
?
6,136 views
Takashi Kawachi
1 of 32
Download now
Downloaded 31 times
More Related Content
Elastic beanstalk と Docker と Play
1.
Elastic beanstalk と Docker
と Play 河内 崇 @kawachi pLucky, Inc. AWS Startup Tech Meetup 2014/6/5
2.
データ分析関連書籍? 翻訳やってます。 Scala, Play, iOS,? Ruby,
Rails," Java, C, Python," Javascript, Haxe etc.
3.
サービス課題をサクッとチェック 事前登録受付中 http://logbook.strikingly.com/
4.
9月6~7日 日本最大のScala Conference http://scalamatsuri.org
5.
Elastic beanstalk とは Amazon
web service が提供する PaaS 的なもの データベース(RDS)、仮想ホスト(EC2)、ロードバ ランサ(ELB)をセットで立ち上げ 負荷に応じてホスト増加(Auto scaling) Tomcat, Rails, PHP, Python, Node.js などをサポート
6.
なぜ私は Elastic beanstalk
を? 使いたいか? 運用で楽をしたい いざとなったら ssh で入って調査できる Blue-Green deployment 的なものが簡単 もう1セット立ち上げてガバっと切り替え CNAME 切り替え
7.
Elastic beanstalk + Tomcat
+ Scalatra 弊社製品の一部で安定稼働
8.
普通の web アプリを? 作りたくなった? Play
framework
9.
Play framework Full stack
Web framework Scala Rails ぽいけど rails より安全(型的に) Netty based 非同期IO 高性能
10.
Play を elastic
beanstalk で 動かすには .war にして? Tomcat に乗せるしかない。 活かせない非同期IO (Netty)
11.
そこにDocker対応のニュース! 2014/4/23
12.
Docker Lightweight Linux container 環境(ライブラリなど)ごと持ち運べる Ubuntu
ホストで CentOS 環境動かしたり DotCloud社(現Docker社)がオープンソース化 最新版は 0.11 (version 1 の RC 扱いらしい)
13.
なにが嬉しいか? 開発、テスト、本番で同じ環境が使える Tomcat に限定されない。Netty が動かせる! Container内で
httpd が動けばいい play2-war-plugin からの脱依存
14.
性能アップの予感 でもコンテナ層が増えてるぞ…
15.
どっちが速いの? JVM Tomcat アプリ JVM Netty アプリ Docker Tomcat より? Netty の方が速い 一階層多い
16.
無料の負荷計測サービス https://catmdes.com/features/performance-test/
17.
HTMLファイルを置くか? <meta> により所有者確認 国内5つのホストから? 要求がくる JMeter による? シナリオテストも可能
18.
ちょっと測ってみるか Play 2.2.3 で
query string を echo back する? アプリを作成 Tomcat + .war V.S. Docker + Netty Elastic beanstalk @ap-northeast-1? Single instance m3.medium
19.
まずは Tomcat +
war 385 req/sec, エラー率 0%, response time: 0.42 sec
20.
念の為にもう一回 584 req/sec, エラー率
0%, response time: 0.27 sec
21.
あれ、だいぶ速くなった? JIT? とはいえ? 一回の測定3分間 たまに外れ値が? 出る模様 0 150 300 450 600 1 2
3 4
22.
2度目の測定結果を採用 584 req/sec Tomcat +
.war の結果
23.
続いて Docker +
Netty? 行ってみよう!
24.
エラーを出してもエラーにならない めげない
25.
fuse install しようとしてエラー apt-get
install -y --no-install-recommends openjdk-7-jdk で? 回避可能 Docker が古い.. 0.9.0. Docker の最新版では出ないエラー めげずに
26.
動いた! Docker?le FROM ubuntu:trusty RUN
sudo apt-get install -y --no-install-recommends openjdk-7-jdk ADD . /usr/local/play22-echo EXPOSE 80 CMD /usr/local/play22-echo/bin/play22-echo -Dhttp.port=80 sbt dist zip を展開して Docker?le を入れて 再度圧縮し、elastic beanstalk へ upload 解凍した top directory に Docker?le が無いとエラーなので注意
27.
さてここで問題です Docker + Netty
にしたら性能はどうなったで しょうか? A: すごい速くなった B: だいたい一緒くらいだった C: 逆に遅くなった
28.
コイツ、、 1130 req/sec, エラー率
0%, response time: 0.12 sec
29.
は、はやい! 0 300 600 900 1200 1 2 3
4 Tomcat Docker
30.
584 req/sec Tomcat +
.war 1130 req/sec Docker+Netty 約2倍速 2度目の測定結果を採用
31.
Summary Elastic beanstalk は人手の少ない
start up の味方 Elastic beanstalk + Docker は? とりあえず動かすならそんなにハマらない Deploy 手段などノウハウはまだ溜まってない Play やるなら Netty が速い JVM以外の環境でも【あなたの好きなもの】が使える CATS MDES は簡単無料で負荷テストできていい感じ
32.
S3をprivate repo として? 使えるように! 2014/6/1
Download