Bridestory utiliza contenedores en AWS para mejorar la agilidad

Bridestory

Problemas de la expansión

Bridestory se lanzó en 2014 como punto único para que las novias encontraran inspiración sobre bodas y se conectaran con posibles proveedores. La aplicación Bridestory, que tiene su sede central en Indonesia, cuenta con una base de usuarios que se expandió rápidamente, con 700 000 visitantes, incluidos usuarios de Filipinas y Singapur. Dos años después del lanzamiento, la empresa emergente se enfrentaba a los problemas de la expansión debido a su arquitectura monolítica. La lenta iteración y la dificultad de la implementación y el escalado interferían con el tiempo de comercialización, que era una de las principales prioridades. Bridestory había desarrollado su arquitectura original en la nube de Amazon Web Services (AWS). Es así que comenzó el proceso de asesoría con los arquitectos de la nube de AWS para migrar el proyecto a una infraestructura basada en contenedores.

“Desde finales de 2018, hemos alcanzado nuestras métricas. Antes, dedicábamos, en promedio, tres semanas para lanzar una nueva función, mientras que ahora nuestros desarrolladores cuentan con el potencial necesario para realizar pequeños lanzamientos diarios, con un margen de error inferior al 1 por ciento”.

Doni Hanafi, director de Tecnología, Bridestory

  • Acerca de Bridestory
  • Bridestory es una aplicación móvil y web desarrollada para inspirar a las novias y ayudarlas a conectarse con proveedores de servicios de bodas. El sitio recibe hasta 700 000 visitantes por mes y se está expandiendo a nivel internacional, con usuarios en Indonesia, Singapur y Filipinas. 

  • Beneficios
    • Permite implementaciones diarias en lugar de cada tres semanas.
    • Logra un margen de error inferior al 1 %
    • Ajusta la escala de manera automática para adaptarse a la base global de usuarios en constante expansión.
    • Agiliza tres veces el tiempo de comercialización para una marca nueva.
    • Mejora la productividad y la satisfacción laboral de los empleados, lo que aumenta la retención.
  • Servicios de AWS utilizados

De la arquitectura monolítica a los microservicios

Doni Hanafi, director de Tecnología de Bridestory, trabajó con su equipo para dividir la aplicación en servicios más pequeños y configurar contenedores de Docker con Amazon Elastic Container Service (Amazon ECS). Con el tiempo de comercialización y la fiabilidad como criterios clave, Bridestory se propuso implementar características más pequeñas cada algunos días para reducir el margen de error.

Los primeros tres a cuatro meses se dedicaron a la investigación de pilas tecnológicas con el fin de encontrar la infraestructura adecuada para las cargas de trabajo previstas. Se intentó conseguir una solución que mejorara la agilidad con el escalado automático. La empresa emergente comenzó el proceso progresivo de desacoplamiento mediante el desarrollo de nuevas características en el entorno de microservicios. Bridestory utiliza Amazon Relational Database Service (Amazon RDS) para almacenar todos los datos de las transacciones. Además, AWS Database Migration Service (AWS DMS) le resultó particularmente útil durante el proceso de migración. “Con AWS DMS, podemos copiar datos en tiempo real. Así, es posible sincronizar nuestra antigua base de datos de Amazon RDS en la arquitectura monolítica con la nueva base de datos de microservicios. Además, podemos crear fácilmente una replicación en Amazon RDS, lo que solemos hacer para nuestras herramientas de BI. La replicación es muy fiable, y no hemos tenido problemas importantes con los datos hasta ahora”, comenta Hanafi.

Misma arquitectura, distinta marca

La nueva arquitectura de microservicios transformó las operaciones. Dice Hanafi: “Desde finales de 2018, hemos alcanzado nuestras métricas. Antes, dedicábamos, en promedio, tres semanas para lanzar una nueva función, mientras que ahora nuestros desarrolladores cuentan con el potencial necesario para realizar pequeños lanzamientos diarios, con un margen de error inferior al 1 por ciento”. La empresa también lanzó una nueva aplicación, llamada “Parentstory”, que utiliza la misma infraestructura en contenedores. “El aislamiento es una parte fundamental de nuestro nuevo modelo multitenencia de microservicios”, explica. “Con los arquitectos de AWS, estamos siempre investigando cómo podemos utilizar la misma arquitectura con el mismo código fuente, pero para una marca completamente diferente, con clientes distintos y una base de datos distinta”. Mediante este criterio de “reciclaje”, el equipo pudo lanzar la aplicación Parentstory casi tres veces más rápido que Bridestory.

Gracias al uso de AWS, el equipo de Hanafi pudo trabajar de forma más eficaz. Y concluye: “Ahora estamos haciendo la transición a Amazon Elastic Container Service for Kubernetes (Amazon EKS), que nos brinda mayor flexibilidad para aislar los recursos. Gracias a AWS, estamos descubriendo nuevas formas de aprender y experimentar, lo cual es vital para los ingenieros, y se traduce en una alta retención de empleados”.

En el diagrama a continuación, se ilustra la infraestructura de AWS de Bridestory y Parentstory:

Infraestructura de AWS de Bridestory y Parentstory

Más información

Para obtener más información, consulte Contenedores.