Your SlideShare is downloading. ×
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Elastic beanstalk と Docker と Play

3,925

Published on

Published in: Technology
0 Comments
26 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,925
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
28
Comments
0
Likes
26
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 動いた! Dockerfile 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 を展開して Dockerfile を入れて 再度圧縮し、elastic beanstalk へ upload 解凍した top directory に Dockerfile が無いとエラーなので注意
  • 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

×