aws auto scaling #parte1

Post on 29-Jun-2015

1.120 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Uma introdução ao AWS Auto Scaling

ESCALABILIDADE

@guilhermelias

github.com/gelias

guilherme.elias@gmail.com

http://guilhermelias.wordpress.com

ESCALABILIDADEWikipedia:

Característica desejável em todo o sistema, em uma rede ou em um processo, que indica sua habilidade de

manipular uma porção crescente de trabalho de forma uniforme, ou simplesmente

Estar preparado para crescer

http://pt.wikipedia.org/wiki/Escalabilidade

ESCALAR DE QUE FORMA?

• Vertical

• Horizontal

ESCALAR VERTICALMENTE

• Otimização/Distribuição de rotinas

• Paralelismo• Concorrência

ESCALAR VERTICALMENTE

• Processamento(CPU)

ESCALAR VERTICALMENTE

• Disco(IO/Espaço)

• Discos SSD ao invés de IDE/SATA

ESCALAR VERTICALMENTE

• Memória

ESCALAR HORIZONTALMENTE

• Adicionar/Multiplicar nós(VM, Roteador)• Abordagem Master x Slave - Ativo x Ativo• Filas

ESCALAR HORIZONTALMENTE

• Redundancia (Failover)• Alta disponibilidade• Eliminar pontos únicos de falha• Réplica de dados• Load Balancer• Monitoramento

AWS AUTO SCALING

• Escalabilidade HorizontalScale Up

ESTRATÉGIAS DE ESCALABILIDADE

Escalar de forma automática:• Através de monitoramento

• EC2• ELB

Escalar de forma programada:• Agendar horários

• Criar VMs em horário comercial• Remover VMs fora do horário comercial

ESTRATÉGIAS DE ESCALABILIDADE

Escalar de forma manual:

• Criar / Remover VMs sob demanda

ESTRATÉGIAS DE ESCALABILIDADE

AWS AUTO SCALING

Principais benefícios?

• Custo!!

•Experiência do usuário

AWS AUTO SCALING

Ferramentas?

• Command Line Interface (CLI)• Auto Scale Command Line Tools• SDK (Java, .Net, Ruby, PHP, Node.JS,

Android, iOS)

AUTO SCALE COMMAND LINE TOOLS

Pré-Requisitos

• Possuir uma AMI da VM a ser replicada

Ex.: ami-vmautoscale• Possuir ELB criado *

Ex.: elb-myapp

AUTO SCALE COMMAND LINE TOOLS

Passo#1• Criar “launch-config”

as-create-launch-config my_asconfig

--image-id ami-vmautoscale

--instance-type m1.micro

AUTO SCALE COMMAND LINE TOOLS

Passo#2• Criar “auto-scale-group” as-create-auto-scaling-group my_as_group

--launch-configuration my_asconfig

--availability-zones us-east-1a us-east-1b

--min-size 2 --max-size 20

--load-balancers MyLB

AUTO SCALE COMMAND LINE TOOLS

Passo#3• Criar “scaling-policy” para criar novas VMsas-put-scaling-policy scale_up

--auto-scaling-group my_as_group

--adjustment=1

--type ChangeInCapacity

--cooldown 300

AUTO SCALE COMMAND LINE TOOLS

Passo#4• Criar “scaling-policy” para remover VMsas-put-scaling-policy scale_down

--auto-scaling-group my_as_group

--adjustment=-1

--type ChangeInCapacity

--cooldown 300

AUTO SCALE COMMAND LINE TOOLS

Passo#5• Let’s Test :-)•Criar VMs Manualmente

as-execute-policy

--name scale_up

--auto-scaling-group my_as_group

AUTO SCALE COMMAND LINE TOOLS

Passo#6•Remover VMs Manualmente

as-execute-policy

--name scale_down

--auto-scaling-group my_as_group

Uma introdução ao AWS Auto Scaling

ESCALABILIDADE

@guilhermelias

github.com/gelias

guilherme.elias@gmail.com

http://guilhermelias.wordpress.com

BÔNUS

AUTO SCALE COMMAND LINE TOOLS

Bônus:•Criando VMs usando Cloud Watchmon-put-metric-alarm MyHighCPUAlarm --comparison-operator GreaterThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace "AWS/EC2" --period 600 --statistic Average --threshold 80 --alarm-actions <ARN_policy_scale_up> --dimensions "AutoScalingGroupName=my_as_group "

AUTO SCALE COMMAND LINE TOOLS

Bônus:•Criando VMs usando Cloud Watchmon-put-metric-alarm MyHighCPUAlarm --comparison-operator LessThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace "AWS/EC2" --period 600 --statistic Average --threshold 20 --alarm-actions <ARN_policy_scale_down> --dimensions "AutoScalingGroupName=my_as_group "

LINKSEscalabilidade: http://pt.wikipedia.org/wiki/EscalabilidadeAmazon Web Services: http://aws.amazon.com/pt Amazon Auto Scaling: http://aws.amazon.com/autoscaling Amazon EC2: http://aws.amazon.com/ec2 Auto Scaling Quick Reference Card: http://awsdocs.s3.amazonaws.com/AutoScaling/latest/as-qrc.pdf s.com/Developer Guide: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/

astools.html Elastic Load Balancer: http://aws.amazon.com/elasticloadbalancing Command Line Tools: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/UsingTheCommandLineTools.html

Amazon Machine Images: https://aws.amazon.com/amis

top related