Reduciendo a la Mitad Tu CI Pipeline – Estrategias Prácticas de Optimización

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2026
November 17 - 20, 2026
New York, US & Online
Upcoming event
React Summit US 2026
React Summit US 2026
November 17 - 20, 2026. New York, US & Online
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Get started

Cada minuto añadido a tu CI pipeline cuesta dinero real y tiempo real de desarrollador. Con aproximadamente 45 MRs por día y alrededor de 340 ejecuciones de pipeline, un solo minuto de sobrecarga de pipeline se traduce en casi 6 horas de tiempo de ingeniería perdido diariamente. Esta charla presenta el manual completo que utilizamos para reducir nuestro Merge Train pipeline de aproximadamente una hora a aproximadamente 22 minutos — una reducción del ~64% — mientras mejoramos la salud de CI del bajo 80% al bajo 90%. Cubriendo la migración de instancias de cómputo (con datos de referencia reales de 10 ejecuciones por configuración), extracción de pruebas de servicio, optimización de CloudWatch, almacenamiento en caché de linter, detección de pruebas inestables y análisis de costos, los asistentes se van con un marco priorizado para sus propios esfuerzos de optimización de CI. Cada optimización incluye métricas antes y después, impacto en los costos y los compromisos que navegamos.

This talk has been presented at JSNation 2026, check out the latest edition of this JavaScript Conference.

Serhii Yakovenko
Serhii Yakovenko
10 min
15 Jun, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Serhii discute la optimización de CI pipelines priorizando cambios impactantes, reduciendo un merge train pipeline de una hora a 22 minutos a través de enfoques estructurados, y enfocándose en las tasas de fallos para mejorar la confianza del desarrollador y la fiabilidad del sistema. Añadir trabajadores y optimizar el uso de Chrome en entornos de prueba redujo el tiempo de ejecución del merge train al repriorizar recursos y mejorar la eficiencia. Se logró un CI más rápido al reducir el peso innecesario, mantener la confianza y optimizar los mecanismos de reintento de pruebas para mejorar la estabilidad y la velocidad. Contrariamente a la intuición, gastar más en infraestructura llevó a una reducción del 64% en el tiempo de merge train y un aumento del 12% en la salud de CI, enfatizando la importancia de optimizar para el costo total más bajo y no solo el costo de CI. Priorizar por retorno, no por conveniencia. Optimizar el sistema para la velocidad, estabilidad y compensación de costos para lograr mejoras significativas en el tiempo de merge train y el rendimiento del conjunto de pruebas. Medir la eficiencia del pipeline para identificar proyectos de ingeniería de alto retorno.

1. Optimizing CI Pipelines for Efficiency

Short description:

Serhii discute la optimización de los pipelines de CI priorizando los cambios impactantes, reduciendo un pipeline de merge train de una hora a 22 minutos mediante enfoques estructurados y enfocándose en las tasas de fallos para mejorar la confianza de los desarrolladores y la fiabilidad del sistema.

Hola, soy Serhii, y hoy vamos a hablar sobre cómo podemos reducir a la mitad tu pipeline de CI con algunas estrategias prácticas de optimización. En nuestra organización, con alrededor de 50 solicitudes de merge al día y 400 pipelines ejecutados, incluidos los merge trains, un minuto de sobrecarga en tu pipeline de CI cuesta casi seis a siete horas de tiempo de ingeniería cada día. Ahora, puedes pensar en tu organización y escalar esto en consecuencia. Esta es una charla sobre cómo reducimos nuestro pipeline de merge train de aproximadamente una hora a 22 minutos. Es una reducción del 64% utilizando un enfoque estructurado priorizado por ROI.

Cinco áreas en el orden en que las usamos, con números reales para nuestro SaaS legal tech de 400 personas donde la mitad de las personas son desarrolladores. Así que esta fue nuestra línea de partida. Pipeline de merge train, aproximadamente una hora. Salud de CI, la tasa de éxito sin reintentos es de alrededor del 82%, $16,000 al mes en AWS compute. Y la queja tonta en nuestra encuesta de experiencia de desarrollador fue simplemente la velocidad del pipeline. Así que el número que más importaba no era la duración, era la tasa de fallos. Casi uno de cada cinco intentos de merge fallaba.

Los reintentos se convirtieron en memoria muscular. La gente dejó de confiar en el sistema. Una vez que los desarrolladores dejaron de confiar en CI, todas las demás métricas de ingeniería comenzaron a deslizarse, también. Ahora, la mayoría de los equipos abordan la optimización de CI generalmente al revés. Comienzan con victorias rápidas y fáciles porque las victorias rápidas se pueden implementar en una tarde. Yo en realidad comencé diferente. Así que comenzamos con una tabla, cada posible optimización calificada por el tiempo esperado de ahorro, esfuerzo y riesgo. Así que la migración de instancias fue la mayor palanca única.

