automotif

todos los artículos
automatización · 6 min de lectura

Automatización DevOps: cómo elegir herramientas para entregas confiables

Compará herramientas de CI/CD, infraestructura y monitoreo, y planificá un piloto chico con responsables, plan para volver atrás y controles de confiabilidad.

La mayoría de los equipos de software chicos no necesitan una plataforma DevOps. Necesitan que tres cosas dejen de salir mal: que el código llegue a producción sin que alguien copie archivos a mano, que un despliegue se pueda deshacer y que llegue un aviso cuando el sitio se cae. Esta guía te ayuda a elegir herramientas para esas tareas, a comprobar que esas herramientas siguen teniendo mantenimiento y a hacer un piloto chico con un responsable con nombre y un plan para volver atrás.

Empezá por la falla, no por la lista de herramientas

Antes de comparar productos, anotá las últimas tres veces que una entrega salió mal. En una empresa de 5 a 50 personas, las respuestas típicas son estas:

  • Alguien desplegó desde su notebook con cambios sin commitear.
  • Había pruebas, pero nadie las corrió antes de hacer el merge.
  • Se hizo un cambio de servidor o de DNS en una consola web y nadie se acuerda de qué fue.
  • El sitio estuvo caído una hora antes de que un cliente te avisara.

Cada uno de esos casos corresponde a una categoría de automatización. Los despliegues desde la notebook y las pruebas salteadas son un problema de CI/CD. Los cambios en la consola son un problema de infraestructura como código. Enterarse tarde es un problema de monitoreo. Si ninguno de tus incidentes entra en una categoría, dejá esa categoría para más adelante.

Matriz de decisión

Usá esta tabla para acotar las opciones. La columna "revisá antes de comprometerte" importa más que los nombres de las herramientas, porque los productos cambian de licencia, de dueño y de precio.

NecesidadLo primero que se suele probarRevisá antes de comprometerte
Correr pruebas y desplegar en cada mergeEl servicio de CI integrado donde ya está tu código, por ejemplo GitHub Actions si usás GitHubMinutos de runner incluidos en tu plan, qué funciones de protección incluye tu plan para repositorios privados
Control total, autoalojado, pasos de compilación poco comunesJenkinsQuién va a aplicar parches y actualizar el servidor, de qué plugins dependés y si siguen recibiendo actualizaciones
Servidores, DNS y bases de datos definidos como códigoTerraform u OpenTofuTérminos de licencia para tu uso, dónde se guarda el archivo de estado y quién puede leerlo
Saber cuándo se rompe producciónControles de disponibilidad y alertas de errores de tu proveedor de hosting o de un servicio de seguimiento de erroresAdónde llegan las alertas de noche, quién tiene que responder
Configuración de servidores repetibleUna herramienta de configuración o imágenes de contenedorSi todavía tenés servidores de larga duración

Dos notas sobre la tabla. Jenkins tiene mantenimiento activo: su línea de soporte a largo plazo publicó la versión 2.580.1 el 30 de septiembre de 2026. La contracara es que lo administrás vos, así que te hacés cargo de sus actualizaciones y del riesgo de sus plugins. En infraestructura como código, Terraform de HashiCorp ahora está bajo la Business Source License, y OpenTofu es el fork comunitario bajo la supervisión de la Linux Foundation, que se describe como un reemplazo directo. Para la mayoría de los equipos chicos sirve cualquiera de los dos; leé la licencia vos mismo si pensás revender o alojar herramientas de infraestructura para terceros.

Cómo comprobar que una herramienta sigue teniendo mantenimiento

Los listados viejos de herramientas incluyen proyectos que después se archivaron, cambiaron de nombre o de licencia. Antes de adoptar cualquier cosa, dedicá quince minutos a estos controles:

  1. Abrí el changelog oficial o la página de releases. Buscá versiones publicadas en los últimos meses, no solo commits.
  2. Leé el archivo de licencia en el repositorio, no el resumen de un blog.
  3. Buscá en la página de avisos de seguridad del proyecto y fijate qué tan rápido se corrigieron los problemas anteriores.
  4. Averiguá quién lo financia. Un proyecto con un solo mantenedor puede ser excelente, pero planificá para el día en que deje de mantenerse.
  5. En el caso de plugins o acciones del marketplace, revisá cada uno por separado. Que la herramienta principal esté sana no dice nada sobre un plugin que se actualizó por última vez hace años.

