Migración de monolíticos a microservicios: 25% respuesta más rápida

Innowise migró con éxito la plataforma del cliente de una arquitectura monolítica a microservicios, impulsando tanto el backend como el frontend para una mejor escalabilidad y rendimiento.

Cliente

Industria
Sanidad
Región
US
Cliente desde
2023

Nuestro cliente es un servicio de contratación de personal sanitario de primer nivel con sede en EE.UU. que ayuda a los proveedores de atención sanitaria a gestionar las crecientes necesidades de personal y simplificar el proceso de contratación. Por otro lado, los solicitantes de empleo pueden elegir puestos que se ajusten perfectamente a sus horarios y preferencias. Nuestro cliente se dedica a poner en contacto a las personas adecuadas con los puestos de trabajo adecuados.

La información detallada sobre el cliente no puede divulgarse en virtud de las disposiciones del acuerdo de confidencialidad.

Desafío

Satisfacer la creciente demanda sin arruinarse

A medida que el negocio del cliente se expandía rápidamente, se enfrentaba a crecientes retos técnicos y operativos que amenazaban con frenar su progreso. Su sistema monolítico, antaño fiable, tenía dificultades para seguir el ritmo de las crecientes demandas de los centros sanitarios y el personal médico. Como resultado, se enfrentaron a cuellos de botella en el rendimiento, retrasos en el despliegue de funciones e ineficiencias operativas.

El cliente necesitaba una revisión del sistema para seguir creciendo, pero no quería tener un exceso de personal y acumular costes adicionales. Buscaban un socio de externalización de TI que pudiera proporcionar un escalado de recursos flexible basado en tareas y plazos específicos, manteniendo los costes bajo control. Fue entonces cuando Innowise intervino con nuestros conocimientos expertos para volver a encarrilarles.

Solución

Cambio a microservicios para mejorar la escalabilidad y la velocidad

Innowise construyó una arquitectura de microservicios escalable para el cliente, facilitando el crecimiento de su plataforma. Actualizamos tanto el backend como el frontend, por lo que todo funciona sin problemas, se despliega rápidamente y ofrece a los usuarios una experiencia mucho mejor. Además, con las pruebas automatizadas y la entrega continua, nuestros expertos mantuvieron la fiabilidad y el funcionamiento tal y como debían.

Análisis y planificación en profundidad

Innowise comenzó con una auditoría exhaustiva del sistema monolítico del cliente, mapeando los componentes e identificando los cuellos de botella. Trabajamos estrechamente con los equipos del cliente para evaluar las funciones empresariales cruciales y asegurarnos de que todas las necesidades de las partes interesadas estaban cubiertas en la planificación.

Identificamos las áreas que más se beneficiarían de este cambio y creamos una hoja de ruta detallada para la migración. Nuestro equipo también se centró en las estrategias de mitigación de riesgos, preparándose para cosas como los problemas de migración de datos, al tiempo que la empresa seguía funcionando sin problemas durante la transición.

Migración de monolitos a microservicios

Tras una sólida planificación, nuestro equipo inició una migración fluida de un sistema monolítico a microservicios. Dividimos los componentes clave de la plataforma en microservicios independientes, dejando que cada uno escalara por su cuenta. Esta configuración modular solucionó los cuellos de botella de rendimiento, de modo que los servicios podían gestionar los cambios de demanda sin ralentizar toda la plataforma.

También creamos bases de datos específicas de cada servicio para mejorar el flujo de datos y reducir las dependencias que causaban ralentizaciones. Con Kubernetes y Docker, nuestro equipo automatizó el despliegue y el escalado de cada microservicio. De este modo, la plataforma puede gestionar picos de uso sin ningún esfuerzo manual.

Orquestación de servicios y comunicación

Creamos una capa de orquestación de microservicios con Apache Kafka para la comunicación basada en mensajes. De este modo, los servicios se mantuvieron conectados de forma flexible para que pudieran escalar de forma independiente. Gracias a la comunicación asíncrona, nuestros expertos redujeron la latencia y mejoraron la capacidad de respuesta del sistema.

Refactorización del frontend

Mientras mejorábamos el backend, prestamos al frontend la atención que merecía. Nuestro equipo renovó la interfaz de usuario dividiéndola en componentes modulares con Angular, lo que aceleró el desarrollo y permitió añadir funciones sin quebraderos de cabeza. Nuestros especialistas también perfeccionaron la conexión del frontend con el backend mediante API CRUD personalizadas, garantizando actualizaciones en tiempo real y una latencia mínima.

Pruebas de integración

