SlideShare uma empresa Scribd logo
1 de 28
ESCALABILIDADE


Uma introdução ao AWS Auto Scaling

                                          @guilhermelias
                                        github.com/gelias
                               guilherme.elias@gmail.com
                        http://guilhermelias.wordpress.com
ESCALABILIDADE
Wikipedia:
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 Horizontal
  Scale Up
ESTRATÉGIAS DE ESCALABILIDADE

Escalar de forma automática:
    • Através de monitoramento
         • EC2
         • ELB
ESTRATÉGIAS DE ESCALABILIDADE

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
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

Documentação

      • QRC – Quick Reference Card
      • Developer Guide
      • Instalação Command Line Tools
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 VMs
 as-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 VMs
 as-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
ESCALABILIDADE


Uma introdução ao AWS Auto Scaling

                                          @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 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 "
AUTO SCALE COMMAND LINE TOOLS

Bô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 "
LINKS
Escalabilidade: http://pt.wikipedia.org/wiki/Escalabilidade
Amazon 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

Mais conteúdo relacionado

Mais procurados

Palestra sobre Big Data - Aws Summit
Palestra sobre Big Data - Aws SummitPalestra sobre Big Data - Aws Summit
Palestra sobre Big Data - Aws SummitHekima
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemAmazon Web Services LATAM
 
Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015Wallison Marra
 
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftPath to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftAmazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Amazon Web Services LATAM
 
Path to the future #2 - Internet das coisas com AWS IoT
Path to the future #2 - Internet das coisas com AWS IoTPath to the future #2 - Internet das coisas com AWS IoT
Path to the future #2 - Internet das coisas com AWS IoTAmazon Web Services LATAM
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Eduardo de Lucena Falcão
 
Arquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionArquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionAmazon Web Services LATAM
 
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSBuilding blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSAmazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BH1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BHWallison Marra
 

Mais procurados (19)

Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Webinar: Introdução a Big data
Webinar: Introdução a Big dataWebinar: Introdução a Big data
Webinar: Introdução a Big data
 
Palestra sobre Big Data - Aws Summit
Palestra sobre Big Data - Aws SummitPalestra sobre Big Data - Aws Summit
Palestra sobre Big Data - Aws Summit
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvem
 
Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015
 
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftPath to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
 
Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
 
Path to the future #2 - Internet das coisas com AWS IoT
Path to the future #2 - Internet das coisas com AWS IoTPath to the future #2 - Internet das coisas com AWS IoT
Path to the future #2 - Internet das coisas com AWS IoT
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
 
Arquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionArquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo Session
 
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSBuilding blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BH1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BH
 
Auto scaling
Auto scalingAuto scaling
Auto scaling
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Conhecendo o AWS Elastic Beanstalk
Conhecendo o AWS Elastic BeanstalkConhecendo o AWS Elastic Beanstalk
Conhecendo o AWS Elastic Beanstalk
 

Semelhante a AWS Auto Scaling Intro

Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosAmazon Web Services LATAM
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancadoAmazon Web Services LATAM
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Amazon Web Services LATAM
 
Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWSMatheus Fidelis
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasAmazon Web Services LATAM
 
Windows Azure Pack - Visão Geral
Windows Azure Pack - Visão GeralWindows Azure Pack - Visão Geral
Windows Azure Pack - Visão GeralFabio Hara
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesAmazon Web Services LATAM
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Jonathan Baraldi
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasBruno Luiz Pereira da Silva
 
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - VitoriaAWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - VitoriaHeitor Vital
 
Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...Ricardo Ferreira Costa
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchEduardo de Lucena Falcão
 

Semelhante a AWS Auto Scaling Intro (20)

Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuários
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancado
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
 
Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWS
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
Conceitos de Nuvem
Conceitos de NuvemConceitos de Nuvem
Conceitos de Nuvem
 
Windows Azure Pack - Visão Geral
Windows Azure Pack - Visão GeralWindows Azure Pack - Visão Geral
Windows Azure Pack - Visão Geral
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web Services
 
Cloudformation
CloudformationCloudformation
Cloudformation
 
Otimizacao de custo summit 2015
Otimizacao de custo summit 2015Otimizacao de custo summit 2015
Otimizacao de custo summit 2015
 
Elastic load balancing melhores praticas
Elastic load balancing melhores praticasElastic load balancing melhores praticas
Elastic load balancing melhores praticas
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
Overview AWS - Bemobi
Overview AWS - BemobiOverview AWS - Bemobi
Overview AWS - Bemobi
 
Padrões de Arquitetura na Nuvem da AWS
Padrões de Arquitetura na Nuvem da AWSPadrões de Arquitetura na Nuvem da AWS
Padrões de Arquitetura na Nuvem da AWS
 
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - VitoriaAWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
 
Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...
 
Mobile Back end as a Service na AWS
Mobile Back end as a Service na AWSMobile Back end as a Service na AWS
Mobile Back end as a Service na AWS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
 

