Estudo de caso da Remind
2015
A Remind é um aplicativo web e móvel que permite que professores enviem mensagens de texto para alunos e mantenham contato com os pais. A Remind tem 25 milhões de usuários e mais de 1,5 milhão de professores em sua plataforma. Além disso, o aplicativo entrega 150 milhões de mensagens ao mês.
A migração para o Amazon ECS melhorou significativamente o desempenho do nosso serviço. Reduzimos os tempos de resposta do serviço no 99º percentil em 50%."
Jason Fischl
VP de engenharia, Remind
O desafio
- A Remind usava uma plataforma como serviço (PaaS) de nuvem de terceiros para executar toda a infraestrutura da seu aplicativo (mecanismo de entrega de mensagens, API de front-end, cliente web, back-end de bate-papo) como um aplicativo monolítica.
- Os problemas de escalabilidade impulsionaram a migração para uma arquitetura baseada em microsserviços, mas a Remind não estava satisfeita com a visibilidade limitada sobre o desempenho da CPU, da memória e da rede oferecida pelo provedor de PaaS.
- A Remind desejava usar o docker no Amazon Elastic Compute Cloud (Amazon EC2) para uma melhor utilização de recursos e uniformidade do ambiente, e a ideia inicial era ter uma solução de PaaS interna para obter eficiência de desenvolvedor.
- A Remind começou a criar seu próprio PaaS na frota e no CoreOS baseado em Linux, mas a frota e o armazenamento de chave-valor etcd eram instáveis. A equipe também não queria gastar tempo para executar e operar seu próprio sistema de gestão de clusters.
Por que a Amazon Web Services
- A Remind optou por usar a AWS diretamente para manter a simplicidade operacional, pois já usava o Amazon Redshift, o Amazon DynamoDB, o Amazon Simple Storage Service (Amazon S3) e o Amazon CloudFront.
- A empresa decidiu criar sua PaaS no Amazon EC2 Container Service (Amazon ECS) porque a equipe de engenharia era pequena e não tinha o tempo nem a expertise necessários para operar e gerenciar clusters.
- A Remind transformou a solução de PaaS de código aberto no Amazon ECS e a disponibilizou como “Empire”.
- O Amazon ECS disponibiliza a programação e a integração de contêineres e o Elastic Load Balancing (ELB) permite que o Empire use o DNS para descoberta de serviços.
- O Empire disponibiliza API e CLI compatíveis com Heroku que permitem que os desenvolvedores implantem facilmente aplicativos no Amazon ECS.
Os benefícios
- O Amazon ECS, um serviço gerenciado, disponibiliza eficiência operacional, permitindo a concentração dos recursos de engenharia no desenvolvimento e na implantação de aplicativos em vez de na operação e na manutenção de clusters.
- A migração para o Amazon ECS proporcionou grandes melhorias de desempenho, inclusive estabilidade superior e menor latência.
- A Remind observou um tempo de resposta duas vezes menor no 99º percentil, com menos variações e picos.
- A AWS disponibiliza controle sobre a segurança e roteamento por meio das VPCs, além de uma visibilidade mais clara sobre o desempenho dos aplicativos.
Sobre a Remind
A Remind é um aplicativo web e móvel que permite que professores enviem mensagens de texto para alunos e mantenham contato com os pais.
Serviços da AWS usados
Amazon EC2
O Amazon Elastic Compute Cloud (Amazon EC2) é um serviço da Web que disponibiliza capacidade computacional segura e redimensionável na nuvem. Ele foi projetado para facilitar a computação em nuvem na escala da web para os desenvolvedores.
Amazon Redshift
O Redshift apoia cargas de trabalhos analíticas de missão crítica para empresas da Fortune 500, startups e empresas de todos os tamanhos intermediários.
Saiba mais »
Amazon DynamoDB
O Amazon DynamoDB é um banco de dados de valor-chave e documento que oferece desempenho de milissegundos com um dígito em qualquer escala.
Saiba mais »
Amazon S3
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos que oferece escalabilidade líder do setor, disponibilidade de dados, segurança e performance.
Saiba mais »
Amazon CloudFront
O Amazon CloudFront é um serviço rápido de rede de entrega de conteúdo (CDN) que entrega dados, vídeos, aplicativos e APIs a clientes em todo o mundo com segurança, baixa latência e altas velocidades de transferência em um ambiente de uso facilitado para desenvolvedores.
Saiba mais »
Elastic Load Balancing
O Elastic Load Balancing distribui automaticamente o tráfego de entrada de aplicativos entre diversos destinos, como instâncias do Amazon EC2, contêineres, endereços IP e funções Lambda.
Saiba mais »
Comece a usar
Empresas de todos os portes em todos os setores estão transformando seus negócios diariamente usando a AWS. Entre em contato com nossos especialistas e comece sua própria jornada para a Nuvem AWS hoje mesmo.