SlideShare una empresa de Scribd logo
1 de 20
Acelerando a entrega de
aplicações web com
Amazon AWS


      Alejandro Olchik | Abril, 2012
Alejandro Olchik
  twitter: @aolchik


     Graduado em Ciência da Computação pela UFRGS, MBA
     pela ESPM.
     Lídera iniciativas de adoção de métodos ágeis desde 2002.
     Atuação em diversas empresas como Grupo Godigital /
     Axciom Brasil, GlobalNova, TeleHUMANA, TeleNova
     (investimento Cisco, Intel, Bank of America e outros) e
     Digitel.
     Sócio-diretor da ionatec.
     Colunista no Baguete.
     Desenvolve atividades relacionadas a Cloud Computing
     desde 2009.
Amazon FPS / DevPay

Amazon SimpleDB / Amazon DynamoDB

                        Amazon SQS

             Amazon Elastic MapReduce

                        Amazon RDS

                           Amazon SNS
                                          Cloud
                                          Watch
                                                                         Visão geral Amazon AWS


                                           Auto
                                          Scaling




Amazon VPC
                             Amazon EC2



                EBS
                                           ELB




              Volumes
                                                    Amazon Cloud Front




                   Amazon S3
Snapshots
Teste suas ideias
S3: Site estático
Imagens prontas EC2
Outros serviços


                        Cloud
                        Front




              Route53


                                 Elastic
                                Beanstalk
Sincronize o time
Ambiente de integração contínua

   Prática               Serviço
   Repositório de        EC2 + EBS + S3
   código fonte          para backup
   Servidor de           EC2 + EBS + S3
   integração contínua   para builds
                         completos
   Servidor de testes    EC2 + EBS + RDS
Controle os defeitos
Automação de testes
   Prática                     Serviço
   Controlar tempo de          Rápido redimensionamento
   execução da bateria de      das instâncias EC2
   testes automatizados
   Executar os testes em uma   Flexibilidade na replicação
   cópia do ambiente real      infraestrutura

                               Mecanismos para replicar
                               dados (import/export, RDS,
                               EBS snapshots)
   Paralelização dos testes    Facilidade de iniciar e
                               terminar múltiplas instâncas
Evite subotimizações
Escale sem dor
Exemplo de arquitetura




                         Jinesh Varia
Trate a infraestrutura como
          aplicação
Serviços disponíveis via APIs

 $ fog
   Welcome to fog interactive!
   :default provides AWS
 >> providers
 ["AWS", "Bluebox", "Brightbox", "DNSimple", "DNSMadeEasy",
 "Dynect", "Ecloud", "GoGrid", "Google", "Linode", "Local",
 "NewServers", "Ninefold", "Rackspace", "Slicehost",
 "StormOnDemand", "Vcloud", "VirtualBox", "Voxel", "Zerigo"]
Ferramentas automação infraestrutura
    {
        "name": "trainingserver",
        "default_attributes": {
        },
        "json_class": "Chef::Role",
        "env_run_lists": {
        },
        "run_list": [
          "recipe[getting-started]",
          "recipe[users::sysadmins]",
          "recipe[ruby]",
          "recipe[fog::sysadmins]",
          "recipe[files-training]"
        ],
        "description": "Server for AWS Training",
        "chef_type": "role",
        "override_attributes": {
        }
    }
Entregue em pequenos lotes
Continuous delivery
Sobre a ionatec

                                          • Cloud com AWS
                                          • Testes Ágeis
                                 Formação • Scrum
                                          • Negócios digitais




                       Apoio

         • Estágio1:
           Desenvolvimento
           produto mínimo                   Sócio
           viável
                                         tecnológico
                             • PortoAlegre.cc
                             • CorretorDireto




                                                www.ionatec.com.br

Más contenido relacionado

Destacado

Sw kaizen apresentacao agile day 2012 v0.1.pptx
Sw kaizen apresentacao agile day 2012 v0.1.pptxSw kaizen apresentacao agile day 2012 v0.1.pptx
Sw kaizen apresentacao agile day 2012 v0.1.pptxAlejandro Olchik
 
