Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Construindo Startups utilizando a Amazon Web Services

Construindo Startups utilizando a Amazon Web Services

D10cfe1ce96239324a40eea00df03bdb?s=128

Flávio R. C. Sousa

September 13, 2013
Tweet

Transcript

  1. Universidade Federal do Ceará Construindo Startups utilizando a Amazon Web

    Services Flávio R. C. Sousa flaviosousa@ufc.br @flaviosousa www.es.ufc.br/~flavio
  2.  Apresentar os principais conceitos da Computação em Nuvem 

    Apresentar uma visão geral da Amazon AWS  Demonstrar como gerenciar instâncias AWS  Utilizar armazenamento de objetos  Entender a sua conta  Cobrança, credenciais e relatórios  Boas práticas para sua startup 2 Objetivos
  3. Computação em Nuvem

  4. Computação em Nuvem  Serviços básicos e essenciais são todos

    entregues de uma forma transparente  A mesma ideia tem sido aplicada no contexto da informática  Cloud Computing ou Computação em Nuvem  Computação em Nuvem  Ideia antiga: Software como um Serviço (SaaS)  Entrega de aplicações através da Internet  Recentemente: “[Hardware, Infraestrutura, Plataforma] como um serviço”  “X como um serviço” 4
  5. Características Essenciais  Self-service sob demanda  Amplo acesso 

    Pooling de recursos  Elasticidade rápida  Serviço medido
  6. Computação em Nuvem 6 Tempo CAPACIDADE DA TI Carga Atual

    Alocação de capacidades “Desperdício“ de capacidades “Falta“ de capacidades Custo fixo das capacidades Previsão de Carga Custo Inicial das capacidades Fonte: Microsoft
  7. Computação em Nuvem: Elasticidade 7 Carga Atual Alocação de capacidades

    Redução dos investimentos iniciais Redução do “excesso de TI“ Sem “falta“ de capacidades É possível a redução das capacidades no caso da redução da carga Tempo CAPACIDADE DA TI Previsão de Carga Fonte: Microsoft
  8. Modelos de Serviços Fonte: Microsoft

  9. Modelos de Serviços

  10. Modelos de Implantação 10

  11. Startups na Amazon AWS

  12. Startups  Imagine  Você está desenvolvendo um aplicativo novo

     Testes parecem promissor  Amigos adoram!  Aplicativo torna-se “viral”  12
  13. Startups  Quantos servidores serão necessários?  O que fazer

    para lidar com um “pico” de acesso ao sistema?  O que fazer se a demanda diminui? 13
  14. Startups 14

  15. Startups na AWS 15

  16. Startups na AWS 16

  17. Porque Amazon AWS?

  18. Amazon Web Services 18

  19. Amazon Web Services 19

  20. Amazon Web Services 20

  21. Amazon Web Services 21

  22. 22

  23. Amazon Web Services 23

  24. 24 Amazon AWS: Visão Geral* * Material de José Papo

    – AWS Brasil
  25. Modelo de Referência 25

  26. Modelo de Referência 26

  27. Infraestrutura Global 27

  28. Infraestrutura Global 28

  29. Infraestrutura Global 29

  30. Infraestrutura Global 30

  31. Compute 31

  32. Compute 32

  33. Compute 33

  34. Storage 34

  35. Storage 35

  36. Storage 36  Objetos são organizados em buckets  Objetos

    e buckets  Identificados por uma URI  Acesso por meio de uma Serviço Web  Operações  put(uri, bytestream)  get(uri)  get-if-modified-since(uri, timestamp)
  37. Storage 37

  38. Networking 38

  39. Networking 39

  40. Networking 40

  41. Networking 41

  42. Database 42

  43. Database 43

  44. Application Services 44

  45. Application Services 45

  46. Application Services 46

  47. Application Services 47

  48. Deployment & Admin 48

  49. Deployment & Admin 49

  50. Deployment & Admin 50

  51.  CloudWatch  Simple Notification Service  Workflow Service 

    ElastiCache  Elastic MapReduce  AWS Import/Export  AWS Storage Gateway  AWS Direct Connect 51 Mais serviços
  52. * Aula baseada no material AWS Architecture Training (Universidade de

    Stanford), materiais dos profs. Zachary G. Ives, Andreas Haeberlen e James Walden Amazon EC2*
  53. Características Amazon EC2  Capacidade de processamento ajustável  Escale

    para cima e para baixo em minutos  Controle completo via API  Criar, escalar, & gerenciar instâncias programaticamente  Variedade de tamanhos de instâncias  CPU, Cores, RAM, Disk.  Grande variedade de imagens pré-construídas  Permite executar aplicações com o mínimo de esforço  VMs executadas com a tecnologia XEN (paravirtualization)  Modelo de segurança de rede flexível e seguro  Controle total de acesso para cada instância em execução  Controle de acesso via chaves para acesso SSH 53
  54. Vocabulário EC2  Região  Localização do centro de dados

     Zona de Disponibilidade  Partição funcional e independente dentro de uma região  Instância  Máquina em execução  AMI - Amazon Machine Image  Imagem pré-configurada de um sistema 54
  55. Vocabulário EC2  EBS  Elastic Block Storage  EBS

    Volume  Unidade EBS Storage – 1 GB para 1 TB por volume  Endereço IP Elástico  Endereço de “longa duração” que pode ser adicionado para qualquer instância EC2 55
  56. Vocabulário EC2  API Tools  Ferramenta de linha de

    comando para gerenciar instâncias EC2  Iniciar, pausar e parar  AMI Tools  Ferramenta de linha de comando para criar e gerenciar AMIs EC2 56
  57. Amazon EC2: Regiões e Zonas de Disp. EU West Region

    Availabilit y Zone A Availabilit y Zone B US East Region Availabilit y Zone A Availabilit y Zone C Availabilit y Zone B US West Region Availabilit y Zone A Availabilit y Zone B Amazon CloudWatch Nota: Apenas desenho conceitual. A quantidade de zonas pode variar Singapore Availabilit y Zone A Availabilit y Zone B 57
  58. Máquinas Virtuais (US East) Micro Standard High Memory High CPU

    Cluster Compute Cluster GPU Micro Small Large Extra Large XL 2 XL 4 XL Medium Extra Large 4 XL 4XL Bits 32/64 32 64 64 64 64 64 32 64 64 64 RAM 613 MB 1.7 GB 7.5 GB 15 GB 17.1 34.2 68.4 1.7 GB 7 GB 23 22 Disk 420 GB 160 GB 850 GB 1690 GB 420 850 GB 1690 GB 350 GB 1690 GB 1690 GB 1690 GB Virtual Cores 1 1 2 4 2 4 8 2 8 8 2 NVIDIA Tesla “Fermi” GPUs EC2 Comput e Units 2 (Burst) 1 4 8 6.5 13 26 5 20 33.5 33.5 Firewall Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes On-Demand Pricing Linux Per Hour $0.02 $0.085 $0.34 $0.68 $0.50 $1.00 $2.00 $0.17 $0.68 1.60 2.10 Window s $0.03 $0.12 $0.48 $0.96 $0.62 $1.24 $2.48 $0.29 $1.16 N/A N/A
  59. Tipos de Instâncias  Instâncias On-Demand  Pagamento por hora

     Sem compromisso a longo prazo  Instâncias Reservadas  Taxa única de reserva para compras de 1 ou 3 anos  Uso ainda cobrado por hora, mas com um desconto considerável  Instâncias Spot  Clientes negociarem a capacidade não utilizada  Executarem essas instâncias durante o período em que sua oferta exceder o preço spot atual 59
  60. Tipos de Instâncias 60

  61. Tipos de Instâncias 61

  62. S3 vs. EBS AMIs AMIs baseadas no S3  Oferta

    tradicional  Instancia não é persistida em quando parada  Boot em minutos  I/O grátis para o dispositivo root  Não há custo quanto a instância é parada EBS-Backed AMIs  Adiconada em 2009  Instância parada é persistida em um sistemas de arquivos  Boot em segundos  I/O com custo  Existe custo quando a instância é parada 62
  63. Relação 1:N entre AMIs e Instâncias AMI Instance Instance Instance

    Instance Instance 63
  64. Ciclo de vida: Instância EC2 com EBS EBS Snapsh ot

    Instance (Pending) RunInstances call to cloud • Specify which AMI to launch • Provide parameters (# instances, security group, etc) Instance launch initiated • Copy AMI from snapshot • Assign parameters Instance (Running) Instance (Shutting Down) Instance (Terminated) • Attach EBS Storage once running • Assign Elastic IP Address EBS Snapsh ot Instance (Stop) Instance (Start) • Resources automatically detached (IP, storage) • Can also be initiated as normal operating system shutdown • Snapshot loaded back into EBS • EBS executed by hypervisor 64
  65. Enderecamento da Instância EC2  Para cada instância é atribuído:

     Endereço IP Privado  DNS Privado (*.interno)  DNS Público (*.amazonaws.com)  Endereço público opcional  Elastic IP  Endereço IP estático que você pode anexar a qualquer instância em execução  Serviço de DNS  Route 53 65
  66. Ferramentas EC2 e Console  Ferramentas API  Acesse as

    funcionalidades da API EC2 por linha de comando  Independente de plataforma (Java)  Ferramentas AMI  Ferramenta específica para criar novas AMIs  Permite empacotar uma imagem  Realizar upload de uma imagem  AWS Console  Interface unificada de controle para todos os serviços
  67. AWS Console 67

  68. 68 Calculado o Custo do sua Startup na Amazon AWS

  69. Economia AWS  Preços dos recursos na AWS são baseados

    em:  Tempo: uma hora de tempo de CPU  Volume: GB de dados transferidos  Contagem: número de mensagens em fila  Tempo e espaço: GB mês de armazenamento de dados  O faturamento é feito no início do mês seguinte 69
  70. Custo AWS 70 Tipo CPU RAM Disco Custo hora Standard

    Micro 1 0.6 GB 8 GB $ 0.02 Small 1 1.7 GB 160 GB $ 0.06 Large 2 7.5 GB 850 GB $ 0.24 Extra Large 8 15 GB 1690 GB $ 0.48 High CPU Extra Large 20 7 GB 1690 GB $ 0.58 High Memory 4 XL 26 68.4 GB 1690 GB $ 1.62 Cluster GPU 4 XL 33.5 22 GB 1690 GB $ 2.10 Armazenamento Custo mês Standard Storage ( GB) $ 0.095 Glacier Storage (GB) $ 0.01
  71. 71 Calculadora AWS calculator aws.amazon.com/

  72. Amazon EC2 Service Level Agreement 72 http://aws.amazon.com/ec2-sla/ (9/21/2010; excerpt) 4.38h

    downtime per year allowed
  73. 73 Sua Startup com Segurança na Amazon AWS

  74. Segurança na AWS 74

  75. Segurança na AWS 75

  76. Credenciais AWS 76 Sign-in credentials X.509 certificates EC2 key pairs

    Access keys AWS web site and management console Command-line tools SOAP APIs REST APIs Connecting to an instance (e.g., via ssh) - Usa criptografia de chave pública
  77. Cada conta tem um firewall virtual  Seguro por padrão

     Abrir portas de acordo com necessidade  Grupo padrão: Nada aberto EC2 Instance Port 22 (SSH) Port 80 (HTTP) EC2 Firewall 77
  78. Restrições de Tráfico entre Grupos de Segurança Web Security Group

    Web Server Port 22 (SSH) Port 80 (HTTP) App Security Group App Server Ports 22, 2048 DB Security Group DB Server Port 3300 Port 22 (SSH) EC2 Firewall 78
  79. Parâmetros de Seg. da Rede EC2  Somente controle de

    acesso de entrada  Grupo de segurança  Conjunto de regras de acesso  Regras de acesso:  Nome  Descrição  Protocolo  Intervalo da porta  Intervalo do endereço IP 79
  80. Boas Práticas para uso da Amazon AWS em sua Startup

  81.  Prepare-se para falhas e nada falhar  A experiência

    do cliente é muito importante  Foco em alta disponibilidade e confiabilidade  Separe componentes da aplicação  Implemente a elasticidade  Pense paralelo  Ponha os dados no lugar certo  Utilize práticas recomendadas de segurança 81 Boas Práticas* * Material de Manoel Veras
  82.  Escolha o que você sabe  Tecnologia, frameworks, bibliotecas

     Não construa, se você pode reutilizar  Muitos projetos interessante no github  Automatize as implantações  Foco na integração contínua  Programe sua solução para o provisionamento  Utiliza os serviços da nuvem  Armazenamento de objetos, caching, filas 82 Boas Práticas
  83.  Projete arquiteturas simples de manter e evoluir  Conheça

    as melhores práticas de arquitetura  infoq.com  highscalability.com  Saiba mais sobre a construção de aplicações multi-inquilino (multi-tenant)  Segurança dos dados  SLA  Confiabilidade  Escala 83 Boas Práticas
  84.  Integre sua opção de nuvem com a sua estratégia

    de negócio e plano de execução  Sincronize seu negócio e como ele utiliza a nuvem  Obtenha bons conselhos técnicos e adquira conhecimento  stackoverflow  quora  hackernews  hackerstreet 84 Boas Práticas
  85. Boas Práticas de Arquitetura para sua Startup

  86. Boas Práticas: Arquitetura 86

  87. Boas Práticas: Arquitetura 87

  88. Boas Práticas: Arquitetura 88

  89. Boas Práticas: Arquitetura 89

  90. Boas Práticas: Arquitetura 90

  91. Boas Práticas: Arquitetura 91

  92. Boas Práticas: Arquitetura 92

  93. Boas Práticas: Arquitetura 93

  94. Boas Práticas: Arquitetura 94

  95. Boas Práticas: Arquitetura 95

  96. Boas Práticas: Arquitetura 96

  97. Boas Práticas: Arquitetura 97

  98. Boas Práticas: Arquitetura 98

  99. 99 Iniciando sua Startup na Amazon AWS

  100.  Como criar uma conta na Amazon Web Services (AWS)

     http://planetatecnologia.com/como-criar-uma-conta-na- amazon-web-services-aws  Página para código promocional  https://aws.amazon.com/pt/awscredits/  Documentação, tutoriais, vídeos e fórum  http://awshub.com.br/ 100 Amazon AWS
  101. Obrigado! Flávio R. C. Sousa flaviosousa@ufc.br @flaviosousa www.es.ufc.br/~flavio