Un ejemplo de pipeline

Este es un flujo de GitHub Actions para una aplicación web chica. Corre las pruebas en cada pull request y en cada push a main, y despliega solo después de que las pruebas pasan. Todas las claves que se usan acá están documentadas en la referencia de sintaxis de flujos de trabajo de GitHub.

name: test-and-deploy

on:
  pull_request:
    branches: [main]
  push:
    branches: [main]

permissions:
  contents: read

concurrency:
  group: deploy-${{ github.ref }}
  cancel-in-progress: false

jobs:
  test:
    runs-on: ubuntu-latest
    timeout-minutes: 15
    steps:
      - uses: actions/checkout@v7
      - uses: actions/setup-node@v7
        with:
          node-version: 24
      - run: npm ci
      - run: npm test

  deploy:
    if: github.event_name == 'push'
    needs: test
    runs-on: ubuntu-latest
    timeout-minutes: 15
    environment:
      name: production
      url: https://example.com
    steps:
      - uses: actions/checkout@v7
      - run: ./scripts/deploy.sh
      - run: ./scripts/smoke-test.sh https://example.com

Qué hace cada parte:

  • permissions: contents: read restringe el token por defecto para que un paso comprometido no pueda subir código.
  • needs: test hace que el job de despliegue arranque solo si el job de pruebas sale bien.
  • concurrency con cancel-in-progress: false pone en cola un segundo despliegue en lugar de cortar uno a mitad de camino.
  • timeout-minutes frena un job colgado. Sin esto, el valor por defecto de GitHub es de 360 minutos.
  • environment: production vincula el despliegue a un entorno de GitHub, donde podés agregar reglas de protección como revisores obligatorios o restringir qué ramas pueden desplegar. Revisá tu plan primero: la documentación de GitHub dice que los revisores obligatorios y los temporizadores de espera en repositorios privados no están disponibles en todos los planes.
  • La prueba rápida (smoke test) después del despliegue es un script tuyo. Mantenelo corto: cargar la página de inicio, iniciar sesión con una cuenta de prueba, comprobar que una página importante devuelve un estado de éxito.

Las versiones de las acciones (@v7) y Node 24 coinciden con lo que mostraban los README de actions/checkout y actions/setup-node en octubre de 2026. Revisá esas páginas cuando copies esto, porque las versiones mayores cambian y las versiones viejas de Node llegan al final de su vida útil.

El script de despliegue es donde vive tu elección de hosting. Guardalo en el repositorio para que los pasos se revisen como cualquier otro código.

Planificá un piloto chico

No automatices todo de una vez. Elegí un servicio o un repositorio y hacé el piloto durante algunas semanas.

Responsables

  • Nombrá a una persona que sea dueña del archivo del pipeline y el primer contacto cuando falle.
  • Nombrá a un suplente para las vacaciones.
  • Definí quién puede aprobar los despliegues a producción y dejalo por escrito.

Plan para volver atrás

  • Decidí cómo deshacés un despliegue malo antes del primer despliegue automatizado. Por lo general, eso significa volver a desplegar el commit anterior o volver a la versión anterior.
  • Probá la vuelta atrás una vez a propósito, en un día tranquilo, y medí cuánto tarda.
  • Los cambios en la base de datos necesitan su propio plan. Volver atrás el código no deshace una migración.

Controles de confiabilidad

  • Cada despliegue corre la prueba rápida, y si la prueba falla se avisa a una persona.
  • Un control de disponibilidad consulta producción desde fuera de tu red.
  • Los secretos se guardan en el almacén de secretos del servicio de CI, nunca en el repositorio.
  • La protección de rama en main exige que el job de pruebas pase antes de hacer el merge.

Al final del piloto, revisá qué pasó: cuántos despliegues, cuántos fallaron, cuántas veces se volvió atrás y si alguien esquivó el pipeline. Esas respuestas te dicen si conviene extenderlo al próximo repositorio o arreglar el primero.

Dónde entra automotif

Esto es trabajo de desarrollo de automatizaciones: armamos el pipeline, las alertas y los pasos para volver atrás dentro de tus propias cuentas, con código donde las piezas listas para usar no alcanzan. Si querés una segunda opinión sobre qué partes de tu proceso de entregas conviene automatizar primero, reservá una llamada gratis de 30 a 60 minutos y después te mandamos un resumen y una recomendación por escrito.

Fuentes