Management30 - Apresentação PMTech 2013-08-07
Management30 - Apresentação PMTech 2013-08-07Management30 - Apresentação PMTech 2013-08-07
Management30 - Apresentação PMTech 2013-08-07Alejandro Olchik
 
TDC 2013 - Os 7 Equívocos Gerenciais na Busca pela Agilidade
TDC 2013  - Os 7 Equívocos Gerenciais na Busca pela AgilidadeTDC 2013  - Os 7 Equívocos Gerenciais na Busca pela Agilidade
TDC 2013 - Os 7 Equívocos Gerenciais na Busca pela AgilidadeAlejandro Olchik
 
Agile Brazil 2013 - Por que motivar as pessoas é difícil e o que podemos faze...
Agile Brazil 2013 - Por que motivar as pessoas é difícil e o que podemos faze...Agile Brazil 2013 - Por que motivar as pessoas é difícil e o que podemos faze...
Agile Brazil 2013 - Por que motivar as pessoas é difícil e o que podemos faze...Alejandro Olchik
 
Por que engajar é difícil e o que podemos fazer a respeito?
Por que engajar é difícil e o que podemos fazer a respeito?Por que engajar é difícil e o que podemos fazer a respeito?
Por que engajar é difícil e o que podemos fazer a respeito?Alejandro Olchik
 
Projetos de software - os 5 principais problemas de engajamento de pessoas e ...
Projetos de software - os 5 principais problemas de engajamento de pessoas e ...Projetos de software - os 5 principais problemas de engajamento de pessoas e ...
Projetos de software - os 5 principais problemas de engajamento de pessoas e ...Alejandro Olchik
 
Happy Melly Videos (General Instructions)
Happy Melly Videos (General Instructions)Happy Melly Videos (General Instructions)
Happy Melly Videos (General Instructions)Jurgen Appelo
 
Management 3.0 - Brochure
Management 3.0 - BrochureManagement 3.0 - Brochure
Management 3.0 - BrochureJurgen Appelo
 
SketchKeynote Example
SketchKeynote ExampleSketchKeynote Example
SketchKeynote ExampleJurgen Appelo
 
The Purpose of Leadership
The Purpose of LeadershipThe Purpose of Leadership
The Purpose of LeadershipJurgen Appelo
 
The Zen of Scrum - Russian
The Zen of Scrum - RussianThe Zen of Scrum - Russian
The Zen of Scrum - RussianJurgen Appelo
 
35 Best Quotes from Management for Happiness
35 Best Quotes from Management for Happiness35 Best Quotes from Management for Happiness
35 Best Quotes from Management for HappinessJurgen Appelo
 
Complexity versus Lean
Complexity versus LeanComplexity versus Lean
Complexity versus LeanJurgen Appelo
 
Management 3.0 - Empower Teams
Management 3.0 - Empower TeamsManagement 3.0 - Empower Teams
Management 3.0 - Empower TeamsJurgen Appelo
 
Blueprint for a Tribal Business
Blueprint for a Tribal BusinessBlueprint for a Tribal Business
Blueprint for a Tribal BusinessJurgen Appelo
 

Destacado (19)

Sw kaizen apresentacao agile day 2012 v0.1.pptx
Sw kaizen apresentacao agile day 2012 v0.1.pptxSw kaizen apresentacao agile day 2012 v0.1.pptx
Sw kaizen apresentacao agile day 2012 v0.1.pptx
 
Management30 - Apresentação PMTech 2013-08-07
Management30 - Apresentação PMTech 2013-08-07Management30 - Apresentação PMTech 2013-08-07
Management30 - Apresentação PMTech 2013-08-07
 
TDC 2013 - Os 7 Equívocos Gerenciais na Busca pela Agilidade
TDC 2013  - Os 7 Equívocos Gerenciais na Busca pela AgilidadeTDC 2013  - Os 7 Equívocos Gerenciais na Busca pela Agilidade
TDC 2013 - Os 7 Equívocos Gerenciais na Busca pela Agilidade
 
