pool party presentation

30
Pool Party! Autoscaling on EC2 EC2 for the criminally lazy autoElastic cloud computing on EC2 Ari Lerner http://www.citrusbyte.com

Upload: ari-lerner

Post on 13-Nov-2014

2.638 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: pool party presentation

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

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

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

How?

Load Balancing Haproxy

Fail safety Heartbeat

Page 5: pool party presentation

How?

Persistent data storage

S3F(use)

Auto-scaling PoolParty

Page 6: pool party presentation

*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

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

Load Balancing

Masternode0

node1node2

Web server/DB Server/Memcached server/local

machine request, etc.

Page 9: pool party presentation

Failover (instance)

Master

node0

node1

node2

Page 10: pool party presentation

Failover (instance)

Master

node0

node1

node2

Page 11: pool party presentation

Failover (instance)

Master

node0

node1node2

Page 12: pool party presentation

Failover (master)

Master

node0

node1

node2

Page 13: pool party presentation

Failover (master)

Master

node0

node1

node2

Page 14: pool party presentation

Failover (master)

Master

node0node0

node1

Page 15: pool party presentation

Persistent data store

Masternode0

node1

node2

S3:/your_bucket

Page 16: pool party presentation

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

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

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

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

CloudSpeak

• pool

• start | stop | restart | list | maintain

• instance

• start | stop | reconfigure | install | ssh | scp | cmd | start_maintain | stop_maintain

Page 21: pool party presentation

Usage example

Page 22: pool party presentation

Start with rake dev:setup

source ~/.key_pool_keys

Page 23: pool party presentation

pool start

Page 24: pool party presentation

pool list

Page 25: pool party presentation

instance ssh

Page 26: pool party presentation

pool stop

Page 27: pool party presentation

Upcoming featuresin development

• Speeding up configuration-time

• Plugin and extensible support

• Front-end client

• Monitor logging

• Capistrano deployment

Page 28: pool party presentation

Questions?

Page 30: pool party presentation

Thanks