Caso práctico de Remind

2015

Remind es una aplicación web y móvil que permite a los maestros escolares enviar mensajes de texto a los alumnos y estar en contacto con los padres. Remind tiene 25 millones de usuarios y más de 1,5 millón de maestros en su plataforma. La aplicación entrega 150 millones de mensajes por mes.

Shot of two young women using a laptop together in a college library
kr_quotemark

La transición a Amazon ECS mejoró significativamente el rendimiento de nuestro servicio. Hemos reducido los tiempos de respuesta de los servicios del percentil 99 en un 50 %”.

Jason Fischl
Vicepresidente de ingeniería, Remind

El desafío

  • Remind usaba una plataforma como servicio (PaaS) de un tercero en la nube para ejecutar la infraestructura entera de su aplicación (el motor de entrega de mensajes, la API de front-end, el cliente web, el backend de chat) como una aplicación monolítica.
  • Los problemas de escalamiento impulsaron la migración a una arquitectura basada en microservicios, pero Remind no estaba satisfecha con la visibilidad de la CPU limitada, la memoria y el rendimiento de la red disponibles desde el proveedor de la PaaS.
  • Remind quería usar Docker en Amazon Elastic Compute Cloud (Amazon EC2) para un mejor uso del recurso y una mejor consistencia del entorno, y la idea inicial era tener una solución PaaS interna para la eficiencia del desarrollador.
  • Remind comenzó a crear su propia PaaS en CoreOS basado en Linux y flota, pero el almacenamiento de la flota y el valor clave etcd eran inestables. El equipo tampoco quería invertir tiempo en ejecutar y operar su propio sistema de administración de clústeres.

Por qué Amazon Web Services

  • Remind eligió usar AWS directamente para mantener la simpleza operativa. Ya estaba usando Amazon Redshift, Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3) y Amazon CloudFront.
  • La empresa decidió crear su PaaS sobre Amazon EC2 Container Service (Amazon ECS) porque el equipo de ingeniería era pequeño y no tenía ni el tiempo ni la experiencia necesarias para operar y administrar clústeres.
  • Remind cambió su solución PaaS a código abierto en Amazon ECS como “Empire”.
  • Amazon ECS provee integración y programación de contenedores mientras que Elastic Load Balancing (ELB) permite a Empire usar DNS para el descubrimiento de servicios.
  • Empire ofrece una API compatible con Heroku y una interfaz de línea de comando (CLI) que permite a los desarrolladores implementar aplicaciones fácilmente sobre Amazon ECS.

Los beneficios

  • Amazon ECS, un servicio administrado, provee eficiencia operativa, lo que permite que los recursos de ingeniería se centren en el desarrollo y la implementación de aplicaciones en vez de en la operación y el mantenimiento de los clústeres.
  • La migración a Amazon ECS trajo grandes mejoras en el rendimiento, entre ellas, una mejor estabilidad y una latencia más baja.
  • Remind ha reducido los tiempos de respuesta del percentil 99 a la mitad, con menos variación y menos picos.
  • AWS ofrece el control de la seguridad y el destino mediante las VPC, además una mayor visibilidad del rendimiento de las aplicaciones.

Ponencia de AWS re:Invent 2015 | Jason Fischl, vicepresidente de ingeniería, Remind (7:44)

Acerca de Remind

Remind es una aplicación web y móvil que permite a los maestros escolares enviar mensajes de texto a los alumnos y estar en contacto con los padres.


Servicios de AWS utilizados

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que proporciona capacidad informática en la nube segura y de tamaño modificable. Está diseñado para facilitar a los desarrolladores la informática en la nube a escala web.

Más información »

Amazon Redshift

Redshift respalda cargas de trabajo de análisis fundamentales para compañías de la lista Fortune 500, empresas emergentes y todo tipo de empresa intermedia.

Más información »

Amazon DynamoDB

Amazon DynamoDB es una base de datos de clave-valor y documentos que ofrece rendimiento en milisegundos de un solo dígito a cualquier escala.

Más información »

Amazon S3

Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento líderes en el sector.

Más información »

Amazon CloudFront

Amazon CloudFront es un servicio rápido de red de entrega de contenido (CDN) que distribuye a clientes globalmente datos, vídeos, aplicaciones y API de forma segura, con baja latencia, altas velocidades de transferencia y dentro de un entorno fácil para desarrolladores.

Más información »

Elastic Load Balancing

Elastic Load Balancing distribuye automáticamente el tráfico de aplicaciones entrantes a través de varios destinos, tales como las instancias de Amazon EC2, los contenedores, las direcciones IP y las funciones Lambda.

Más información »


Introducción

Cada día crece el número de empresas de todos los tamaños y sectores que consiguen transformar sus negocios gracias a AWS. Contacte con nuestros expertos e inicie hoy mismo su proceso de traspaso a la nube de AWS.