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

1,037 views

Published on

Apresentação realizada no Delphi Users Group da SUCESU-RS, 14/4/2012

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

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

No notes for slide
  • 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
  • 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
  • Épossívelcriar as própriasimagens (porexemploumaimagem Windows com todososserviçosconfiguradospararodaraplicações Delphi)Bitnamioferece open source stacks paraofertarápida de aplicações web
  • -Route53 – Controle da resolução do nome. Pesificação das respostas- CloudFrontsuporta streaming de vídeos flash
  • 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
  • - Outraspráticasúteis:agendamento setup e tear down do ambiente, setup e tear down através de intranet
  • 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
  • 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.
  • 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
  • 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
  • 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
  • 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
  • Acelerando a entrega de aplicações web com amazon aws

    1. 1. Acelerando a entrega deaplicações web comAmazon AWS Alejandro Olchik | Abril, 2012
    2. 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. 3. Amazon FPS / DevPayAmazon SimpleDB / Amazon DynamoDB Amazon SQS Amazon Elastic MapReduce Amazon RDS Amazon SNS Cloud Watch Visão geral Amazon AWS Auto ScalingAmazon VPC Amazon EC2 EBS ELB Volumes Amazon Cloud Front Amazon S3Snapshots
    4. 4. Teste suas ideias
    5. 5. S3: Site estático
    6. 6. Imagens prontas EC2
    7. 7. Outros serviços Cloud Front Route53 Elastic Beanstalk
    8. 8. Sincronize o time
    9. 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
    10. 10. Controle os defeitos
    11. 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
    12. 12. Evite subotimizações
    13. 13. Escale sem dor
    14. 14. Exemplo de arquitetura Jinesh Varia
    15. 15. Trate a infraestrutura como aplicação
    16. 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. 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": { } }
    18. 18. Entregue em pequenos lotes
    19. 19. Continuous delivery
    20. 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

    ×