12 minutos, así que fue primero. Ajustes de observabilidad en un minuto y medio fueron después, aunque eran los más fáciles. Así que nos enfocamos primero en el alto impacto, victorias rápidas en paralelo, y ajustes finos al final. Elige las batallas correctas antes de lucharlas. La mayor victoria única vino de la migración de instancias de cómputo para nuestra característica, o de extremo a extremo para probar, como los llames, que siempre se consideran lentos, inestables y pesados. Probé tres configuraciones diferentes alrededor de 10 ejecuciones cada una porque un pipeline lento puede arruinar tu promedio. Así que la primera instancia fue C7a basada en AMD, promedió 25 minutos, pero en realidad osciló entre 22 a 32 minutos, realmente muy variado. La segunda opción fue C7i basada en Intel, y en general fue más lenta, 27 minutos, pero la variación fue solo de 24 a 30. Así que en realidad elegimos Intel. ¿Por qué? En un merge train, la variación es más dañina que el rendimiento medio.

2. Resource Optimization for Faster CI Runs

Short description:

Agregar trabajadores y optimizar el uso de Chrome en entornos de prueba redujo el tiempo de ejecución del merge train al repriorizar recursos y mejorar la eficiencia.

Una sola ejecución lenta bloquea cada merge detrás. Así que tomamos una decisión. Y también, añadimos algunos trabajadores adicionales al C7i, y llegamos a 22 a 36 en promedio, 12 minutos y medio de cada ejecución de merge train.

El siguiente nivel fue el dimensionamiento del entorno de prueba. Teníamos 30 nodos de prueba, y todos llevaban Chrome. Esto tenía sentido para pruebas de características y/o de extremo a extremo, pero no para pruebas de servicio, que nunca abren el navegador. Chrome nos costaba aproximadamente 0.4 gigabytes por trabajador. En todo el pool antiguo, eso era alrededor de 12 gigabytes de sobrecarga del navegador.

No pudimos eliminar todo porque la mayoría de las pruebas aún necesitan Chrome, pero movimos las diapositivas de prueba de servicio a nodos ligeros sin navegador y mantuvimos Chrome solo donde realmente era necesario. Eso recuperó alrededor de 2 gigabytes por ejecución y tomó alrededor de tres minutos del merge train. El único riesgo era la confianza. Cuando divides un conjunto, puedes dejar de probar algo accidentalmente. Así que añadimos un validador de cobertura de línea y rama como barandilla.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Elevando Monorepos con los Espacios de Trabajo de npm
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Elevando Monorepos con los Espacios de Trabajo de npm
Top Content
NPM workspaces help manage multiple nested packages within a single top-level package, improving since the release of NPM CLI 7.0. You can easily add dependencies to workspaces and handle duplications. Running scripts and orchestration in a monorepo is made easier with NPM workspaces. The npm pkg command is useful for setting and retrieving keys and values from package.json files. NPM workspaces offer benefits compared to Lerna and future plans include better workspace linking and adding missing features.
Automatizando Todo el Código y las Pruebas con GitHub Actions
React Advanced 2021React Advanced 2021
19 min
Automatizando Todo el Código y las Pruebas con GitHub Actions
Top Content
We will learn how to automate code and testing with GitHub Actions, including linting, formatting, testing, and deployments. Automating deployments with scripts and Git hooks can help avoid mistakes. Popular CI-CD frameworks like Jenkins offer powerful orchestration but can be challenging to work with. GitHub Actions are flexible and approachable, allowing for environment setup, testing, deployment, and custom actions. A custom AppleTools Eyes GitHub action simplifies visual testing. Other examples include automating content reminders for sharing old content and tutorials.
Ajustando DevOps para las Personas sobre la Perfección
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Ajustando DevOps para las Personas sobre la Perfección
Top Content
DevOps is a journey that varies for each company, and remote work makes transformation challenging. Pull requests can be frustrating and slow, but success stories like Mateo Colia's company show the benefits of deploying every day. Challenges with tools and vulnerabilities require careful consideration and prioritization. Investing in documentation and people is important for efficient workflows and team growth. Trust is more important than excessive control when deploying to production.
¿Por qué es tan lento el CI?
DevOps.js Conf 2022DevOps.js Conf 2022
27 min
¿Por qué es tan lento el CI?
Slow CI has a negative impact on productivity and finances. Debugging CI workflows and tool slowness is even worse. Dependencies impact CI and waiting for NPM or YARN is frustrating. The ideal CI job involves native programs for static jobs and lightweight environments for dynamic jobs. Improving formatter performance and linting is a priority. Performance optimization and fast tools are essential for CI and developers using slower hardware.
La filosofía de Yarn
DevOps.js Conf 2022DevOps.js Conf 2022
31 min
La filosofía de Yarn
Let's talk about React and TypeScript, Yarn's philosophy and long-term relevance, stability and error handling in Yarn, Yarn's behavior and open source sustainability, investing in maintenance and future contributors, contributing to the JavaScript ecosystem, open-source contribution experience, maintaining naming consistency in large projects, version consistency and strictness in Yarn, and Yarn 4 experiments for performance improvement.
Despliegue Atómico para Hipsters de JavaScript
DevOps.js Conf 2024DevOps.js Conf 2024
25 min
Despliegue Atómico para Hipsters de JavaScript
This Talk discusses atomic deployment for JavaScript and TypeScript, focusing on automated deployment processes, Git hooks, and using hard links to copy changes. The speaker demonstrates setting up a bare repository, configuring deployment variables, and using the post-receive hook to push changes to production. They also cover environment setup, branch configuration, and the build process. The Talk concludes with tips on real use cases, webhooks, and wrapping the deployment process.

