pool party presentation
-
Upload
ari-lerner -
Category
Documents
-
view
2.638 -
download
1
Transcript of pool party presentation
![Page 1: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/1.jpg)
Pool Party!Autoscaling on EC2
EC2 for the criminally lazyautoElastic cloud computing on EC2
Ari Lerner http://www.citrusbyte.com
![Page 2: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/2.jpg)
Amazon’s EC2
• Clustered, web-service
• Easy scaled computing
• Completely customizable
• Pay for only what you use
• Highly elastic
• Incredibly flexible
What Issues• No auto-scaling
• No load-balancing
• Non-persistent instance data storage
• Volatile with no failover solution
![Page 3: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/3.jpg)
Pool Party• Self-healing computing clusters
• Auto-scales cloud based on user-configured parameters
• Inherent load-balancing
• Persistent data storage on instances using s3
• Failover safety
• CloudSpeak DSL – easily communicate with your cloud
![Page 4: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/4.jpg)
How?
Load Balancing Haproxy
Fail safety Heartbeat
![Page 5: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/5.jpg)
How?
Persistent data storage
S3F(use)
Auto-scaling PoolParty
![Page 6: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/6.jpg)
*nix
HAProxyThis application-agnostic, hot-swappable load-balancer built from the ground up for high availability clusters is speedy because of it’s closeness to the os.
![Page 7: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/7.jpg)
HeartbeatRobust, enterprise-standard services monitor that provides pool party failover capabilities.
S3FsS3 backed filesystem in userspace (FUSE) uses little-to-no caching to reduce race conditions. Pool party uses the unlimited s3 data-store to provide instances access to the same data across the instances while providing an easy deployable.
![Page 8: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/8.jpg)
Load Balancing
Masternode0
node1node2
Web server/DB Server/Memcached server/local
machine request, etc.
![Page 9: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/9.jpg)
Failover (instance)
Master
node0
node1
node2
![Page 10: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/10.jpg)
Failover (instance)
Master
node0
node1
node2
![Page 11: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/11.jpg)
Failover (instance)
Master
node0
node1node2
![Page 12: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/12.jpg)
Failover (master)
Master
node0
node1
node2
![Page 13: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/13.jpg)
Failover (master)
Master
node0
node1
node2
![Page 14: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/14.jpg)
Failover (master)
Master
node0node0
node1
![Page 15: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/15.jpg)
Persistent data store
Masternode0
node1
node2
S3:/your_bucket
![Page 16: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/16.jpg)
Auto-scaling
Masternode0
node1
node2
Can serve 0.23 req/sec and cpu
load is 0.70
Can serve 20.1 req/sec and cpu
load is 0.95
Can serve 3.8 req/sec and cpu
load is 0.72
Average req/sec = 8.04Average cpu load = 0.77
![Page 17: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/17.jpg)
Auto-scaling
Masternode0
node1
node2
Can serve 0.23 req/sec and cpu
load is 0.70
Can serve 20.1 req/sec and cpu
load is 0.95
Can serve 3.8 req/sec and cpu
load is 0.72
Average req/sec = 8.04Average cpu load = 0.77
HEAVY
LOAD!!!
![Page 18: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/18.jpg)
Auto-scaling
Masternode0
node1
node2
Can serve 12.2 req/sec and cpu
load is 0.50
Can serve 20.1 req/sec and cpu
load is 0.35
Can serve 10.2 req/sec and cpu
load is 0.45
node3
Can serve 20.1 req/sec and cpu
load is 0.35
![Page 19: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/19.jpg)
Auto-scaling
Masternode0
node1
node2
Can serve 12.2 req/sec and cpu
load is 0.50
Can serve 20.1 req/sec and cpu
load is 0.35
Can serve 10.2 req/sec and cpu
load is 0.45
node3
Can serve 20.1 req/sec and cpu
load is 0.35
Phew! Load is back to normal
![Page 20: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/20.jpg)
CloudSpeak
• pool
• start | stop | restart | list | maintain
• instance
• start | stop | reconfigure | install | ssh | scp | cmd | start_maintain | stop_maintain
![Page 21: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/21.jpg)
Usage example
![Page 22: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/22.jpg)
Start with rake dev:setup
source ~/.key_pool_keys
![Page 23: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/23.jpg)
pool start
![Page 24: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/24.jpg)
pool list
![Page 25: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/25.jpg)
instance ssh
![Page 26: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/26.jpg)
pool stop
![Page 27: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/27.jpg)
Upcoming featuresin development
• Speeding up configuration-time
• Plugin and extensible support
• Front-end client
• Monitor logging
• Capistrano deployment
![Page 28: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/28.jpg)
Questions?
![Page 29: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/29.jpg)
Resources
• http://www.poolpartyrb.com
• http://www.citrusbyte.com
• http://aws.amazon.com/
• mailto: [email protected]
![Page 30: pool party presentation](https://reader031.fdocuments.net/reader031/viewer/2022020217/54647316af795969458b45b1/html5/thumbnails/30.jpg)
Thanks