Arquiteturas de Software para o Século XXI

3,006 views
2,894 views

Published on

Deck de slides da palestra "Arquiteturas de Software para o Século XXI". Vídeo gravado do webinar disponível em https://vimeo.com/74964108

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total views
3,006
On SlideShare
0
From Embeds
0
Number of Embeds
348
Actions
Shares
0
Downloads
101
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

Arquiteturas de Software para o Século XXI

  1. 1. Arquiteturas de Software para o Século XXI José Papo Amazon Evangelist @josepapo
  2. 2. On demand Pague pelo uso Self Service Automatizado Utility computing
  3. 3. Utility computing
  4. 4. Android iOS Java nodeJS .NET PHP Python Ruby Rico conjunto de APIs e kits de dev para as principais linguagens e plataformas E ferramentas e plugins integrados ao seu ambiente de desenvolvimento Eclipse Visual Studio CLI Powershell Suporte a muitas linguagens e ferramentas
  5. 5. Infraestrutura Global US West (Northern California) US East (Northern Virginia) EU (Ireland) Asia Pacific (Singapore) Asia Pacific (Tokyo) Regiões AWS Pontos Edge AWS GovCloud (US ITAR Region) US West (Oregon) South America (Sao Paulo) Asia Pacific (Australia)
  6. 6. Arquiteturas de Alta Disponibilidade na Nuvem Cliente pode decidir onde suas aplicações e dados residem
  7. 7. Acelerando o boom das startups e novos devices
  8. 8. Otimizando as Grandes Corporações
  9. 9. Dezenas de Milhares de Clientes na América Latina
  10. 10. Com AWS, cresça de um servidor
  11. 11. …para milhares Totalmente automatizado!
  12. 12. Além de escalabilidade nos servidores você pode Adicionar bilhões de objetos com o Amazon S3 Selecionar a performance desejada nos bancos de dados Processar e analisar petabytes de dados facilmente Oferecer Arquiteturas de Alta Disponibilidade com Baixo Custo
  13. 13. ‘Cost Aware Architecture’ …ao utilizar:Reduza Custo de Compute 1. S3/CloudFront para Otimização de conteúdo estático 2. Load Balancing e Auto-Scaling desde o início Storage 4. Armazenar objetos derivados no S3 ‘Reduced Redundancy’ e usar Glacier sempre que possível Banco de Dados 5. Read Replicas e/ou ElastiCache para performance e redução de custos dos bancos de dados Dev & Test 6. Ambientes Dev/Test/CI criados/desligados sob demanda 3. Modelos de Preços On-Demand, Reservado e Spot 7. A/B Testing e Testes de Carga mais baratos
  14. 14. O que isso significa em termos de custos? Um Exemplo Mês Instancias EC2 Medium 1 $ 121 CloudFront Data Transfer Out 1Tb $ 168 Requisições CloudFront $1.89 TOTAL $ 291 Mês Instancias EC2 Medium 4 $ 485 AWS Data Transfer Out 1Tb $ 194 TOTAL $ 679 Arquitetura Usual Arquitetura Otimizada Custo 57% menor - Até 6 x mais rápido
  15. 15. Volume de Storage no S3
  16. 16. Números de Horas de Servidores EC2
  17. 17. Fevereiro de 2013 48,7 milhões de usuários Levantou $338M de capital Valuation de $2.5B
  18. 18. Web Application Servers Sharded Database Cache Servers Internal Web Services File Storage
  19. 19. Servidores de Aplicação Python 150 instancias EC2 High-CPU Web Application Servers Sharded Database Cache Servers Internal Web Services File Storage
  20. 20. Web Services em Python 35 instancias EC2 High-CPU Web Application Servers Sharded Database Cache Servers Internal Web Services File Storage
  21. 21. Caches Memcache e Redis 90 instancias EC2 High-Memory Web Application Servers Sharded Database Cache Servers Internal Web Services File Storage
  22. 22. Servidores de Bancos de Dados MySQL 70 Pares Master/Slave Web Application Servers Sharded Database Cache Servers Internal Web Services File Storage
  23. 23. Srorage no Amazon S3 8 Bilhões de Objetos • 410 Terabytes Web Application Servers Sharded Database Cache Servers Internal Web Services File Storage
  24. 24. Serviços Auxiliares 60 Instancias EC2 Development Logging Operational Tools Asynchronous Task Workers Search Data Analysis Elastic MapReduce Continuous Integration
  25. 25. • Maior parte do tráfego acontece à tarde e no início da noite, portanto reduzem o número de servidores durante a madrugada em 40%. • No pico gastam $52 por hora com EC2 e à noite, for a do pico, o gasto é de $15 por hora. Economias de até 71%
  26. 26. Ambientes Dev / Test
  27. 27. Versão de Homologação
  28. 28. Versão Beta / MVP
  29. 29. Arquitetura de Produção 1.0 1 2 3
  30. 30. Mas e as sessões?
  31. 31. Ideal é criar aplicações stateless
  32. 32. Se não for possível, há 3 opções…
  33. 33. Manter o estado no servidor Web Se servidor cair sessão dos usuários naquele servidor são perdidas. Não é recomendado.
  34. 34. Manter o estado no Banco de Dados Relacional Performance menor, pois o estado está em disco. Bom usar para estado de longa duração (exemplo: carrinho da Amazon)
  35. 35. Manter o estado no Banco de Dados NoSQL Gerencie sessões com o DynamoDB
  36. 36. Manter o estado em um Cache de Memória Solução escalável e que oferece excelente performance e alta disponibilidade com cluster
  37. 37. Arquitetura de Produção 2.0
  38. 38. Arquitetura de Produção 3.0
  39. 39. Arquitetura de Produção 4.0
  40. 40. “Companies are all about focus. AWS enables focus" Ray Bradford, Kleiner Perkins, Caulfield & Byers
  41. 41. Sua aplicação Seu negócio e seu diferencial competitivo Inovação, não gestão de hardware / data centers / software Investir tempo dos profissionais de TI no que importa Automatizar o máximo que puder (Insight profundo: Tempo do Profissional de TI = Muito Dinheiro!) Automação = Foco!
  42. 42. …cresceu para 14 milhões de usuários em menos de um ano …chegou a 150 milhões de fotos e terabytes de dados …1 milhão de usuários em 12 horas após lançar versão Android …mais de 100 milhões de usuários ativos em Janeiro de 2013 na Nuvem da AWS… com 3 engenheiros
  43. 43. Automação Total Controle Total Elastic Beanstalk CloudFormation “Só quero minha aplicação funcionando, com acesso a servidores só se necessário” “Eu quero colocar no controle de versões toda a definição do meu data center” Construa Aplicações, Não Infraestrutura AWS OpsWorks “Quero usar o Chef com simplicidade e orquestração de recipes”
  44. 44. EC2 EBS RDS ELB Upload de sua aplicação Beanstalk faz deploy Você ainda tem controle Elastic Beanstalk
  45. 45. Não construa seu próprio… 1. Disparador de Emails 2. Fila de Mensagens 3. Notificações 4. Transcoding 5. Busca 6. Monitoração 7. Gestão de Workflow …Use serviços prontos quando possível …mas use como serviço Amazon Simple Email Service Amazon Simple Queuing Service Amazon Simple Notification Service Amazon Elastic Transcoder Amazon CloudSearch Amazon CloudWatch Amazon Simple Work Flow
  46. 46. DEMOS!!!
  47. 47. OBRIGADO! awshub.com.br slideshare.net/AmazonWebServicesLATAM José Papo Amazon Evangelist @josepapo

×