Workshops on related topic

Deploying React Native Apps in the Cloud
React Summit 2023React Summit 2023
88 min
Deploying React Native Apps in the Cloud
Top Content
WorkshopFree
Cecelia Martinez
Cecelia Martinez
Desplegar aplicaciones de React Native manualmente en una máquina local puede ser complejo. Las diferencias entre Android e iOS requieren que los desarrolladores utilicen herramientas y procesos específicos para cada plataforma, incluidos los requisitos de hardware para iOS. Los despliegues manuales también dificultan la gestión de credenciales de firma, configuraciones de entorno, seguimiento de lanzamientos y la colaboración en equipo.
Appflow es la plataforma de DevOps móvil en la nube creada por Ionic. Usar un servicio como Appflow para construir aplicaciones de React Native no solo proporciona acceso a potentes recursos informáticos, sino que también puede simplificar el proceso de despliegue al proporcionar un entorno centralizado para gestionar y distribuir tu aplicación a múltiples plataformas. Esto puede ahorrar tiempo y recursos, permitir la colaboración, así como mejorar la fiabilidad y escalabilidad general de una aplicación.
En esta masterclass, desplegarás una aplicación de React Native para su entrega a dispositivos de prueba Android e iOS utilizando Appflow. También aprenderás los pasos para publicar en Google Play y Apple App Stores. No se requiere experiencia previa en el despliegue de aplicaciones nativas, y obtendrás una comprensión más profunda del proceso de despliegue móvil y las mejores prácticas sobre cómo usar una plataforma de DevOps móvil en la nube para enviar rápidamente a escala.
Despliegue de Aplicación MERN Stack en Kubernetes
DevOps.js Conf 2022DevOps.js Conf 2022
152 min
Despliegue de Aplicación MERN Stack en Kubernetes
Workshop
Joel Lord
Joel Lord
Desplegar y gestionar aplicaciones JavaScript en Kubernetes puede volverse complicado. Especialmente cuando una base de datos también debe formar parte del despliegue. MongoDB Atlas ha facilitado mucho la vida de los desarrolladores, sin embargo, ¿cómo se integra un producto SaaS con su clúster de Kubernetes existente? Aquí es donde entra en juego el Operador de MongoDB Atlas. En este masterclass, los asistentes aprenderán cómo crear una aplicación MERN (MongoDB, Express, React, Node.js) localmente y cómo desplegar todo en un clúster de Kubernetes con el Operador de Atlas.
Azure Static Web Apps (SWA) con Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
13 min
Azure Static Web Apps (SWA) con Azure DevOps
Workshop
Juarez Barbosa Junior
Juarez Barbosa Junior
Las Azure Static Web Apps se lanzaron a principios de 2021 y, de forma predeterminada, pueden integrar su repositorio existente y implementar su aplicación web estática desde Azure DevOps. Este masterclass demuestra cómo publicar una Azure Static Web App con Azure DevOps.
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
163 min
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
Workshop
Alex Korzhikov
Andrew Reddikh
2 authors
El masterclass ofrece una perspectiva práctica de los principios clave necesarios para desarrollar, construir y mantener un conjunto de microservicios en el stack Node.js. Cubre los detalles específicos de la creación de servicios TypeScript aislados utilizando el enfoque de monorepo con lerna y yarn workspaces. El masterclass incluye una descripción general y un ejercicio en vivo para crear un entorno en la nube con el framework Pulumi y los servicios de Azure. Las sesiones están dirigidas a los mejores desarrolladores que deseen aprender y practicar técnicas de construcción e implementación utilizando el stack Azure y Pulumi para Node.js.