Agile Brazil 2013 - Por que motivar as pessoas é difícil e o que podemos faze...
Agile Brazil 2013 - Por que motivar as pessoas é difícil e o que podemos faze...Agile Brazil 2013 - Por que motivar as pessoas é difícil e o que podemos faze...
Agile Brazil 2013 - Por que motivar as pessoas é difícil e o que podemos faze...
 
Por que engajar é difícil e o que podemos fazer a respeito?
Por que engajar é difícil e o que podemos fazer a respeito?Por que engajar é difícil e o que podemos fazer a respeito?
Por que engajar é difícil e o que podemos fazer a respeito?
 
Projetos de software - os 5 principais problemas de engajamento de pessoas e ...
Projetos de software - os 5 principais problemas de engajamento de pessoas e ...Projetos de software - os 5 principais problemas de engajamento de pessoas e ...
Projetos de software - os 5 principais problemas de engajamento de pessoas e ...
 
Linchpin
LinchpinLinchpin
Linchpin
 
Happy Melly Videos (General Instructions)
Happy Melly Videos (General Instructions)Happy Melly Videos (General Instructions)
Happy Melly Videos (General Instructions)
 
Stoos Gathering
Stoos GatheringStoos Gathering
Stoos Gathering
 
Management 3.0 - Brochure
Management 3.0 - BrochureManagement 3.0 - Brochure
Management 3.0 - Brochure
 
SketchKeynote Example
SketchKeynote ExampleSketchKeynote Example
SketchKeynote Example
 
Let’s Help Melly
Let’s Help MellyLet’s Help Melly
Let’s Help Melly
 
The Purpose of Leadership
The Purpose of LeadershipThe Purpose of Leadership
The Purpose of Leadership
 
The Zen of Scrum - Russian
The Zen of Scrum - RussianThe Zen of Scrum - Russian
The Zen of Scrum - Russian
 
35 Best Quotes from Management for Happiness
35 Best Quotes from Management for Happiness35 Best Quotes from Management for Happiness
35 Best Quotes from Management for Happiness
 
Complexity versus Lean
Complexity versus LeanComplexity versus Lean
Complexity versus Lean
 
Champfrogs
ChampfrogsChampfrogs
Champfrogs
 
Management 3.0 - Empower Teams
Management 3.0 - Empower TeamsManagement 3.0 - Empower Teams
Management 3.0 - Empower Teams
 
Blueprint for a Tribal Business
Blueprint for a Tribal BusinessBlueprint for a Tribal Business
Blueprint for a Tribal Business
 

Más de Alejandro Olchik

A Órulo e os desafios de conectar o mercado imobiliário
A Órulo e os desafios de conectar o mercado imobiliárioA Órulo e os desafios de conectar o mercado imobiliário
A Órulo e os desafios de conectar o mercado imobiliárioAlejandro Olchik
 
The Inclusive Agile Accelerator: How to Improve Learning and Inclusion in the...
The Inclusive Agile Accelerator: How to Improve Learning and Inclusion in the...The Inclusive Agile Accelerator: How to Improve Learning and Inclusion in the...
The Inclusive Agile Accelerator: How to Improve Learning and Inclusion in the...Alejandro Olchik
 
O futuro do trabalho - formando jovens protagonistas para a inovação
O futuro do trabalho - formando jovens protagonistas para a inovaçãoO futuro do trabalho - formando jovens protagonistas para a inovação
O futuro do trabalho - formando jovens protagonistas para a inovaçãoAlejandro Olchik
 
Um time, múltiplos projetos: soluções ágeis para o nosso dia a dia
Um time, múltiplos projetos: soluções ágeis para o nosso dia a diaUm time, múltiplos projetos: soluções ágeis para o nosso dia a dia
Um time, múltiplos projetos: soluções ágeis para o nosso dia a diaAlejandro Olchik
 
Aceleradora ágil: o que as empresas poderiam aprender deste programa com mai...
Aceleradora ágil: o que as empresas poderiam aprender deste programa com mai...Aceleradora ágil: o que as empresas poderiam aprender deste programa com mai...
Aceleradora ágil: o que as empresas poderiam aprender deste programa com mai...Alejandro Olchik
 
