php experience 2016 - [workshop] deploy escalável na amazon aws

49
Deploy escalável simples Utilizando Amazon AWS

Upload: imasters

Post on 14-Apr-2017

286 views

Category:

Education


0 download

TRANSCRIPT

Page 1: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Deploy escalável simples

Utilizando Amazon AWS

Page 2: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Benefícios

• Escalabilidade

• Alta disponibilidade

• Zero Downtime Deploy

Page 3: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Overview

Page 4: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Componentes

• Amazon Machine Image (AMI)

• EC2 Load Balancer

• EC2 Auto Scaling

Page 5: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Passo a passo Amazon Machine Image

• Criar máquina no ec2

• Instalar dependencias

• Configurar nginx e php-fpm

• Criar script de inicialização

• Criar AMI (Amazon Machine Image)

Page 6: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 7: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 8: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 9: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 10: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Passo a passo Amazon Machine Image

• Criar máquina no ec2

• Instalar dependencias

• Configurar nginx e php-fpm

• Criar script de inicialização

• Criar AMI (Amazon Machine Image)

Page 11: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Instalar dependencias

• ssh -i ~/.ssh/chave [email protected]

• apt-get update

• apt-get install nginx php5-fpm git

Page 12: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Passo a passo Amazon Machine Image

• Criar máquina no ec2

• Instalar dependencias

• Configurar nginx e php5-fpm

• Criar script de inicialização

• Criar AMI (Amazon Machine Image)

Page 13: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Configurar NGINX• /etc/nginx/sites-available/default • service nginx restart

Page 14: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Configurar php5-fpm

• /etc/php5/fpm/php.ini • service php5-fpm reload

Page 15: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Passo a passo Amazon Machine Image

• Criar máquina no ec2

• Instalar dependencias

• Configurar nginx e php-fpm

• Criar script de inicialização

• Criar AMI (Amazon Machine Image)

Page 16: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Scripts Inicialização

• /etc/rc.local

• ~/getsource

Page 17: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

/etc/rc.local

Page 18: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

getsource

• Ler user-data • Clonar projeto do github • Usa o user-data para selecionar commit específico

Page 19: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Passo a passo Amazon Machine Image

• Criar máquina no ec2

• Instalar dependencias

• Configurar nginx e php-fpm

• Criar script de inicialização

• Criar AMI (Amazon Machine Image)

Page 20: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 21: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Componentes

• Amazon Machine Image (AMI)

• EC2 Load Balancer

• EC2 Auto Scaling Group

Page 22: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Overview

Page 23: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 24: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 25: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 26: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 27: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 28: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Componentes

• Amazon Machine Image (AMI)

• EC2 Load Balancer

• EC2 Auto Scaling

Page 29: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Overview

Page 30: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Passo a passo Auto Scaling Group

• Launch Configuration

• Auto Scaling Group

Page 31: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 32: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 33: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 34: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 35: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 36: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 37: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 38: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 39: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 40: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Passo a passo Auto Scaling Group

• Launch Configuration

• Auto Scaling Group

Page 41: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 42: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 43: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS
Page 44: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Overview

Page 45: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Zero Downtime Deploy• Criar Launch configuration para versão nova

• Criar Auto Scaling Group usando nova launch configuration

• Esperar máquinas da versão nova começarem a servir a aplicação

• Diminuir a quantidade de máquinas do Auto Scaling Group antigo para zero

Page 46: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Overview

Page 47: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Demonstração

Page 48: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Perguntas

Page 49: PHP Experience 2016 - [Workshop] Deploy escalável na Amazon AWS

Muito obrigado!!