Pioneros del cambio

Lo que se necesita para transformar una aplicación.
Nuestro cliente, una multinacional estadounidense, presta servicios de gestión de personal y recursos humanos. Ofrecen una serie de funciones para ayudar a las organizaciones a gestionar a sus empleados, lo que incluye el seguimiento de su tiempo y asistencia.

El reto

El requisito era crear una aplicación en una arquitectura diferente para utilizar herramientas, armonizada con el conjunto de herramientas estándar del cliente, sin automatización alguna. Dado que la aplicación emplea una arquitectura de microservicios, había que crear y desplegar varios servicios varias veces al día para probarlos en el entorno de desarrollo antes de desplegarlos para producción.

Un portátil muestra varios gráficos en una reunión

an icon that depicts limited knowledge of app architecture

Conocimiento limitado de la arquitectura de aplicaciones y los servicios implicados.

An icon representing adapting to service changesAdaptarse a los cambios de servicio, aplicar la segregación de servicios y establecer mecanismos seguros de gestión de secretos.
An icon representing absence of best practicesAusencia de mejores prácticas establecidas y de normalización.
navigating-iconNavegar por el intrincado proceso de adaptación de la arquitectura mientras se trabaja con conocimientos limitados y componentes a nivel de red.
deployment-iconGestión eficaz de la creación y despliegue de aplicaciones, con especial énfasis en la gestión de imágenes.

La solución

El viaje de Nagarro para superar con éxito todos estos retos comenzó con un esfuerzo de colaboración con nuestro cliente, en el que primero trazamos una estrategia de migración de aplicaciones meticulosamente planificada. Nuestra dedicación a ofrecer un servicio de primera calidad nos llevó a superar todos los retos adoptando un enfoque deliberado y por fases.

Elaboramos cuidadosamente una arquitectura de proyecto de host y de servicio, segregando eficazmente los recursos de red en el proyecto de host y los recursos de aplicación en el proyecto de servicio. Para reforzar la seguridad, implantamos un cortafuegos de última generación para dirigir el tráfico de forma inteligente al proyecto de servicio.

Un hombre y una mujer mirando la pantalla de un portátil

La fase de aplicación

Aprovechamos la potencia de Terraform para agilizar los despliegues de infraestructura y creamos gráficos Helm para las aplicaciones con el fin de garantizar su coherencia y escalabilidad. Los despliegues múltiples en producción se gestionaron hábilmente mediante trabajos Jenkins, ya que creamos trabajos que se integraban con el escaneado de imágenes, etiquetábamos la imagen finalizada y la desplegábamos en un entorno diferente con la ayuda de gráficos Helm.

También creamos un trabajo Jenkins de rollout y rollback con un solo clic para manejar más de 1000 variables de entorno y secretos. Esta configuración nos proporcionó la flexibilidad necesaria para actualizar o añadir nuevos microservicios con el mínimo esfuerzo. Definimos una estrategia de lanzamiento adecuada para desplegar nuevas funciones. También implementamos la función de etiquetado con cada imagen, que identifica las correcciones que van en la versión con un solo número, lo que nos ayuda en caso de cualquier requisito de reversión.

Para garantizar un registro completo y centralizado, aprovechamos Splunk, reenviando sin problemas los registros de las aplicaciones desde Cloud Logging mediante un modelo Pub-Sub.

Este meticuloso diseño nos permitió configurar nuevos entornos y servicios de aplicaciones con facilidad. Para vigilar el rendimiento y abordar los problemas de forma proactiva, implementamos Cloud Monitoring con Grafana y PagerDuty para abordar los problemas de producción incluso antes de su posible escalada. Hoy en día, nuestro sistema opera en ocho entornos diversos a través de múltiples proyectos GCP, incluyendo cuatro entornos de producción robustos, situados en regiones distintas. Con una demanda creciente de entornos adicionales, estamos preparados para expandirnos y satisfacer las necesidades cambiantes de nuestros clientes.

Se adoptaron una serie de medidas estratégicas para mejorar significativamente nuestras operaciones DevOps. En primer lugar, hemos estandarizado el proceso de aprovisionamiento de infraestructuras, lo que ha aportado un nuevo nivel de coherencia y eficiencia.

Además, racionalizamos el proceso de creación y despliegue de microservicios, reduciendo las complejidades que antes obstaculizaban nuestra agilidad. Para mejorar aún más nuestras capacidades operativas, establecimos un sólido mecanismo de lanzamiento e implantamos sistemas integrales de supervisión y alerta para nuestras aplicaciones.

Impacto empresarial

Como resultado de todos nuestros esfuerzos, varios parámetros clave de DevOps han experimentado mejoras notables:

An icon for result

Frecuencia de despliegue

Nuestra capacidad para desplegar productos a los usuarios finales ha aumentado sustancialmente. Esta mayor frecuencia de despliegue refleja la agilidad de nuestra organización para responder a las cambiantes demandas del mercado y nuestra disposición a la experimentación.

An icon for result

Plazos de cambio

El tiempo necesario para aplicar los cambios se ha reducido considerablemente. Esta rápida capacidad de respuesta a las cambiantes demandas del mercado no sólo mejora nuestra ventaja competitiva, sino que también disminuye los riesgos asociados a las implantaciones frecuentes.

An icon for result

Tiempo de restauración de un servicio (MTTR)

El tiempo que se tarda en recuperarse de los fallos de producción se ha reducido al mínimo mediante una combinación de automatización perfecta, supervisión holística y colaboración eficaz. Esto garantiza que podamos abordar y rectificar rápidamente cualquier problema potencial.

An icon for result

Índice de fallos de cambios (CFR)

Hemos reducido notablemente el número de implantaciones de software que provocan fallos de producción que requieren reparación. Esto refleja una mejora de nuestras medidas de control de calidad y un proceso de lanzamiento más fluido, lo que se traduce en lanzamientos de software más fiables.

Esta página utiliza traducción basada en inteligencia artificial. ¿Necesita ayuda humana? Contáctenos