AWS Auto Scaling #Parte1

  • 997 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
997
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
7
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ESCALABILIDADEUma introdução ao AWS Auto Scaling @guilhermelias github.com/gelias guilherme.elias@gmail.com http://guilhermelias.wordpress.com
  • 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. ESCALAR DE QUE FORMA?• Vertical• Horizontal
  • 4. ESCALAR VERTICALMENTE• Otimização/Distribuição de rotinas • Paralelismo • Concorrência
  • 5. ESCALAR VERTICALMENTE• Processamento(CPU)
  • 6. ESCALAR VERTICALMENTE• Disco(IO/Espaço) • Discos SSD ao invés de IDE/SATA
  • 7. ESCALAR VERTICALMENTE• Memória
  • 8. ESCALAR HORIZONTALMENTE• Adicionar/Multiplicar nós(VM, Roteador)• Abordagem Master x Slave - Ativo x Ativo• Filas
  • 9. ESCALAR HORIZONTALMENTE• Redundancia (Failover)• Alta disponibilidade• Eliminar pontos únicos de falha• Réplica de dados• Load Balancer• Monitoramento
  • 10. AWS AUTO SCALING• Escalabilidade Horizontal Scale Up
  • 11. ESTRATÉGIAS DE ESCALABILIDADEEscalar de forma automática: • Através de monitoramento • EC2 • ELB
  • 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. ESTRATÉGIAS DE ESCALABILIDADEEscalar de forma manual: • Criar / Remover VMs sob demanda
  • 14. AWS AUTO SCALINGPrincipais benefícios? • Custo!! • Experiência do usuário
  • 15. AWS AUTO SCALINGFerramentas? • Command Line Interface (CLI) • Auto Scale Command Line Tools • SDK (Java, .Net, Ruby, PHP, Node.JS, Android, iOS)
  • 16. AUTO SCALE COMMAND LINE TOOLSDocumentação • QRC – Quick Reference Card • Developer Guide • Instalação Command Line Tools
  • 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. AUTO SCALE COMMAND LINE TOOLSPasso#1 • Criar “launch-config” as-create-launch-config my_asconfig --image-id ami-vmautoscale --instance-type m1.micro
  • 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. 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. 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. 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. AUTO SCALE COMMAND LINE TOOLSPasso#6 • Remover VMs Manualmente as-execute-policy --name scale_down --auto-scaling-group my_as_group
  • 24. ESCALABILIDADEUma introdução ao AWS Auto Scaling @guilhermelias github.com/gelias guilherme.elias@gmail.com http://guilhermelias.wordpress.com
  • 25. BÔNUS
  • 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. 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. 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