Caso práctico: Optimización de los procesos de implementación interna para la infraestructura de UniCredit Bulbank

Hemos optimizado los procesos de implementación de UniCredit Bulbank mediante el uso de tecnologías avanzadas como Kubernetes, Helm, Jenkins y Trivy.

Servicio
Soluciones Cloud y DevOps
PublicadoFeb 2024

Nuestra solución

Los procesos de implementación eficientes son esenciales para garantizar la entrega fluida de productos de software en el vertiginoso panorama tecnológico actual. UniCredit Bulbank, una institución financiera líder en Bulgaria, reconoció la necesidad de contar con un canal de implementación optimizado para mejorar la productividad y la fiabilidad en su ciclo de vida de desarrollo de software. Colaboraron con nuestro equipo de desarrollo interno en DSS para diseñar un proceso de implementación integral con el fin de alcanzar este objetivo. 

Descripción general del proceso de implementación

Nuestro proceso de implementación interno sigue una serie de pasos meticulosos para garantizar la calidad y la seguridad de las versiones de software. El proceso se puede dividir en las siguientes etapas:

  1. Auditoría y pruebas de dependencias: El proceso comienza dentro de nuestra infraestructura interna de Kubernetes, donde auditamos las dependencias y realizamos pruebas para garantizar que se cumplan los estándares de calidad antes de la implementación.
  2. Análisis de código estático con SonarQube: tras superar las pruebas, el proyecto se somete a un análisis de código estático exhaustivo utilizando SonarQube. Este paso ayuda a identificar y rectificar posibles problemas de calidad del código en una fase temprana del desarrollo.
  3. Creación de imágenes Docker: tras superar todas las pruebas y análisis, procedemos a crear imágenes Docker que encapsulan la aplicación y sus dependencias. Esto garantiza la coherencia y la portabilidad en diferentes entornos.
  4. Escaneo de seguridad con Trivy: Empleamos Trivy para realizar escaneos de seguridad en las imágenes Docker, identificando y abordando cualquier vulnerabilidad antes de la implementación.
  5. Implementación con Helm Charts: Aprovechando Helm Charts, orquestamos la implementación de aplicaciones en nuestra infraestructura interna de Kubernetes. Helm Charts proporciona una forma cómoda y reproducible de gestionar las aplicaciones de Kubernetes.
  6. Integración con Jenkins: nuestro proceso de implementación se integra perfectamente con Jenkins, utilizando pods de Kubernetes como agentes. Jenkins automatiza todo el proceso, desde la auditoría y las pruebas hasta la creación y la implementación, lo que garantiza la coherencia y la eficiencia. 

Extensión a la infraestructura de UniCredit

La colaboración con UniCredit Bulbank amplía a la perfección nuestro proceso de implementación a su infraestructura. Cuando se realizan confirmaciones en una rama específica, Jenkins activa una tarea para confirmar en el repositorio de UniCredit. A continuación, su instancia de Jenkins refleja nuestro proceso, incluyendo la auditoría, las pruebas, el análisis de SonarQube, la creación de imágenes de Docker, el escaneo de seguridad de Trivy y el envío al repositorio de imágenes.

Sin embargo, el objetivo de implementación es diferente, ya que Jenkins de UniCredit se implementa en su infraestructura Openshift. Esto garantiza que las versiones de software se sometan a las mismas pruebas y controles rigurosos antes de su implementación en los entornos de UniCredit.

Supervisión y visibilidad

Para garantizar ciclos de implementación fluidos e ininterrumpidos, todos los registros están fácilmente disponibles en la instancia de Grafana de UniCredit para la supervisión y la resolución de problemas en tiempo real, lo que mantiene la transparencia y la visibilidad durante todo el proceso de implementación.

Coherencia entre entornos

Cabe destacar que se mantiene el mismo proceso de implementación tanto para los entornos internos de desarrollo y pruebas como para los entornos de pruebas y producción de UniCredit. Esta coherencia garantiza que las versiones de software mantengan el mismo nivel de calidad y seguridad en todas las etapas del ciclo de vida de la implementación. 

Conclusión

La colaboración entre nuestro equipo de desarrollo interno y UniCredit Bulbank ejemplifica la importancia de contar con procesos de implementación sólidos en el desarrollo de software moderno. Hemos optimizado los procesos de implementación aprovechando tecnologías avanzadas como Kubernetes, Helm, Jenkins y Trivy, lo que garantiza una entrega rápida y fiable de los productos de software. Esta asociación no solo mejora la productividad y la eficiencia, sino que también refuerza nuestro compromiso de ofrecer soluciones de alta calidad que cumplan con los estrictos estándares del sector financiero. 

Más casos de estudio

Creación de una infraestructura Azure escalable para cursos y tutorías en línea: un caso práctico

Creación de una infraestructura Azure escalable para cursos y tutorías en línea: un caso práctico

Este caso práctico analiza la arquitectura de una infraestructura de Azure diseñada específicamente para una plataforma que ofrece cursos en línea y...

Cuéntanos sobre tu proyecto

Nos entusiasma conocer más sobre tu empresa y tus retos. Escríbenos sobre tu proyecto, estamos aquí para ayudarte.

Qué esperar

Contáctanosy nos pondremos en contacto contigo en un plazo de 24 horas

Reúnete con nosotrospara hablar sobre tu visión y tus objetivos

Consigue un equipo dedicadode DSS que trabajará en tu proyecto