Management 3.0 práticas de gestão para empresas do século xxi
Management 3.0   práticas de gestão para empresas do século xxiManagement 3.0   práticas de gestão para empresas do século xxi
Management 3.0 práticas de gestão para empresas do século xxiAlejandro Olchik
 
Jenga Play: Um jogo divertido para aprender sobre agilidade
Jenga Play: Um jogo divertido para aprender sobre agilidadeJenga Play: Um jogo divertido para aprender sobre agilidade
Jenga Play: Um jogo divertido para aprender sobre agilidadeAlejandro Olchik
 
Agile brazil 2014 aceleradora ágil - o segredo do sucesso depois de 4 anos...
Agile brazil 2014   aceleradora ágil - o segredo do sucesso depois de 4 anos...Agile brazil 2014   aceleradora ágil - o segredo do sucesso depois de 4 anos...
Agile brazil 2014 aceleradora ágil - o segredo do sucesso depois de 4 anos...Alejandro Olchik
 
Formação de Equipes de Alto Desempenho para Desenvolvimento de Software: O Pa...
Formação de Equipes de Alto Desempenho para Desenvolvimento de Software: O Pa...Formação de Equipes de Alto Desempenho para Desenvolvimento de Software: O Pa...
Formação de Equipes de Alto Desempenho para Desenvolvimento de Software: O Pa...Alejandro Olchik
 
Agile brazil 2013 - impact mapping uma abordagem lean para alcançar os seu...
Agile brazil 2013  -  impact mapping uma abordagem lean para alcançar os seu...Agile brazil 2013  -  impact mapping uma abordagem lean para alcançar os seu...
Agile brazil 2013 - impact mapping uma abordagem lean para alcançar os seu...Alejandro Olchik
 

Más de Alejandro Olchik (10)

A Órulo e os desafios de conectar o mercado imobiliário
A Órulo e os desafios de conectar o mercado imobiliárioA Órulo e os desafios de conectar o mercado imobiliário
A Órulo e os desafios de conectar o mercado imobiliário
 
The Inclusive Agile Accelerator: How to Improve Learning and Inclusion in the...
The Inclusive Agile Accelerator: How to Improve Learning and Inclusion in the...The Inclusive Agile Accelerator: How to Improve Learning and Inclusion in the...
The Inclusive Agile Accelerator: How to Improve Learning and Inclusion in the...
 
O futuro do trabalho - formando jovens protagonistas para a inovação
O futuro do trabalho - formando jovens protagonistas para a inovaçãoO futuro do trabalho - formando jovens protagonistas para a inovação
O futuro do trabalho - formando jovens protagonistas para a inovação
 
Um time, múltiplos projetos: soluções ágeis para o nosso dia a dia
Um time, múltiplos projetos: soluções ágeis para o nosso dia a diaUm time, múltiplos projetos: soluções ágeis para o nosso dia a dia
Um time, múltiplos projetos: soluções ágeis para o nosso dia a dia
 
Aceleradora ágil: o que as empresas poderiam aprender deste programa com mai...
Aceleradora ágil: o que as empresas poderiam aprender deste programa com mai...Aceleradora ágil: o que as empresas poderiam aprender deste programa com mai...
Aceleradora ágil: o que as empresas poderiam aprender deste programa com mai...
 
Management 3.0 práticas de gestão para empresas do século xxi
Management 3.0   práticas de gestão para empresas do século xxiManagement 3.0   práticas de gestão para empresas do século xxi
Management 3.0 práticas de gestão para empresas do século xxi
 
Jenga Play: Um jogo divertido para aprender sobre agilidade
Jenga Play: Um jogo divertido para aprender sobre agilidadeJenga Play: Um jogo divertido para aprender sobre agilidade
Jenga Play: Um jogo divertido para aprender sobre agilidade
 
