Talabat mejora la fiabilidad de la base de datos en un 60 %, a la vez que aumenta el rendimiento de la aplicación en un 20 %, gracias a Amazon Aurora y Amazon ElastiCache

2022

Desde su creación en 2004, Talabat, una empresa de reparto de comida en línea, ha experimentado un crecimiento constante. En 2020, la principal base de datos del servidor SQL de Talabat había alcanzado los 2,5 TB y crecía rápidamente. Sin embargo, a medida que la empresa crecía, su infraestructura monolítica local comenzaba a sufrir problemas de latencia y conectividad.

kr_quotemark

Una de las razones por las que elegimos Amazon Aurora fue la tecnología sin servidor y la escalabilidad que aporta su uso”.

Ashif Shaikh
Administrador sénior de bases de datos de Talabat

Talabat era consciente de que alcanzar la meta de crecimiento implicaría que la empresa pronto excedería las capacidades de su infraestructura local. La empresa ya había seleccionado Amazon Web Services (AWS) para ejecutar la aplicación Talabat debido a la gran variedad de servicios que AWS ofrece, por lo que la empresa decidió aprovechar las posibilidades que brinda la nube al utilizar AWS para ejecutar el resto de su infraestructura. Como resultado, Talabat logró una mejora de más del 20 por ciento en el rendimiento general de la aplicación, registró una mejora de más del 60 por ciento en la fiabilidad de la base de datos y recuperó tiempo y recursos de la empresa para dedicarlos a la innovación y a la transformación general del negocio.

Problemas con la infraestructura local

Talabat se fundó en Kuwait, pero desde entonces se ha expandido para prestar servicios en nueve países de Oriente Medio. Gran parte de ese crecimiento se produjo después de 2018, cuando la empresa comenzó a utilizar AWS para ejecutar la aplicación de reparto de alimentos. A medida que Talabat crecía, era consciente de que necesitaría hacer cambios para ofrecer un mejor servicio a sus clientes. Sin embargo, su capacidad de ampliar la infraestructura local era limitada. “De acuerdo con nuestra meta de crecimiento, nos percatamos de que íbamos a alcanzar el límite con bastante rapidez”, afirma Adel Khalil, vicepresidente de ingeniería de Talabat. “Incluso después de que el equipo agotara todas las optimizaciones que podía hacer con nuestra configuración existente de la base de datos, sabíamos que en un determinado mes llegaríamos al límite”.

La empresa comenzó a modernizar servicios críticos para resolver problemas de latencia y conectividad. Sin embargo, a raíz de la llegada de la pandemia de la COVID-19, Talabat vivió un repentino crecimiento, y su centro de datos local no fue capaz de gestionar el aumento de tráfico. “Crecíamos muy rápidamente”, comenta Khalil. “Esto planteaba numerosos desafíos, tanto desde el punto de vista tecnológico como desde el punto de vista del personal”. Para ofrecer una mejor experiencia a los clientes y simplificar el mantenimiento de los servidores y las tareas operativas, Talabat decidió migrar completamente a AWS y modernizarse a medida que avanzaba. 

Migrar a una base de datos completamente administrada para ahorrar costos y tiempo

Para migrar a la nube de forma rápida y sin causar mayores interrupciones, Talabat optó por hacer una migración mediante lift-and-shift, que comenzó en la segunda mitad de 2020. Para migrar y modernizar completamente las bases de datos en AWS a medida que avanzaba, la compañía participó en el AWS Migration Acceleration Program (AWS MAP), un programa de migración a la nube completo y probado, basado en la experiencia adquirida por AWS tras la migración de miles de clientes empresariales a la nube.

Para sustituir la base de datos del servidor SQL, Talabat eligió Amazon Aurora, una base de datos relacional compatible con MySQL y PostgreSQL creada para la nube que combina el rendimiento y la disponibilidad de las bases de datos empresariales tradicionales con la sencillez y la rentabilidad de las bases de datos de código abierto. “Una de las razones por las que elegimos Aurora fue la tecnología sin servidor y la escalabilidad que aporta su uso”, explica Ashif Shaikh, administrador sénior de bases de datos en Talabat. “Permite ahorrar mucho tiempo y costos”.

Talabat se percató de que muchas de sus consultas de Aurora se podían almacenar en caché, por lo que la empresa optó por utilizar Amazon ElastiCache, un servicio de almacenamiento en caché en memoria completamente administrado que admite casos de uso flexibles y casi en tiempo real. El uso de Amazon ElastiCache mejoró aún más el rendimiento de Aurora durante la migración al reducir la latencia y aliviar la carga de la base de datos backend. Talabat también recurrió a AWS Elastic Beanstalk, un servicio fácil de usar para implementar y escalar aplicaciones y servicios web. “Uno de los servicios que desempeñó un gran papel para nosotros durante la migración fue AWS Elastic Beanstalk”, explica Oluwaseun Obajobi, jefe de la tribu de la fundación en Talabat. “Usarlo nos permitió ahorrar mucho tiempo en términos de refactorización e hizo que la migración fuera mucho más sencilla”. La migración se completó en mayo de 2021.

