Arquitetura Bcash na AWS


Venha para a Nuvem, mas prepare-se para a tempestade!
Entenda os prós e contras, erros e acertos
de uma migração para a AWS


Alexandre Ribeiro da Silva
alexandre.silva@buscapecompany.com

Fábio Nowaki
fabio.nowaki@buscapecompany.com

Roberto Marin
roberto.marin@buscapecompany.com

Por que a AWS?


O que é Bcash?

Bcash é a solução completa em pagamentos online para quem compra ou vende em lojas virtuais, blogs e websites, desenvolvida para transações rápidas e seguras na internet.

Faz parte do PayU Group – plataforma mundial de pagamentos na internet, presente em quatro continentes e 16 países. 

Líder na Polônia, Romênia e na África do Sul, onde transaciona 65% do comércio eletrônico .


Como era a Arquitetura



Quais eram os problemas? :(



  • Disponibilidade não adequada
  • Difícil  Escalar
  • Custo muito alto

Arquitetura da virada para AWS

PODE VIRAR?

E ENTÃO...


O que deu errado? :(



  1. Atualização de versões
  2. Muitas equipes
  3. Tomada de decisão
  4. Virar tudo de uma vez


Arquitetura Plano B na AWS



O que deu errado? :(



  1. Ponto único de falha
  2. Slaves no mesmo local do Master
  3. Dependência do DirectConnect
  4. Gasolina no gerador :-)

Arquitetura Atual



O que ganhamos :) 


  1. Estabilidade
  2. Disponibilidade
  3. Escalabilidade
  4. Redundância (Parcial)



Próximos Passos


  1. Migrar Banco de aplicação para RDS
  2. Auto Scaling
  3. Auto Failover no Redis
  4. Migrar NFS para S3




Como utilizamos a AWS


EC2

Elastic Compute Cloud



      • Escolha a instância ideal
      • Reserve a instância < Custo


Discos Locais



      • Tamanho depende do tipo da instância
      • Efêmero: para dados temporários


Volumes EBS

Elastic Block Store


      • Provisione os IOPS , se necessário
      • Utilize RAID para melhor performance
      • Snapshots


    S3

    Simple Storage Service


        • Alta disponibilidade
        • Arquivos estáticos e Backup




      Habilite Cross Zone Balance no ELB  

    RDS

    Relational Database Service

    • Alta disponibilidade
    • Auto failover (somente Multi-AZ)
    • Sem preocupação com a infra-estrutura
    • Configure através do Parameter Group
    • Crie Read Replicas
    • Agende os backups automatizados
    • Point in Time Recovery


    Auto Scaling


    • Defina as regras
      • Métricas do CloudWatch
      • Agendamento planejado
    • Instância stateless

    Auto Scaling

    Auto Scaling


    ElastiCache?


        • Uma instância por EC2
        • Sem persistência
        • Sem auto failover

    E qual a alternativa?




    Master-slave
    Persistente
    Failover através do Sentinel

    Não perca a palestra do Roberto Marin!





    Lições Aprendidas






    Não atualize versão!






    Não crie dependência com data center






    Não migre tudo de uma única vez






    Tenha um plano B


     Falhas ocorrem a todo instante 




      Sua aplicação e arquitetura devem estar preparadas  



    Obrigado!



    Alexandre Ribeiro da Silva
    alexandre.silva@buscapecompany.com

    Fábio Nowaki
    fabio.nowaki@buscapecompany.com
    Made with Slides.com