Auto Scaling
Applications in
10 MinutesJuan Basso @jrbasso
System Architect - Zumba Fitness
Ingredients
AWS Account
AWS OpsWorks
Chef Cookbooks
Your Awesome App
Some Money
Patience
Some Terms
AWS: Amazon Web Services
EC2: Amazon Elastic Compute Cloud
ELB: Elastic Load Balancing
RDS: Amazon Relational Database Service
Architecture Evolution
Starting
Separate the Load
More Instances for the Load
Auto Scaling
Getting There With OpsWorks
What is OpsWorks?
Free Tool with AWS Account
Simple Interface for Setup the Deployment
Easy Setup of Auto Scaling
DevOps Application Management Service
What is Necessary?
AWS Account
Application in Some Repository
Create Chef Cookbooks
Put the Cookbooks on Some Repository
Chef Cookbooks???
node[:deploy].each do |application, deploy|
include_recipe 'apache2::service'
execute 'Setup PHP default timezone' do
action :run
command "
sed -i 's/;date.timezone.*/date.timezone = UTC/g'
`php -r 'echo php_ini_loaded_file();'`
"
user 'root'
notifies :reload, resources(:service => "apache2"), :delayed
end
end
Components
Stack
Layers
Instances
Application
OpsWorks Step-By-Step
Links and Configs
Application: git://github.com/croogo/croogo.git (tag v1.5.3)
Cookbook: git://github.com/jrbasso/croogo-cookbook
Setup: cakephp::setup
Configure: php::timezone_cfg
Deploy: croogo::installand
php::timezone_cfg
Create the RDS and ELB beforehand
Import database data
PS: Sessions are going to be stored on DB
Create the Load Balancer
Create the Database
Welcome Page from OpsWorks
Creating the Stack (Part 1)
Creating the Stack (Part 2)
Creating PHP Layer
Configuring PHP Layer
Before Setup Instances
Creating the Instance
24/7 Instance Created
Created Load and Time Based
Instances
Setting Up Time Based
Instances
Setting Up Load Based
Instances
Creating Application
Application Created
Monitoring Servers
Auto Starting a Load Instance
Questions?

Auto scaling applications in 10 minutes (CakeFest 2013)