Para mantener estables tanto el código heredado como los nuevos microservicios, creamos un sólido conjunto de pruebas de integración con JUnit. Centramos estas pruebas en interacciones clave como la sincronización de datos y la autenticación de usuarios para evitar fallos al desplegar nuevas funciones.

Al trabajar en nuestro entorno de pruebas existente, realizamos pruebas coherentes en los principales casos de uso. Cada prueba examinó a fondo cómo interactuaban los componentes nuevos y heredados, reduciendo los riesgos de migración y aumentando la estabilidad de la plataforma.

Tecnologías

Frontend

Angular, TypeScript

Backend

Java 11

Contenedores

Docker, Docker Compose, Kubernetes

VCS

VCS: Git, BitBucket</span

Pruebas

JUnit

Cloud

Azure

Proceso

Para este proyecto, seguimos una metodología Scrum adaptada a las necesidades del cliente, con sprints de dos semanas para mantener el progreso en el buen camino. Nuestro equipo utilizó Jira para supervisar cada tarea, proporcionando una visibilidad completa de los hitos y los entregables del proyecto. La coordinación diaria a través de Slack mantuvo al equipo conectado, lo que nos permitió abordar los problemas con rapidez.

Nuestro gestor de proyectos celebró reuniones semanales de Zoom con el cliente, en las que se compartieron actualizaciones detalladas sobre el desarrollo, se habló de cualquier reto y se recogieron comentarios para mantener a todo el mundo sincronizado. Este enfoque de eficacia probada redujo al mínimo el tiempo de inactividad y mantuvo el progreso constante durante todo el proyecto.

Equipo

1

Jefe de proyecto

1

Arquitecto de software

3

Desarrolladores Java

2

Angular
Desarrolladores

2

Ingenieros DevOps

2

Ingenieros de QA

1

Analista de
negocio

Resultados

30% operaciones más fluidas y 25% tiempos de respuesta más rápidos

Nuestro equipo renovó la plataforma del cliente, aumentando la eficiencia operativa en 30%. Ahora el sistema gestiona más solicitudes sin ralentizarse. Al cambiar a una arquitectura de microservicios, los tiempos de respuesta se redujeron en 25%, de modo que los profesionales sanitarios pudieron conectar con el personal médico disponible de forma más rápida y fiable.

La automatización de la implantación y el escalado redujo el esfuerzo manual y los costes operativos, lo que permitió al cliente gestionar los picos de demanda sin necesidad de personal adicional ni de aumentar los gastos de infraestructura.

Además, pruebas automatizadas redujo los fallos del sistema en 35%, haciendo la plataforma mucho más estable. Ahora las nuevas funciones pueden desplegarse sin problemas y sin interrumpir los servicios en curso.

Duración del proyecto
  • Octubre 2023 - Mayo 2024

25%

tiempos de respuesta más rápidos

30%

aumento de la eficacia operativa

Contáctenos

Reservar una llamada o rellene el siguiente formulario y nos pondremos en contacto con usted cuando hayamos procesado su solicitud.

    Por favor, facilítenos detalles del proyecto, duración, tecnologías, especialistas informáticos necesarios y otra información relevante.
    Grabe un mensaje de voz sobre su proyecto
    para ayudarnos a comprenderlo mejor.
    Adjunte los documentos adicionales si es necesario
    Cargar archivo

    Puede adjuntar hasta 1 archivo de 2 MB en total. Archivos válidos: pdf, jpg, jpeg, png

    Le informamos de que cuando haga clic en el botón Enviar, Innowise procesará sus datos personales de acuerdo con nuestra Política de privacidad con el fin de proporcionarle la información adecuada.

    ¿Qué pasa después?

    1

    Una vez recibida y procesada su solicitud, nos pondremos en contacto con usted para detallar las necesidades de su proyecto y firmar un acuerdo de confidencialidad que garantice la confidencialidad de la información.

    2

    Después de examinar los requisitos, nuestros analistas y desarrolladores elaboran una propuesta de proyecto con el alcance de las obras, el tamaño del equipo, el tiempo y las estimaciones de costos.

    3

    Concertamos una reunión con usted para discutir la oferta y llegar a un acuerdo.

    4

    Firmamos un contrato y comenzamos a trabajar en su proyecto lo más rápido posible.

    ¡Спасибо!

    Cообщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Gracias.

    Su mensaje ha sido enviado.
    Procesaremos su solicitud y nos pondremos en contacto con usted lo antes posible.

    Gracias.

    Su mensaje ha sido enviado. 

    Procesaremos su solicitud y nos pondremos en contacto con usted lo antes posible.

    flecha