AWS Auto Scaling #Parte1

1,389 views
1,358 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,389
On SlideShare
0
From Embeds
0
Number of Embeds
842
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

AWS Auto Scaling #Parte1

  1. 1. ESCALABILIDADEUma introdução ao AWS Auto Scaling @guilhermelias github.com/gelias guilherme.elias@gmail.com http://guilhermelias.wordpress.com
  2. 2. 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
  3. 3. ESCALAR DE QUE FORMA?• Vertical• Horizontal
  4. 4. ESCALAR VERTICALMENTE• Otimização/Distribuição de rotinas • Paralelismo • Concorrência
  5. 5. ESCALAR VERTICALMENTE• Processamento(CPU)
  6. 6. ESCALAR VERTICALMENTE• Disco(IO/Espaço) • Discos SSD ao invés de IDE/SATA
  7. 7. ESCALAR VERTICALMENTE• Memória
  8. 8. ESCALAR HORIZONTALMENTE• Adicionar/Multiplicar nós(VM, Roteador)• Abordagem Master x Slave - Ativo x Ativo• Filas
  9. 9. ESCALAR HORIZONTALMENTE• Redundancia (Failover)• Alta disponibilidade• Eliminar pontos únicos de falha• Réplica de dados• Load Balancer• Monitoramento
  10. 10. AWS AUTO SCALING• Escalabilidade Horizontal Scale Up
  11. 11. ESTRATÉGIAS DE ESCALABILIDADEEscalar de forma automática: • Através de monitoramento • EC2 • ELB
  12. 12. ESTRATÉGIAS DE ESCALABILIDADEEscalar de forma programada: • Agendar horários • Criar VMs em horário comercial • Remover VMs fora do horário comercial
  13. 13. ESTRATÉGIAS DE ESCALABILIDADEEscalar de forma manual: • Criar / Remover VMs sob demanda
  14. 14. AWS AUTO SCALINGPrincipais benefícios? • Custo!! • Experiência do usuário
  15. 15. AWS AUTO SCALINGFerramentas? • Command Line Interface (CLI) • Auto Scale Command Line Tools • SDK (Java, .Net, Ruby, PHP, Node.JS, Android, iOS)
  16. 16. AUTO SCALE COMMAND LINE TOOLSDocumentação • QRC – Quick Reference Card • Developer Guide • Instalação Command Line Tools
  17. 17. AUTO SCALE COMMAND LINE TOOLSPré-Requisitos • Possuir uma AMI da VM a ser replicada Ex.: ami-vmautoscale • Possuir ELB criado * Ex.: elb-myapp
  18. 18. AUTO SCALE COMMAND LINE TOOLSPasso#1 • Criar “launch-config” as-create-launch-config my_asconfig --image-id ami-vmautoscale --instance-type m1.micro
  19. 19. AUTO SCALE COMMAND LINE TOOLSPasso#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
  20. 20. AUTO SCALE COMMAND LINE TOOLSPasso#3 • Criar “scaling-policy” para criar novas VMs as-put-scaling-policy scale_up --auto-scaling-group my_as_group --adjustment=1 --type ChangeInCapacity --cooldown 300
  21. 21. AUTO SCALE COMMAND LINE TOOLSPasso#4 • Criar “scaling-policy” para remover VMs as-put-scaling-policy scale_down --auto-scaling-group my_as_group --adjustment=-1 --type ChangeInCapacity --cooldown 300
  22. 22. AUTO SCALE COMMAND LINE TOOLSPasso#5 • Let’s Test :-) • Criar VMs Manualmente as-execute-policy --name scale_up --auto-scaling-group my_as_group
  23. 23. AUTO SCALE COMMAND LINE TOOLSPasso#6 • Remover VMs Manualmente as-execute-policy --name scale_down --auto-scaling-group my_as_group
  24. 24. ESCALABILIDADEUma introdução ao AWS Auto Scaling @guilhermelias github.com/gelias guilherme.elias@gmail.com http://guilhermelias.wordpress.com
  25. 25. BÔNUS
  26. 26. AUTO SCALE COMMAND LINE TOOLSBônus: • Criando VMs usando Cloud Watch mon-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 "
  27. 27. AUTO SCALE COMMAND LINE TOOLSBônus: • Criando VMs usando Cloud Watch mon-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 "
  28. 28. LINKSEscalabilidade: http://pt.wikipedia.org/wiki/EscalabilidadeAmazon Web Services: http://aws.amazon.com/ptAmazon Auto Scaling: http://aws.amazon.com/autoscalingAmazon EC2: http://aws.amazon.com/ec2Auto 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.htmlElastic Load Balancer: http://aws.amazon.com/elasticloadbalancingCommand Line Tools:http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/UsingTheCommandLineTools.htmlAmazon Machine Images: https://aws.amazon.com/amis

×