View
1.304
Download
0
Embed Size (px)
DESCRIPTION
Deck de slides do webinar mão na massa sobre a funcionalidade de Auto-Scaling da Nuvem da AWS. Vídeo do webinar disponível em http://vimeo.com/55379828
Citation preview
Introdução ao Auto-Scaling Hands-on:
“Como utilizar o auto-scaling passo-a-passo”
Eduardo Horai AWS Solutions Architect [email protected]
Amazon Cloud Sessions -‐ Dezembro
07/12 @ 2PMVisão Geral dos serviços da Nuvem da AWS e como es6mar sua conta | Parte 1 18/12 @ 3PM Visão Geral dos serviços da Nuvem da AWS e como es6mar sua conta | Parte 2
11/12 @ 2PM Introdução ao Auto-‐Scaling | Hands-‐on: “Como u6lizar o auto-‐scaling passo-‐a-‐passo” 20/12 @ 2PM – Introdução AWS Elas6c Beanstalk | Hands-‐on: “Implantação fácil e rápida da sua aplicação web”
Agenda Auto-‐Scaling
Regiões e Zonas de disponibilidade Auto-‐Scaling Serviços relacionados Instalando e uIlizando as linhas de comando GaranIndo disponibilidade com Auto-‐Scaling Escalando automaIcamente com Auto-‐Scaling Perguntas e respostas
Regiões
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & AdministraIon
Networking
Infraestrutura Global
Regiões Um conjunto isolado de data centers em uma determinada geografia
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & AdministraIon
Networking
Infraestrutura Global
Zonas de Disponibilidade Projetadas para serem independentes. Separadas fisicamente, porém com conectividade rápida dentro da mesma região
Auto-Scaling
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & AdministraIon
Networking
Compute
Recurso Detalhes
Controle Define tamanhos máximo e mínimo e parâmetros para aumento e diminuição
Integrado ao CloudWatch
Usa métricas do CloudWatch para gerenciar a escalabilidade
Integrado ao ELB
Permite distribuir carga automaIcamente
Disponível Instâncias em múlIplas zonas de disponibilidade
as-create-auto-scaling-group MyGroup --launch-configuration MyConfig --availability-zones sa-east-1a,sa-east-1b --min-size 4 --max-size 200
Auto-scaling Escala automaticamente as instâncias de acordo com métricas configuráveis
Alarme
Capacidade Tradicional
Capacidade ElásIca
Capacidade
Tempo Suas necessidades de TI
Capacidade ElásIca
Liga e Desliga Crescimento Rápido
Picos Previsíveis Picos Variáveis
Desperdício
Cliente Insatisfeito
Capacidade ElásIca
Crescimento Rápido Liga e Desliga
Picos Previsíveis Picos Variáveis
Serviços relacionados
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & AdministraIon
Networking
Compute
Várias Opções A partir de $0,02/hora
Elastic Compute Cloud (EC2) Servidores com recursos computacionais 15 tipos de instâncias(servidores) disponíveis, de micro a cluster compute Configurações de CPU, memória disco local
Recurso Detalhes
Flexível Linux e Windows
Escalável Várias configurações de servidor
Imagens Modificações podem ser salvas como imagens (AMIs) e novas instancias criadas a parIr destas
Controle total Controle de root e administrador
Segura Controle total do Firewall via Security Groups
Barata On-‐demand, Reservada e Spot
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & AdministraIon
Networking
Compute
Elastic Load Balancing Permite criar aplicações escaláveis Distribui carga entre instancias EC2 em múltiplas zonas de disponibilidade
Recurso Detalhes
Auto-‐scaling Escalabilidade automáIca pode ser configurada
Disponível Balanceamento de carga em múlIplas zonas de disp.
Verificações de Saúde
Verifica automaIcamente saúde das instancias e Ira as inoperantes do serviço
Controle de Sessão
Uso de sIcky sessions é configurável
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & AdministraIon
Networking
Monitoring
CloudWatch Ferramenta de monitoramento de recursos AWS como EC2, RDS e outros serviços. Possui métricas padrões e permite métricas customizadas.
Recurso Detalhes
Integrado Funciona com diversos serviços AWS como EC2, RDS, Auto-‐Scaling, DynamoDB, etc
Customizável Permite criação de métricas próprias
Alerta Permite configuração de alarmes
Acesso fácil Via console com gráficos ou API
Ferramentas
SDKs do Auto-‐Scaling para as principais linguagens Linguagens e Bibliotecas
REST SOAP
Linha de comando (CLI)
ElasIc Wolf hhp://www.elasIcwolf.com/
Nejlix Asgard hhps://github.com/Nejlix/asgard
Instalando linhas de comando
Links para instalação
[1] Ferramentas de desenvolvimento: hhp://aws.amazon.com/developertools [2] Auto Scaling Command Line Tool [3] Amazon CloudWatch Command Line Tool [4] Guia de instalação: hhp://docs.amazonwebservices.com/AutoScaling/latest/DeveloperGuide/astools.html#UsingTheCommandLineTools
Instalação 1. Download das ferramentas 2. Configurar variáveis de ambientes
3. AuthenIcação
4. Testar
JAVA_HOME=/Library/Java/Home/ AWS_AUTO_SCALING_HOME=/tools/AutoScaling-1.0.61.2 PATH=$PATH:$AWS_AUTO_SCALING_HOME/bin AWS_AUTO_SCALING_URL=https://autoscaling.sa-east-1.amazonaws.com AWS_CLOUDWATCH_HOME=/tools/CloudWatch-1.0.13.4 PATH=$PATH:$AWS_CLOUDWATCH_HOME/bin AWS_CREDENTIAL_FILE=/keys/access_keys.cred
cat /keys/access_keys.cred AWSAccessKeyId=AAAAA64BBBBBCCCCDDD AWSSecretKey=XXXXXXXkkkkkkKkkkkkkKkkkkKKKkkkkKKkkkk
>> as-cmd >> mon-cmd
Utilizando linhas de comando
UIlizando
as-create-launch-config <lc-name> --image-id <imageid> --instance-type <instance-type>
as-create-auto-scaling-group <name> --availability-zones <zones,> --launch-configuration <lc-name> --max-size <max> --min-size <min> --desired-capacity <desired> --load-balancers <elb>
UIlizando
as-create-auto-scaling-group GroupWebinar --availability-zones sa-east-1a,sa-east-1b --launch-configuration LcWebinar --max-size 6 --min-size 1 --desired-capacity 1 --load-balancers ElbWebinar
as-describe-auto-scaling-groups --headers
as-create-launch-config LcWebinar --image-id ami-4ecf1753 --instance-type m1.small --key ehoraisp
as-describe-launch-configs --headers
Garantindo Disponibilidade
Disponibilidade
E se um servidor morrer....
as-create-auto-scaling-group GroupWebinar --availability-zones sa-east-1a,sa-east-1b --launch-configuration LcWebinar --max-size 6 --min-size 1 --desired-capacity 1 --load-balancers ElbWebinar
Escalando Automaticamente
Escalando
1. Eventos 2. Monitoramento (CloudWatch) 3. Triggers
a. Horário b. Manual c. Métricas
4. PolíIcas de escalonamento a. Adicionar/Remover capacidade b. Capacidade exata c. Percentual
Scaling UP
as-put-scaling-policy add-two-policy --type ChangeInCapacity --auto-scaling-group GroupWebinar --adjustment=2
mon-put-metric-alarm MyHighCPUAlarm --comparison-operator GreaterThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace "AWS/EC2" --period 120 --statistic Average --threshold 60 --alarm-actions policy-arn --dimensions "AutoScalingGroupName=GroupWebinar " --region sa-east-1
Polí6ca de adicionar dois servidores
Trigger: acima de 60% de CPU médio, executar polí6ca
Scaling DOWN
as-put-scaling-policy remove-one-policy --type ChangeInCapacity --auto-scaling-group GroupWebinar --adjustment=-1
mon-put-metric-alarm MyLowCPUAlarm --comparison-operator LessThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace "AWS/EC2" --period 60 --statistic Average --threshold 20 --alarm-actions policy-arn --dimensions "AutoScalingGroupName=GroupWebinar" --region sa-east-1
Polí6ca de remover um servidor
Trigger: abaixo de 20% de CPU médio, executar polí6ca
as-describe-policies --headers mon-describe-alarms --region sa-east-1
Simulando
Simulando
as-describe-scaling-activities --show-long
bc 2^12222222
Simulando u6lização de CPU
Simulando baixa de CPU
ps –ef | grep bc kill -9 <pid>
Documentação
Links
[1] Auto-‐Scaling -‐ Guia do desenvolvedor hhp://docs.amazonwebservices.com/AutoScaling/latest/DeveloperGuide/Welcome.html
[2] Auto-‐Scaling – Cartão de referência (API) hhp://awsdocs.s3.amazonaws.com/AutoScaling/latest/as-‐qrc.pdf
[3] Auto-‐Scaling – UIlizando (cenários) hhp://docs.amazonwebservices.com/AutoScaling/latest/DeveloperGuide/ProgrammingGuide.html
[4] CloudWatch – Guia do desenvolvedor hhp://docs.amazonwebservices.com/AmazonCloudWatch/latest/DeveloperGuide/Welcome.html
[5] CloudWatch – Cartão de referência (API) hhp://awsdocs.s3.amazonaws.com/AmazonCloudWatch/latest/acw-‐qrc.pdf
Perguntas e respostas
OFERTA GRATUITA!
aws.amazon.com/pt/free
Documentações em Português
E-book gratuito em português com passo a passo para criar e configurar um servidor na Amazon Guia de Conceitos básicos da oferta gratuita da AWS Guia de Conceitos básicos do EC2 Guia de Conceitos básicos do S3 Guia de Conceitos básicos do RDS Guia de Conceitos básicos do VPC
OBRIGADO! http://aws.typepad.com/brasil
http://slideshare.net/AmazonWebServicesLATAM
Eduardo Horai AWS Solutions Architect [email protected]