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

Flávio R. C. Sousa

September 13, 2013
Tweet

More Decks by Flávio R. C. Sousa

Other Decks in Technology

Transcript

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

    Services Flávio R. C. Sousa [email protected] @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  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
  4. Características Essenciais  Self-service sob demanda  Amplo acesso 

    Pooling de recursos  Elasticidade rápida  Serviço medido
  5. 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
  6. 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
  7. Startups  Imagine  Você está desenvolvendo um aplicativo novo

     Testes parecem promissor  Amigos adoram!  Aplicativo torna-se “viral”  12
  8. 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
  9. 22

  10. 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)
  11.  CloudWatch  Simple Notification Service  Workflow Service 

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

    Stanford), materiais dos profs. Zachary G. Ives, Andreas Haeberlen e James Walden Amazon EC2*
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30.  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
  31.  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
  32.  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
  33.  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
  34.  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