Save 37% off PRO during our Black Friday Sale! »

CRUD ABC #2 - Lançando para a Nuvem com AWS

0a8f40c6cc23fb6c8aad4de732c5abaf?s=47 Lucas Santos
November 26, 2016

CRUD ABC #2 - Lançando para a Nuvem com AWS

Slides da palestra sobre AWS no CRUD ABC do dia 26/11/2016

0a8f40c6cc23fb6c8aad4de732c5abaf?s=128

Lucas Santos

November 26, 2016
Tweet

Transcript

  1. Lançando para a nuvem com AWS CRUD ABC #2

  2. Quem sou eu? Lucas Santos 22 anos Software Engineer na

    @_staticvoid /khaosdoctor (https://khaosdoctor.github.io) /in/lhs-santos Tecnologias que uso:
  3. O que é a nuvem?

  4. “Não existe nuvem nenhuma É só o computador de outra

    pessoa” (Gênio não reconhecido)
  5. A nuvem que vemos

  6. A nuvem real é apenas uma rede de computadores How

    does the internet work? http://cege.la/PE7Skr
  7. A internet é uma rede de redes Interconnected Networks (Internet)

    Modem Internet Service Provider
  8. O que é ser escalável?

  9. Escalabilidade real

  10. Escalabilidade vertical e horizontal Como é possível?

  11. https://goo.gl/JPBKIF

  12. Amazon Web Services

  13. História • Surgiu em oficialmente em 2006 como IaaS •

    Primeiros planos em 2003 • Objetivo original era melhorar infraestrutura da loja • Em 2007 toda a estrutura da Amazon.com foi movida para a AWS • Primeiro serviço: EC2
  14. Principais concorrentes 2011 2011 2012 2010 2010

  15. Principais concorrentes 2012 2011 Apps Pequenas 2011 Apps Médias 2010

    Apps Grandes 2010 Apps Mistas
  16. E toda essa galera

  17. IaaS, PaaS, SaaS

  18. Apps hospedados Ferramentas de dev, gerência de DB, análise de

    negócios Sistemas Operacionais Servidores de Armazenamento Segurança de rede Construção de planta física de data centers
  19. None
  20. Serviços

  21. None
  22. COMPUTE

  23. Servidores Code on Demand

  24. Load Balancing Balanceamento de requisições entre instâncias EC2

  25. Elastic Load Balancer (ELB) Application Load Balancer (ALB) O ALB

    permite ir mais a fundo, utilizando métricas mais avançadas que podem depender de recursos da própria aplicação O ELB permite escalar a quantidade de requisições suportadas pelo servidor baseadas em informações simples (como memória, ou CPU)
  26. Roteamento das requisições para todos os servidores dentro do grupo

    de escalabilidade Auto Scaling Group - Escalabilidade automática AMI AMI AMI AMI
  27. EC2

  28. None
  29. NETWORK

  30. Redes privadas Domínios Máquinas de gateway

  31. STORAGE

  32. Armazenamento de arquivos CDN Dados Frios

  33. DATABASE

  34. Serviço de banco NoSQL Serviço de banco de dados relacional

    Armazenamento em cache
  35. ANALYTICS

  36. Elastic Search Service Stream Workflow

  37. OUTROS

  38. Repositórios GIT privados Integração contínua Automação de shipping Monitoramento de

    API Monitoramento de recursos Consultoria de performance Gera certificados TLS/SSL Jogos baseados em sessões Aparelhos celulares para testes de apps Criação de API’s baseadas no Swagger Conversão de mídia digital para diversos formatos Serviços de MQ
  39. Uma Smart House

  40. Vantagens e Desvantagens • Escalabilidade horizontal é muito cara •

    Processamento é mais caro do que armazenamento • As regras de pagamentos são extremamente confusas • Suporte não incluso • Para o uso 100% eficiente é necessário uma consultoria • Dificuldade em escalar uma máquina verticalmente • Grande capacidade computacional • Serviços maduros • Data centers localizados em muitos locais do globo • Custo razoavelmente baixo para uma aplicação simples • Facilidade de uso • Disponibiliza serviços que estão intrinsecamente conectados • Trial de 1 ano grátis (para alguns serviços)
  41. AWS Calculator -> http://calculator.s3.amazonaws.com/

  42. Ferramentas Úteis • AWS Calculator - Cálculo e estimativas de

    preço • CloudCraft - Modelagem e diagramação • CIDR Calculator - Calcula endereços de CIDR • AWS CLI - Interface de Linha de comando do console
  43. O Live Coding

  44. O que faremos? 1. Criaremos uma app que vai usar

    muito processamento 2. Vamos montar uma estrutura na AWS com escalabilidade 3. Faremos o deploy do app para este servidor 4. Testaremos a escalabilidade em tempo real
  45. O APP Aplicação em PHP para calcular a sequência de

    Fibonacci recursivamente
  46. None
  47. POR QUE FIBONACCI?

  48. É uma das funções recursivas mais exigentes em termos computacionais

  49. Comparação de modelos de algoritmos de Fibonacci

  50. A Infraestrutura Um modelo AWS escalável pequeno

  51. CPU Baixa CPU Media CPU Alta

  52. Etapas: 1. Criar uma máquina nova EC2 2. Instalação Apache

    e PHP 3. Testes unitários 4. Criação da AMI 5. Aplicação em políticas de escalabilidade 6. Criação do Load Balancing
  53. Slides https://goo.gl/VpynGq

  54. None
  55. Perguntas?