33
Auto Scaling Applications in 10 Minutes Juan Basso @jrbasso System Architect - Zumba Fitness

Auto scaling applications in 10 minutes (CakeFest 2013)

Embed Size (px)

DESCRIPTION

Talk about using AWS OpsWorks to auto scale web applications on AWS infrastructure.

Citation preview

Page 1: Auto scaling applications in 10 minutes (CakeFest 2013)

Auto ScalingApplications in10 Minutes

Juan Basso @jrbasso

System Architect - Zumba Fitness

Page 2: Auto scaling applications in 10 minutes (CakeFest 2013)

IngredientsAWS AccountAWS OpsWorksChef CookbooksYour Awesome AppSome MoneyPatience

Page 3: Auto scaling applications in 10 minutes (CakeFest 2013)

Some TermsAWS: Amazon Web ServicesEC2: Amazon Elastic Compute CloudELB: Elastic Load BalancingRDS: Amazon Relational Database Service

Page 4: Auto scaling applications in 10 minutes (CakeFest 2013)

Architecture Evolution

Page 5: Auto scaling applications in 10 minutes (CakeFest 2013)

Starting

Page 6: Auto scaling applications in 10 minutes (CakeFest 2013)

Separate the Load

Page 7: Auto scaling applications in 10 minutes (CakeFest 2013)

More Instances for the Load

Page 8: Auto scaling applications in 10 minutes (CakeFest 2013)

Auto Scaling

Page 9: Auto scaling applications in 10 minutes (CakeFest 2013)

Getting There With OpsWorks

Page 10: Auto scaling applications in 10 minutes (CakeFest 2013)

What is OpsWorks?Free Tool with AWS AccountSimple Interface for Setup the DeploymentEasy Setup of Auto ScalingDevOps Application Management Service

Page 11: Auto scaling applications in 10 minutes (CakeFest 2013)

What is Necessary?AWS AccountApplication in Some RepositoryCreate Chef CookbooksPut the Cookbooks on Some Repository

Page 12: Auto scaling applications in 10 minutes (CakeFest 2013)

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

Page 13: Auto scaling applications in 10 minutes (CakeFest 2013)

ComponentsStackLayersInstancesApplication

Page 14: Auto scaling applications in 10 minutes (CakeFest 2013)

OpsWorks Step-By-Step

Page 15: Auto scaling applications in 10 minutes (CakeFest 2013)

Links and ConfigsApplication: git://github.com/croogo/croogo.git (tag v1.5.3)Cookbook: git://github.com/jrbasso/croogo-cookbook

Setup: cakephp::setupConfigure: php::timezone_cfgDeploy: croogo::install andphp::timezone_cfg

Create the RDS and ELB beforehandImport database dataPS: Sessions are going to be stored on DB

Page 16: Auto scaling applications in 10 minutes (CakeFest 2013)

Create the Load Balancer

Page 17: Auto scaling applications in 10 minutes (CakeFest 2013)

Create the Database

Page 18: Auto scaling applications in 10 minutes (CakeFest 2013)

Welcome Page from OpsWorks

Page 19: Auto scaling applications in 10 minutes (CakeFest 2013)

Creating the Stack (Part 1)

Page 20: Auto scaling applications in 10 minutes (CakeFest 2013)

Creating the Stack (Part 2)

Page 21: Auto scaling applications in 10 minutes (CakeFest 2013)

Creating PHP Layer

Page 22: Auto scaling applications in 10 minutes (CakeFest 2013)

Configuring PHP Layer

Page 23: Auto scaling applications in 10 minutes (CakeFest 2013)

Before Setup Instances

Page 24: Auto scaling applications in 10 minutes (CakeFest 2013)

Creating the Instance

Page 25: Auto scaling applications in 10 minutes (CakeFest 2013)

24/7 Instance Created

Page 26: Auto scaling applications in 10 minutes (CakeFest 2013)

Created Load and Time BasedInstances

Page 27: Auto scaling applications in 10 minutes (CakeFest 2013)

Setting Up Time BasedInstances

Page 28: Auto scaling applications in 10 minutes (CakeFest 2013)

Setting Up Load BasedInstances

Page 29: Auto scaling applications in 10 minutes (CakeFest 2013)

Creating Application

Page 30: Auto scaling applications in 10 minutes (CakeFest 2013)

Application Created

Page 31: Auto scaling applications in 10 minutes (CakeFest 2013)

Monitoring Servers

Page 32: Auto scaling applications in 10 minutes (CakeFest 2013)

Auto Starting a Load Instance

Page 33: Auto scaling applications in 10 minutes (CakeFest 2013)

Questions?