Utilizar una base de datos completamente administrada ha simplificado también las tareas operativas cotidianas de Talabat. “Antes, para aumentar la capacidad de los servidores físicos, teníamos que desmontar el servidor, trasladar la base de datos y devolverla al servidor”, dice Shaikh. “Era un gran esfuerzo. Ahora, podemos hacerlo sobre la marcha gracias a AWS”. Antes, Talabat tardaba entre dos y tres semanas en aprovisionar una nueva base de datos. Una capacidad limitada de la red también afectaba a la experiencia de los clientes. “Al cambiar a una base de datos administrada en AWS, ya ni siquiera tenemos que preocuparnos por esto”, dice Obajobi. “Podemos aprovisionar un servidor nuevo con tan solo un clic. E incluso cuando hay bastante tráfico, se escala con un impacto mínimo en el cliente”. Al utilizar Aurora y Amazon ElastiCache conjuntamente, se ha logrado una mejora de más del 60 por ciento en la fiabilidad de la base de datos y de más del 20 por ciento en el rendimiento general de la aplicación.

Además, Talabat ahora puede observar completamente su base de datos. Antes, para supervisar una base de datos, la empresa tenía que iniciar sesión en esta y ejecutar consultas manuales. “Una de las cosas que nos faltaba con nuestra antigua base de datos era la observabilidad”, afirma Obajobi. “Nos resultaba muy difícil detectar si había algún problema, ya fuera relacionado con la base de datos, la conexión o la aplicación”. Ahora, mediante Aurora, cualquiera que tenga acceso de control puede comprobar rápidamente las consultas y tomar medidas. Talabat ha logrado pasar varios trimestres consecutivos sin incidentes de escalabilidad relacionados con la base de datos.

Para que sus ingenieros y desarrolladores se familiarizaran mejor con el entorno de AWS, Talabat participó en AWS Training and Certification, que ayuda a las personas a adquirir y validar conocimientos para aprovechar mejor la nube. El plan de formación consistía en mejorar los conocimientos de los equipos de Talabat en materia de análisis de datos y administración de bases de datos. Los ingenieros y desarrolladores ahora tienen la capacidad de administrar mejor el entorno, lo que fomenta la innovación. “La formación fue un gran éxito”, dice Obajobi. “Gran parte de nuestra cultura se basa en la filosofía de que si usted lo crea, usted lo ejecuta”. Al presentar esta formación sobre AWS, nos dimos cuenta de que el equipo de desarrollo se sentía mucho más seguro a la hora de elegir la herramienta adecuada”.

No dejar de crear sobre una base sólida

Talabat tiene previsto mantener el uso de AWS para mejorar su solución. “Una de las preguntas que siempre nos hacemos es: “¿Hay una forma mejor de hacer esto?”, comenta Khalil. “Siempre intentamos averiguar si existe un nuevo servicio o actualización que nos facilite la vida”.

En los próximos 12-18 meses, la empresa espera utilizar AWS para distribuir su carga de trabajo en varias regiones. Esto permitiría a Talabat expandirse a otros países cercanos o incluso a nivel mundial. “Cuando nuestros servicios se ejecutan en varias regiones, tenemos la posibilidad de prestar servicios a clientes que se encuentran en regiones cercanas a estas”, explica Obajobi. “Gracias a AWS, contamos con esa flexibilidad”.


Acerca de Talabat

Fundada en Kuwait en 2004, Talabat es una empresa de reparto de comida y alimentos que conecta a los clientes con sus restaurantes favoritos. La aplicación de Talabat opera en Kuwait, Arabia Saudí, Emiratos Árabes Unidos, Baréin, Omán, Qatar, Jordania, Egipto e Irak.

Beneficios de AWS

  • Se mejoró la fiabilidad de la base de datos en un 60 %
  • Se mejoró el rendimiento general de la aplicación en más de un 20 %
  • Varios trimestres consecutivos sin incidentes de escalabilidad relacionados con la base de datos
  • Ahorro de tiempo y costos relacionados con la administración de la base de datos
  • Mayor escalabilidad
  • Los empleados han mejorado sus conocimientos sobre el análisis de datos y la administración de bases de datos.
 

Servicios de AWS utilizados

Programa de aceleración de la migración a AWS

El Programa de aceleración de la migración (MAP) de AWS es un programa de migración a la nube completo y probado que se basa en la experiencia de AWS para migrar miles de clientes empresariales a la nube. 

Más información »

Amazon Aurora

Amazon Aurora es una base de datos relacional compatible con MySQL y PostgreSQL creada para la nube, que combina el rendimiento y la disponibilidad de las bases de datos empresariales tradicionales con la simplicidad y la rentabilidad de las bases de datos de código abierto.

Más información »

Amazon ElastiCache

Amazon ElastiCache es un servicio de almacenamiento de caché en memoria completamente administrado que admite casos de uso flexibles y en tiempo real. Puede utilizar ElastiCache para el almacenamiento en caché, lo que acelera el rendimiento de la aplicación y la base de datos, o como un almacén de datos primario para los casos de uso que no requieren durabilidad, como los almacenes de sesión, las tablas de clasificación de juegos, el streaming y el análisis.

Más información »

AWS Elastic Beanstalk

AWS Elastic Beanstalk es un servicio fácil de utilizar para implementar y escalar aplicaciones y servicios web desarrollados con Java, .NET, PHP, Node.js, Python, Ruby, Go y Docker en servidores familiares, como Apache, Nginx, Passenger e IIS.

Más información »

Más historias de clientes de viajes y hostelería

no se han encontrado 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.