Mais de Guilherme Elias

GUDAY 2016 - Microserviços e o futuro
GUDAY 2016 - Microserviços e o futuroGUDAY 2016 - Microserviços e o futuro
GUDAY 2016 - Microserviços e o futuroGuilherme Elias
 
Como o PostgreSQL ajuda a uMov.me a crescer!!
Como o PostgreSQL ajuda a uMov.me a crescer!!Como o PostgreSQL ajuda a uMov.me a crescer!!
Como o PostgreSQL ajuda a uMov.me a crescer!!Guilherme Elias
 
Continuous Delivery. Em Busca da Entrega Perfeita!
Continuous Delivery. Em Busca da Entrega Perfeita!Continuous Delivery. Em Busca da Entrega Perfeita!
Continuous Delivery. Em Busca da Entrega Perfeita!Guilherme Elias
 
Continuous Delivery - Em Busca da Entrega Perfeita!
Continuous Delivery - Em Busca da Entrega Perfeita!Continuous Delivery - Em Busca da Entrega Perfeita!
Continuous Delivery - Em Busca da Entrega Perfeita!Guilherme Elias
 
FISL 14: Troca de figurinhas - Como criar um ambiente de aprendizagem em sua ...
FISL 14: Troca de figurinhas - Como criar um ambiente de aprendizagem em sua ...FISL 14: Troca de figurinhas - Como criar um ambiente de aprendizagem em sua ...
FISL 14: Troca de figurinhas - Como criar um ambiente de aprendizagem em sua ...Guilherme Elias
 
TDC 2013 Cultura Aprendizagem
TDC 2013 Cultura AprendizagemTDC 2013 Cultura Aprendizagem
TDC 2013 Cultura AprendizagemGuilherme Elias
 
APIs, Services, Cloud, Mobile
APIs, Services, Cloud, MobileAPIs, Services, Cloud, Mobile
APIs, Services, Cloud, MobileGuilherme Elias
 
Testes + Automacao + Atitude = Toolkit para a melhoria continua
Testes + Automacao + Atitude = Toolkit para a melhoria continuaTestes + Automacao + Atitude = Toolkit para a melhoria continua
Testes + Automacao + Atitude = Toolkit para a melhoria continuaGuilherme Elias
 
Mais Acão ... Menos "Falação" Resulta em ... Motivacao
Mais Acão ... Menos "Falação"  Resulta em ... MotivacaoMais Acão ... Menos "Falação"  Resulta em ... Motivacao
Mais Acão ... Menos "Falação" Resulta em ... MotivacaoGuilherme Elias
 
Continuous Delivery Trainning
Continuous Delivery TrainningContinuous Delivery Trainning
Continuous Delivery TrainningGuilherme Elias
 
TDD na Veia! Mas o Hello World continua sem cobertura
TDD na Veia! Mas o Hello World continua sem coberturaTDD na Veia! Mas o Hello World continua sem cobertura
TDD na Veia! Mas o Hello World continua sem coberturaGuilherme Elias
 
