Sunteți pe pagina 1din 30

Pool Party!

Autoscaling on EC2
EC2 for the criminally lazy
autoElastic cloud computing on EC2

Ari Lerner
http://www.citrusbyte.com
Amazon’s EC2
What Issues
• Clustered, web-service • No auto-scaling
• Easy scaled computing • No load-balancing
• Completely
customizable
• Non-persistent
data storage
instance

• Pay
use
for only what you • Volatile
solution
with no failover

• Highly elastic
• Incredibly flexible
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


How?
Load Balancing Haproxy

Fail safety Heartbeat


How?
Persistent data
S3F(use)
storage

Auto-scaling PoolParty
*nix
HAProxy
This 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.
Heartbeat
Robust, enterprise-standard services monitor that provides
pool party failover capabilities.

S3Fs
S3 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.
Load Balancing
node2
node1

Master
node0

Web server/DB Server/


Memcached server/local
machine request, etc.
Failover (instance)

node1
node2

Master
node0
Failover (instance)

node1
node2

Master
node0
Failover (instance)

node2
node1

Master
node0
Failover (master)

node1
node2

Master
node0
Failover (master)

node1
node2

Master
node0
Failover (master)

Master
node0 node0

node1
Persistent data store
S3:/your_bucket

node1

node2

Master
node0
Auto-scaling
Can serve 0.23
req/sec and cpu
load is 0.70

node1

Can serve 20.1


req/sec and cpu
node2 load is 0.95

Master Can serve 3.8


node0 req/sec and cpu
load is 0.72

Average req/sec = 8.04


Average cpu load = 0.77
Auto-scaling
Can serve 0.23
req/sec and cpu
load is 0.70

node1

Can serve 20.1


req/sec and cpu
node2 load is 0.95

Master Can serve 3.8


node0 req/sec and cpu
load is 0.72

VY
A = 8.04
HEreq/sec
Average
LO
Average cpu D!!!= 0.77
Aload
Auto-scaling
Can serve 20.1
req/sec and cpu
load is 0.35

node3

Can serve 12.2


req/sec and cpu
load is 0.50
node1
node2
Can serve 20.1
req/sec and cpu
Master load is 0.35
node0

Can serve 10.2


req/sec and cpu
load is 0.45
Auto-scaling
Can serve 20.1
req/sec and cpu
load is 0.35

node3

Can serve 12.2


req/sec and cpu
load is 0.50
node1
node2
Can serve 20.1
req/sec and cpu
Master load is 0.35
node0

Can serve 10.2


req/sec and cpu
load is 0.45

Phew! Load is back to normal


CloudSpeak
• pool
• start | stop | restart | list | maintain
• instance
• start | stop | reconfigure | install | ssh |
scp | cmd | start_maintain |
stop_maintain
Usage example
Start with
rake dev:setup
source ~/.key_pool_keys
pool start
pool list
instance ssh
pool stop
Upcoming features
in development

• Speeding up configuration-time

• Plugin and extensible support

• Front-end client

• Monitor logging

• Capistrano deployment
Questions?
Resources

• http://www.poolpartyrb.com
• http://www.citrusbyte.com
• http://aws.amazon.com/
• mailto: ari.lerner@citrusbyte.com
Thanks

S-ar putea să vă placă și