Historias de clientes / Transporte y logística / América Latina

2020
Logotipo de Rappi

Rappi mejora la eficiencia, la estabilidad y la velocidad con Amazon DocumentDB (con compatibilidad con MongoDB)

Rappi, una startup del mercado de aplicaciones, migró sus bases de datos a Amazon DocumentDB, lo que aumentó el rendimiento del servicio.  

Cero

interrupciones reducidas

100

bases de datos de MongoDB migraron a DocumentDB en 3 meses

Reducción de la latencia

de hasta 500 ms a 80 ms de media para la consulta de clasificación de restaurantes

Más del 50 %

de reducción de los gastos generales de administración y operación  

Logró una mayor estabilidad

con menos código

Información general

En los mejores tiempos, un servicio que ayuda a las personas a realizar las tareas cotidianas de forma más eficiente, desde comprar ropa hasta pedir la cena, puede convertirse rápidamente en una parte integral de la vida. Pero en un contexto como el de la pandemia de la COVID-19 de 2020, ese servicio, como el que ofrece Rappi, una startup basada en Colombia, se vuelve indispensable.

En 2015, Rappi obtuvo una inversión de 2 millones de dólares para financiar una idea innovadora: convertirse en líder de la “entrega de todo a domicilio” al ofrecer un marketplace basado en una aplicación para el intercambio de bienes que van desde pedidos para llevar y comestibles hasta ropa. En 2018, Rappi se había hecho merecedora del título de startup unicornio, con una inversión adicional de 200 millones de dólares y una valoración de 1000 millones de dólares, incluso mientras continuaba la ampliación de su oferta de productos y servicios para facilitar la vida de sus clientes, como los seguros y los servicios financieros. En 2020, Rappi se había expandido con éxito a nueve países de América Latina con nueve líneas de negocio y había conseguido otros 1000 millones de dólares en inversiones, con lo que su valoración aumentó a 5200 millones de dólares.

En sus inicios, Rappi creó una aplicación monolítica con patrones de diseño arquitectónico tradicionales.  

Rappi

Aunque la infraestructura monolítica funcionó bien al principio, los ingenieros de Rappi no tardaron en determinar que necesitaban una plataforma de base de datos que pudiera soportar un enfoque más flexible y orientado a los microservicios, y que facilitara el ritmo de innovación necesario para competir en el negocio de los repartos bajo demanda. Después de probar otras soluciones de bases de datos, Rappi recurrió a Amazon Web Services (AWS) para abordar sus problemas de rendimiento, eficiencia y escalabilidad mediante Amazon DocumentDB (con compatibilidad con MongoDB).  

Oportunidad | Búsqueda de una solución de base de datos

La arquitectura de microservicios de Rappi requería múltiples bases de datos adecuadas para diferentes trabajos. La empresa recurrió a Elasticsearch para el catálogo y la búsqueda y estableció una serie de microservicios organizados por unidad de negocio y por país, con cada país apoyado por un clúster de Elasticsearch. Sin embargo, debido a que todos los microservicios de un país utilizaban el mismo clúster, si algo fallaba en un solo microservicio, si establecía demasiadas conexiones a la base de datos o utilizaba un índice de manera incorrecta, por ejemplo, el alcance del impacto resultante podía crear problemas de rendimiento que iban desde la degradación del servicio hasta la interrupción completa de todos los demás microservicios de ese país. Además, como Rappi implementaba un clúster de Elasticsearch por país para cubrir las nueve líneas de negocio de ese país, el modelo utilizaba hasta 100 nodos por clúster, lo que aumentaba el precio, reducía el rendimiento y requería un mantenimiento constante. En otras palabras, el modelo sencillamente no se ajustaba a las necesidades de Rappi. “Utilizábamos instancias realmente enormes y no conseguíamos el rendimiento que queríamos”, afirma Marcelo Soto, responsable de la plataforma de datos de Rappi.

Estos problemas tempranos de escalado y rendimiento generaron frecuentes interrupciones en uno de los servicios más rentables de Rappi: sus entregas a domicilio de restaurantes. El más grave de ellos fue una interrupción de 3 a 4 horas durante la hora pico de servicio, causada por el aumento de solicitudes en el clúster de Elasticsearch. Mientras tanto, la consulta de clasificación podía tardar hasta 500 ms, una latencia que reducía el rendimiento e impactaba en la experiencia de miles de usuarios.

kr_quotemark

Debimos realizar cambios para la transición a Amazon DocumentDB, pero después de hacerlo, descubrimos que con mucho menos código, podíamos realizar las mismas tareas con mucha más estabilidad”.  

Marcelo Soto
Head of Data Platform, Rappi  

Solución | Encontrar la base de datos adecuada en AWS