GUTSDay - TDD na veia! Mas o hello world continua sem cobertura :-(
GUTSDay - TDD na veia! Mas o hello world continua sem cobertura :-(GUTSDay - TDD na veia! Mas o hello world continua sem cobertura :-(
GUTSDay - TDD na veia! Mas o hello world continua sem cobertura :-(Guilherme Elias
 

Mais de Guilherme Elias (20)

GUDAY 2016 - Microserviços e o futuro
GUDAY 2016 - Microserviços e o futuroGUDAY 2016 - Microserviços e o futuro
GUDAY 2016 - Microserviços e o futuro
 
Como o PostgreSQL ajuda a uMov.me a crescer!!
Como o PostgreSQL ajuda a uMov.me a crescer!!Como o PostgreSQL ajuda a uMov.me a crescer!!
Como o PostgreSQL ajuda a uMov.me a crescer!!
 
XpConf
XpConfXpConf
XpConf
 
Continuous Delivery. Em Busca da Entrega Perfeita!
Continuous Delivery. Em Busca da Entrega Perfeita!Continuous Delivery. Em Busca da Entrega Perfeita!
Continuous Delivery. Em Busca da Entrega Perfeita!
 
Continuous Delivery - Em Busca da Entrega Perfeita!
Continuous Delivery - Em Busca da Entrega Perfeita!Continuous Delivery - Em Busca da Entrega Perfeita!
Continuous Delivery - Em Busca da Entrega Perfeita!
 
FISL 14: Troca de figurinhas - Como criar um ambiente de aprendizagem em sua ...
FISL 14: Troca de figurinhas - Como criar um ambiente de aprendizagem em sua ...FISL 14: Troca de figurinhas - Como criar um ambiente de aprendizagem em sua ...
FISL 14: Troca de figurinhas - Como criar um ambiente de aprendizagem em sua ...
 
TDC 2013 Cultura Aprendizagem
TDC 2013 Cultura AprendizagemTDC 2013 Cultura Aprendizagem
TDC 2013 Cultura Aprendizagem
 
Aws dev tools
Aws dev toolsAws dev tools
Aws dev tools
 
Torquebox
TorqueboxTorquebox
Torquebox
 
Agile official
Agile officialAgile official
Agile official
 
APIs, Services, Cloud, Mobile
APIs, Services, Cloud, MobileAPIs, Services, Cloud, Mobile
APIs, Services, Cloud, Mobile
 
Windows Phone
Windows Phone Windows Phone
Windows Phone
 
Iasapoa eca eda
Iasapoa eca edaIasapoa eca eda
Iasapoa eca eda
 
Iasapoa eca eda
Iasapoa eca edaIasapoa eca eda
Iasapoa eca eda
 
Testes + Automacao + Atitude = Toolkit para a melhoria continua
Testes + Automacao + Atitude = Toolkit para a melhoria continuaTestes + Automacao + Atitude = Toolkit para a melhoria continua
Testes + Automacao + Atitude = Toolkit para a melhoria continua
 
Mais Acão ... Menos "Falação" Resulta em ... Motivacao
Mais Acão ... Menos "Falação"  Resulta em ... MotivacaoMais Acão ... Menos "Falação"  Resulta em ... Motivacao
Mais Acão ... Menos "Falação" Resulta em ... Motivacao
 
Continuous Delivery Trainning
Continuous Delivery TrainningContinuous Delivery Trainning
Continuous Delivery Trainning
 
TDD na Veia! Mas o Hello World continua sem cobertura
TDD na Veia! Mas o Hello World continua sem coberturaTDD na Veia! Mas o Hello World continua sem cobertura
TDD na Veia! Mas o Hello World continua sem cobertura
 
GUTSDay - TDD na veia! Mas o hello world continua sem cobertura :-(
GUTSDay - TDD na veia! Mas o hello world continua sem cobertura :-(GUTSDay - TDD na veia! Mas o hello world continua sem cobertura :-(
GUTSDay - TDD na veia! Mas o hello world continua sem cobertura :-(
 
GettingThingsDone
GettingThingsDoneGettingThingsDone
GettingThingsDone
 

AWS Auto Scaling Intro

  • 1. ESCALABILIDADE Uma introdução ao AWS Auto Scaling @guilhermelias github.com/gelias guilherme.elias@gmail.com http://guilhermelias.wordpress.com
  • 2. ESCALABILIDADE Wikipedia: 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
  • 6. ESCALAR VERTICALMENTE • Disco(IO/Espaço) • Discos SSD ao invés de IDE/SATA
  • 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 ESCALABILIDADE Escalar de forma automática: • Através de monitoramento • EC2 • ELB
  • 12. ESTRATÉGIAS DE ESCALABILIDADE Escalar de forma programada: • Agendar horários • Criar VMs em horário comercial • Remover VMs fora do horário comercial
  • 13. ESTRATÉGIAS DE ESCALABILIDADE Escalar de forma manual: • Criar / Remover VMs sob demanda
  • 14. AWS AUTO SCALING Principais benefícios? • Custo!! • Experiência do usuário
  • 15. AWS AUTO SCALING Ferramentas? • Command Line Interface (CLI) • Auto Scale Command Line Tools • SDK (Java, .Net, Ruby, PHP, Node.JS, Android, iOS)
  • 16. AUTO SCALE COMMAND LINE TOOLS Documentação • QRC – Quick Reference Card • Developer Guide • Instalação Command Line Tools
  • 17. AUTO SCALE COMMAND LINE TOOLS Pré-Requisitos • Possuir uma AMI da VM a ser replicada Ex.: ami-vmautoscale • Possuir ELB criado * Ex.: elb-myapp
  • 18. AUTO SCALE COMMAND LINE TOOLS Passo#1 • Criar “launch-config” as-create-launch-config my_asconfig --image-id ami-vmautoscale --instance-type m1.micro
  • 19. 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
  • 20. AUTO SCALE COMMAND LINE TOOLS Passo#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 TOOLS Passo#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 TOOLS Passo#5 • Let’s Test :-) • Criar VMs Manualmente as-execute-policy --name scale_up --auto-scaling-group my_as_group
  • 23. AUTO SCALE COMMAND LINE TOOLS Passo#6 • Remover VMs Manualmente as-execute-policy --name scale_down --auto-scaling-group my_as_group
  • 24. ESCALABILIDADE Uma introdução ao AWS Auto Scaling @guilhermelias github.com/gelias guilherme.elias@gmail.com http://guilhermelias.wordpress.com
  • 26. AUTO SCALE COMMAND LINE TOOLS Bô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 TOOLS Bô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. LINKS Escalabilidade: http://pt.wikipedia.org/wiki/Escalabilidade Amazon 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