Agile brazil 2014 aceleradora ágil - o segredo do sucesso depois de 4 anos...
Agile brazil 2014   aceleradora ágil - o segredo do sucesso depois de 4 anos...Agile brazil 2014   aceleradora ágil - o segredo do sucesso depois de 4 anos...
Agile brazil 2014 aceleradora ágil - o segredo do sucesso depois de 4 anos...
 
Formação de Equipes de Alto Desempenho para Desenvolvimento de Software: O Pa...
Formação de Equipes de Alto Desempenho para Desenvolvimento de Software: O Pa...Formação de Equipes de Alto Desempenho para Desenvolvimento de Software: O Pa...
Formação de Equipes de Alto Desempenho para Desenvolvimento de Software: O Pa...
 
Agile brazil 2013 - impact mapping uma abordagem lean para alcançar os seu...
Agile brazil 2013  -  impact mapping uma abordagem lean para alcançar os seu...Agile brazil 2013  -  impact mapping uma abordagem lean para alcançar os seu...
Agile brazil 2013 - impact mapping uma abordagem lean para alcançar os seu...
 

Acelerando a entrega de aplicações web com amazon aws

  • 1. Acelerando a entrega de aplicações web com Amazon AWS Alejandro Olchik | Abril, 2012
  • 2. Alejandro Olchik twitter: @aolchik Graduado em Ciência da Computação pela UFRGS, MBA pela ESPM. Lídera iniciativas de adoção de métodos ágeis desde 2002. Atuação em diversas empresas como Grupo Godigital / Axciom Brasil, GlobalNova, TeleHUMANA, TeleNova (investimento Cisco, Intel, Bank of America e outros) e Digitel. Sócio-diretor da ionatec. Colunista no Baguete. Desenvolve atividades relacionadas a Cloud Computing desde 2009.
  • 3. Amazon FPS / DevPay Amazon SimpleDB / Amazon DynamoDB Amazon SQS Amazon Elastic MapReduce Amazon RDS Amazon SNS Cloud Watch Visão geral Amazon AWS Auto Scaling Amazon VPC Amazon EC2 EBS ELB Volumes Amazon Cloud Front Amazon S3 Snapshots
  • 7. Outros serviços Cloud Front Route53 Elastic Beanstalk
  • 9. Ambiente de integração contínua Prática Serviço Repositório de EC2 + EBS + S3 código fonte para backup Servidor de EC2 + EBS + S3 integração contínua para builds completos Servidor de testes EC2 + EBS + RDS
  • 11. Automação de testes Prática Serviço Controlar tempo de Rápido redimensionamento execução da bateria de das instâncias EC2 testes automatizados Executar os testes em uma Flexibilidade na replicação cópia do ambiente real infraestrutura Mecanismos para replicar dados (import/export, RDS, EBS snapshots) Paralelização dos testes Facilidade de iniciar e terminar múltiplas instâncas
  • 14. Exemplo de arquitetura Jinesh Varia
  • 15. Trate a infraestrutura como aplicação
  • 16. Serviços disponíveis via APIs $ fog Welcome to fog interactive! :default provides AWS >> providers ["AWS", "Bluebox", "Brightbox", "DNSimple", "DNSMadeEasy", "Dynect", "Ecloud", "GoGrid", "Google", "Linode", "Local", "NewServers", "Ninefold", "Rackspace", "Slicehost", "StormOnDemand", "Vcloud", "VirtualBox", "Voxel", "Zerigo"]
  • 17. Ferramentas automação infraestrutura { "name": "trainingserver", "default_attributes": { }, "json_class": "Chef::Role", "env_run_lists": { }, "run_list": [ "recipe[getting-started]", "recipe[users::sysadmins]", "recipe[ruby]", "recipe[fog::sysadmins]", "recipe[files-training]" ], "description": "Server for AWS Training", "chef_type": "role", "override_attributes": { } }
  • 20. Sobre a ionatec • Cloud com AWS • Testes Ágeis Formação • Scrum • Negócios digitais Apoio • Estágio1: Desenvolvimento produto mínimo Sócio viável tecnológico • PortoAlegre.cc • CorretorDireto www.ionatec.com.br