A medida que buscaba una nueva solución de base de datos con el objetivo de mejorar drásticamente el rendimiento, los ingenieros de Rappi determinaron que parte de la carga de trabajo de los microservicios debía ser soportada por un almacén de documentos. Rappi ya había dado un primer paso al trasladar estas cargas de trabajo de Elasticsearch a soluciones de almacenamiento de documentos y trabajaba en la actualización de su pequeña plataforma MongoDB. Ahora, el equipo de Rappi necesitaba eliminar el trabajo pesado e indiferenciado de mantener la infraestructura para tantos clústeres de MongoDB. La compatibilidad con MongoDB fue un factor. “La compatibilidad era crucial porque necesitábamos trasladar microservicios que ya estaban en funcionamiento”, precisa Soto. “Debíamos tener la capacidad de trasladarnos a una base de datos diferente sin modificar demasiado el código”. Rappi encontró la solución que buscaba en un servicio de base de datos de documentos completamente administrado de AWS que proporcionaba la compatibilidad con MongoDB que necesitaba: Amazon DocumentDB (con compatibilidad con MongoDB), una base de datos no relacional diseñada para ofrecer a los clientes el rendimiento, la escalabilidad y la disponibilidad necesarios para operar cargas de trabajo de MongoDB esenciales a escala.

Ahora, una vez completada la migración a Amazon DocumentDB, “tenemos 2000 bases de datos diferentes en producción, y DocumentDB es la segunda más importante”, afirma Soto. El nuevo modelo de Rappi asigna un clúster de Amazon DocumentDB por cada una de sus nueve líneas de negocio por país, y puede administrar el aumento exponencial de clústeres con solo dos ingenieros. “Debimos hacer pequeños ajustes para la transición de MongoDB a Amazon DocumentDB, pero después de hacerlo, descubrimos que con mucho menos código, podíamos realizar las mismas tareas con mucha más estabilidad”, añade Soto. El clúster de Amazon DocumentDB más grande de Rappi, compuesto por cinco instancias, que tardó dos semanas en migrar, dio lugar a una mejora significativa del rendimiento y la eficiencia. De hecho, Rappi no ha experimentado ninguna interrupción relacionada con Amazon DocumentDB, y la latencia de las consultas de clasificación ha descendido a 80 ms en el percentil 99. “Ahora”, explica Soto, “los ingenieros tienen tal vez un 5 por ciento de los problemas que tenían antes, y si tienen problemas, es un problema con la lógica o en el lado de la aplicación, no porque Amazon DocumentDB funcione incorrectamente”. Además de proporcionar un mejor rendimiento, la base de datos administrada de Amazon DocumentDB requiere mucho menos mantenimiento y solución de problemas, lo que permite al equipo de la plataforma de datos de Rappi centrarse en actividades de valor agregado que ayudan a que la aplicación progrese.  

Resultado | Estabilidad en tiempos de incertidumbre

Estos cambios beneficiosos en la infraestructura de backend de Rappi se produjeron justo cuando los clientes más necesitaban a Rappi: durante la pandemia de la COVID-19. Afortunadamente, Rappi estaba preparada para gestionar el aumento de pedidos y domicilios. Amazon DocumentDB también ha funcionado con normalidad a pesar del cambio de volumen. “Con todos los cambios que debimos hacer en todas partes para hacer frente a la nueva realidad mundial, no recuerdo haber tenido que hacer nada con respecto a Amazon DocumentDB. Realmente soportó el cambio de carga sin ningún problema, sin requerir prácticamente ningún trabajo por nuestra parte”, indica Soto.

La mayor estabilidad, el rendimiento y las menores necesidades de mantenimiento de Rappi le han permitido centrarse aún más en su futuro. Con las implementaciones actuales y futuras de los servicios de AWS, Rappi está un paso más cerca de ofrecer todo lo que sus clientes necesitan, a tiempo, bajo demanda y a escala.

Acerca de Rappi

Fundada en 2015, Rappi es la primera startup tecnológica de Colombia valorada en más de 5200 millones de dólares. Ofrece servicios de entrega al cliente final bajo demanda para casi cualquier cosa, desde alimentos y ropa hasta seguros y servicios financieros, en nueve países de América Latina.

Servicio de AWS utilizado

Amazon DocumentDB

Amazon DocumentDB (compatible con MongoDB) es un servicio de base de datos de documentos ágil, escalable, de alta disponibilidad y completamente administrado que admite cargas de trabajo de MongoDB. 

Más información »

Más historias de clientes de transporte y logística

no se encontraron elementos 

1

Comenzar

Organizaciones de todos los tamaños y de todos los sectores transforman sus negocios y cumplen sus misiones todos los días con AWS. Contacte nuestros expertos y comience hoy mismo su propia jornada en AWS.