¿Por qué mi construcción es lenta?

Pocas cosas nos ponen tan tristes como ver un ticket de soporte preguntando por qué una compilación es lenta o escuchando por parte de los gerentes de cuenta que un cliente expresa inquietudes sobre compilaciones lentas. En CircleCI, detestan las construcciones lentas. Consideran que su misión es aumentar el rendimiento total del proceso de desarrollo de software, y la velocidad de creación es sin duda un factor importante en el rendimiento general de muchos equipos.

Pocas cosas nos ponen tan tristes como ver un ticket de soporte preguntando por qué una compilación es lenta o escuchando por parte de los gerentes de cuenta que un cliente expresa inquietudes sobre compilaciones lentas. En CircleCI, detestan las construcciones lentas. Consideran que su misión es aumentar el rendimiento total del proceso de desarrollo de software, y la velocidad de creación es sin duda un factor importante en el rendimiento general de muchos equipos.

¿Cómo CircleCI acelera las construcciones?

Tienen algunas formas en las que trabajan actualmente para hacer compilaciones más rápidas, y están trabajando constantemente en nuevas formas. Hoy tienen:

  • Almacenamiento en caché de origen: en lugar de obtener todo el código fuente en cada compilación, guardan una copia en sus servidores que se actualiza solo con los cambios desde la última compilación.
  • Almacenamiento en caché de dependencias: en lugar de descargar dependencias en cada compilación, las colocan en el disco para una recuperación rápida durante cada compilación.
  • Paralelismo: al ejecutar pruebas en varias instancias independientes, pueden reducir drásticamente el tiempo total de construcción. Si proporciona metadatos de prueba, CircleCI puede dividir automáticamente las pruebas según el tiempo. De lo contrario, lo puede dividir automáticamente por archivos (un número par por contenedor), o puede configurar manualmente su división de prueba u otras tareas paralelas.
  • Flota de construcción a pedido: parte de la magia de CircleCI es mantener los entornos de construcción limpios listos, de modo que cuando comience su construcción, no haya más que unos pocos segundos de tiempo de espera antes de que su construcción comience a ejecutarse. En CircleCI reciclan la máquina en la que se ejecuta cada compilación (o cada parte de una compilación, en el caso de compilaciones paralelas) cada vez que finaliza una compilación, por lo que se garantiza que nunca perderá el código fuente o los datos o que tendrá una contaminación cruzada de configuraciones, bases de datos, variables de entorno, etc.


¿Por qué mi compilación se ejecuta más rápido en mi computadora portátil?

A veces se compara a CircleCI con la velocidad de las compilaciones que se ejecutan localmente, pero la comparación es complicada. Piénselo de esta manera: una caja de desarrollo muy común para muchos de los clientes es una MacBook Pro con 4 potentes CPU que generalmente cuesta alrededor de $ 3,000 USD y se reemplaza aproximadamente cada dos años. Para proporcionar la misma potencia para cada construcción, tendríamos que proporcionar una potencia de cálculo sustancialmente mayor y, por lo tanto, cobrar un precio sustancialmente más alto por la capacidad de la flota a pedido.


¿Qué sigue?

Hoy, cuando los clientes de CircleCI pagados se quedan sin errores de memoria, pueden contactar al soporte para obtener más memoria asignada a sus compilaciones. Y aunque las características de paralelismo suelen aumentar la velocidad de compilación, en algunos casos las organizaciones con compilaciones intensivas en compilación, como los desarrolladores de iOS y Android, pueden no ser las más adecuadas para esta configuración. Por ahora, cuando los clientes necesitan más potencia de CPU en sus compilaciones, CircleCI  sugiere que se hable sobre CircleCI Enterprise , donde los usuarios pueden ejecutar su propia instancia de CircleCI y ajustar su propia flota de compilación a las necesidades de su equipo.

Tenga la seguridad de que CircleCI siempre está trabajando para obtener más potencia de cómputo cuando la necesite. Desde entornos de compilación a pedido hasta almacenamiento en caché de dependencias y código fuente, hasta la configuración de paralelismo más fácil y escalable de la industria hasta gráficos que ayudan a identificar cuellos de botella y una serie de otras características que han construido a lo largo de los años, en CircleCI trabajan todos los días para hacer de su parte mejorando su rendimiento convirtiendo el código en software.

Por: Nathan Dintenfass, Gerente de producto CircleCI
CircleCI (2016) ¿Por qué mi construcción es lenta? Recuperado de:
https://circleci.com/blog/continuous-deployment-of-gatsby-apps-to-heroku/

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

DevOpsDays Bogotá OnlineDevOps Latam Patrocinador del DevOpsDays Bogotá 2020 te invita a asistir al evento de DevOps más importante del año Completamente GRATIS!
Top