Notas del editor

  1. AlgunsserviçosObjetivonãoéexplicartodos, mas comopodemostirarproveito de alguns deles paraacelerar a entrega de nossasaplicaçõesSNS – Simple Notification Service – enviarnotificações da Nuvem (tópicos, subscrição, HTTP, email, SMS e SQS)SQS – Simple Queue Service – filahospedadaSimpleDB – non-relational data-store (10GB per domain)DynamoDB – fully managed NoSQL DatabaseRDS – MySQL ou Oracle
  2. Mitigar o risco de estarequivocadoemrelaçãoaoproblema-cliente-soluçãoNãohá nada quenosatrasemaisquededicarnosso tempo aentregar um software bemimplementadoqueninguémquerBuscar a forma maisbarata de validarnossashipótesesCases Dropbox, Google WaveJápensaramemconversar com o cliente?Abordagens: Mockups, Landing pages, vídeos
  3. Épossívelcriar as própriasimagens (porexemploumaimagem Windows com todososserviçosconfiguradospararodaraplicações Delphi)Bitnamioferece open source stacks paraofertarápida de aplicações web
  4. -Route53 – Controle da resolução do nome. Pesificação das respostas- CloudFrontsuporta streaming de vídeos flash
  5. NinguémdesenvolvesozinhoIntegraçãocontínua, repositório de códigofonte e servidor de homologaçãosãopráticascadavezmaisusadasPontosmaisimportantesIntegrar o trabalhofrequentementeManter um únicorepositório de códigofonteAutomatizar o buildBuild auto-testávelCommits no branch principalCommit dispara o buildBuild rodarápidoTestes emréplica do ambiente de produçãoFacilitarobtenção de builds passadosTodosdevempoderver o queestáacontecendoAutomatizar o deploy
  6. - Outraspráticasúteis:agendamento setup e tear down do ambiente, setup e tear down através de intranet
  7. DefeitosreduzemprodutividadeTiram o foco do negócio e o direcionamparaproblemastécnicosTestes manuaisrepetitivosincrementam o tempo paraliberarversõesRespostageralmenteenvolve testes automatizadosTimes trabalham com TDD, BDD, testes automatizadoscompondobaterias de testes periodicamenteexecutadas
  8. Redimensionamento:para e muda o tipoPodesreplicar a infraestruturaapenaspelo tempo necessárioRDS: recriarinstância a partir do último backupCadavezémaisfácilparalelizaros testesSelenium Grid suportaparalelização de testes com Selenium usando EC2Bamboo suportaalocarbuild+testesparaagentesinstanciados no EC2-Serviçoscomerciaisdedicadosparaisso: SOASTA, SauceLabs, etc.
  9. Arquiteturacorretaéimportante (conte com um framework quesuporte a escala mas inicie com um projeto simples)Tenha um baseline de desempenhodesde o inícioUtiize as diversaspossibilidades dos serviçosemnuvemparaescalarsemdorsemsubotimizarprematuramente(esforçoantecipadoemotimizações de banco, arquiteturas com focoemmelhordesempenho, ondeestará o gargalo?)Este pontotalvezseja o que a Amazon émais forte
  10. Meça o desempenhodesde o início (baseline de performance)Execute testes funcionais de localidadesremotas (paraavaliar o impacto da latência)CloudWatch com alarme e possívelaçãopara threshold de desempenhoElastiCache – Implementação de memcacheparaacelerar o acessoaobanco
  11. Problemaspordiferença de configuraçãosãofrequentesConfiguraçãodeveserreplicávelVersionamento da configuração do ambienteemconjunto com o códigofonte da aplicaçãoCriação do ambiente a partir de códigofonteUsoferramentasautomação de infraestruturaUso de APIs paraconfiguração dos serviços
  12. Reduzirciclo de feedbackIncrementaraprendizadoReduzirdesperdícioAvançaremrelação a continuous deliveryNecessidade de um deployment pipelineTratarinfraestruturacomoaplicação, integraçãocontínua e automação de testes sãorequisitosMonitorar as aplicaçõesRollback robusto