DevOps / Cloud Jr route: learn for free from scratch in 6 weeks
De la terminal a una app en contenedor que se prueba y se despliega sola: Linux, redes, Docker, GitHub Actions, la nube y monitoreo. With free videos in Spanish, plain-words explanations, hands-on challenges, quizzes and review by a teacher.
- Level: Beginner
- 6 weeks
- 48 challenges
- 36 free videos
- 48 questions
- Certificate at the end
Route content is in Spanish.
Week-by-week syllabus
Week 1 · La terminal y Linux básico
Los servidores de internet casi nunca tienen pantalla ni mouse: se manejan con la terminal, escribiendo comandos. Moverte por carpetas (cd), listar archivos (ls), ver un archivo (cat), buscar dentro (grep) y cambiar quién puede usar un archivo (chmod) es el día a día de DevOps. Cuando repites los mismos comandos, los guardas en un script de Bash.
Mini ejemplo: grep -c ERROR app.log cuenta cuántas líneas del log tienen la palabra ERROR.
Error típico de principiante: ejecutar un comando que borra (rm -rf) sin revisar en qué carpeta estás. Antes de borrar, mira con pwd y ls.
Week 1 topics
- Qué es DevOps y qué hace una persona DevOps / Cloud Jr
- Sistema de archivos de Linux:
/,/home,/etc,/var/log, rutas absolutas y relativas - Comandos:
pwd,ls -la,cd,mkdir,touch,cp,mv,rm,cat,less,head,tail -f - Buscar y contar:
grep,wc -l, tuberías|y redirecciones>>> - Permisos:
rwx,chmod(números y letras),chown,sudo - Variables de entorno:
export,echo $VAR,.envy por qué no se sube a Git - Scripts de Bash:
#!/usr/bin/env bash, variables,if, argumentos$1y códigos de salida - Procesos:
ps,top,kill
Cursos: videos gratis del plan + tutorial oficial de Ubuntu.
Recommended free videos
8 challenges · 8-question quiz
Week 2 · Git avanzado, redes y cómo viaja una petición
Cuando escribes una dirección en el navegador pasan muchas cosas: el DNS traduce el nombre (codea.andeon.la) a una dirección IP, el navegador se conecta al servidor y le habla en HTTP (o HTTPS, cifrado) con una petición como GET /, y el servidor responde con un código de estado (200 bien, 404 no existe, 500 error del servidor). Para entrar a un servidor sin contraseña se usa SSH. Y en Git, un equipo DevOps cuida que el historial esté limpio: ramas cortas, Pull Requests y rebase cuando hace falta (la ruta Git y GitHub Jr lo explica desde cero).
Mini ejemplo: curl -I https://codea.andeon.la muestra solo las cabeceras de la respuesta, empezando por el código de estado.
Error típico de principiante: pensar que "la web no carga" siempre es culpa del código. Puede ser DNS, el certificado HTTPS o el servidor: hay que revisar por capas.
Week 2 topics
- Git en equipo: ramas cortas,
mergevsrebase,git rebase main, conflictos ygit push --force-with-lease - Pull Requests y protección de la rama
main(repaso de la ruta Git y GitHub Jr) - Direcciones IP, puertos (80, 443, 22, 3000) y
localhost - DNS: registros A, CNAME, TXT;
digynslookup - HTTP: métodos (GET, POST, PUT, DELETE), cabeceras y códigos de estado
- HTTPS y certificados TLS: qué protegen
- SSH: llaves pública y privada,
ssh-keygen,ssh usuario@servidor curlpara probar APIs y servidores
Cursos: videos gratis del plan + "GIT+GitHub" (repaso de rebase y Pull Requests).
Recommended free videos
8 challenges · 8-question quiz
Week 3 · Docker: tu app en una caja
"En mi computadora funciona" es la frase más temida en un equipo. Docker la elimina: empaqueta tu app con su versión exacta de Node, sus librerías y su configuración en una imagen. Desde esa imagen creas contenedores que corren igual en tu laptop, en la de tu compañero y en el servidor. La receta de la imagen se escribe en un Dockerfile, y si tu app necesita una base de datos, Docker Compose levanta las dos juntas.
Mini ejemplo: docker run -p 8080:80 nginx descarga un servidor web y lo deja en http://localhost:8080.
Error típico de principiante: guardar datos dentro del contenedor. Si lo borras, se pierden; para eso existen los volúmenes.
Week 3 topics
- Imagen vs contenedor; Docker Hub
docker run,ps,logs,exec,stop,rm,images- Puertos:
-p 3000:3000(host:contenedor) - Dockerfile:
FROM,WORKDIR,COPY,RUN,ENV,EXPOSE,CMD - Capas y caché: copiar
package.jsonantes que el código .dockerignore, imágenesalpiney usuario no root- Variables de entorno en contenedores (
-e,--env-file) - Volúmenes y persistencia de datos
- Docker Compose: servicios, puertos, volúmenes y
depends_on
Cursos: videos gratis del plan + "Docker - Guía práctica de uso para desarrolladores" secciones 1 a 5.
Recommended free videos
9 challenges · 8-question quiz
Week 4 · CI/CD con GitHub Actions
CI (integración continua) significa que cada vez que alguien sube código, un robot lo prueba solo: si algo se rompe, te enteras en minutos y no el viernes en la noche. CD (despliegue continuo) significa que lo que pasó las pruebas se publica solo. En GitHub ese robot se llama GitHub Actions y se configura con un archivo YAML en .github/workflows/. Cada archivo es un workflow con jobs, y cada job tiene steps.
Mini ejemplo:
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm test
Error típico de principiante: escribir un token o contraseña dentro del workflow. Va en Settings → Secrets and variables → Actions y se usa como ${{ secrets.NOMBRE }}.
Week 4 topics
- CI vs CD vs despliegue continuo
- Estructura de un workflow:
on,jobs,runs-on,steps,uses,run - Disparadores:
push,pull_request,workflow_dispatch - Instalar dependencias y correr pruebas (
actions/setup-node,npm test) - Construir la imagen de Docker en CI
- Secretos y variables; permisos mínimos con
permissions - Proteger
main: exigir que el check de CI pase antes de mergear - Publicar la imagen en GitHub Container Registry (ghcr.io)
Cursos: videos gratis del plan + documentación oficial de GitHub Actions.
Recommended free videos
8 challenges · 8-question quiz
Week 5 · Desplegar en la nube
Desplegar es poner tu app en una computadora que está siempre encendida y conectada a internet, para que cualquiera la use. Hay varias formas: para un sitio estático (HTML, React), Vercel o Firebase Hosting lo publican gratis en segundos; para una app con servidor y Docker, servicios como Render reciben tu imagen o tu repositorio y la ejecutan; y si quieres control total, alquilas un VPS (un servidor virtual) y lo administras tú. Al final conectas tu propio dominio y activas HTTPS.
Mini ejemplo: con Vercel conectado a GitHub, cada git push a main publica una nueva versión y cada PR tiene su propia URL de prueba (preview).
Error típico de principiante: configurar la app con valores escritos en el código (puerto, URL de la base). En la nube esos valores cambian: léelos de variables de entorno, como dice la metodología 12-factor.
Week 5 topics
- Tipos de hosting: estático, plataforma (PaaS), contenedores y VPS
- Vercel: conectar el repositorio, deploys de producción y de preview
- Firebase Hosting:
firebase inityfirebase deploy - Render (u otro servicio gratuito): desplegar desde un Dockerfile, variables de entorno y health check
- Dominios: registros DNS para un dominio propio y HTTPS automático
- Deploy automático desde GitHub Actions (deploy hook o integración)
- La metodología 12-factor: configuración en el entorno, logs a la salida estándar
- Proxy inverso con Nginx (concepto) y rollback
Cursos: videos gratis del plan + "Docker - Guía práctica de uso para desarrolladores" (sección de despliegue).
Recommended free videos
- Qué es y para qué sirve un proxy inverso con Nginx — Rodolfo Borja
- LA METODOLOGÍA TWELVE FACTOR APP — OpenWebinars
8 challenges · 8-question quiz
Week 6 · Monitoreo, logs y proyecto final
Que la app esté desplegada no significa que esté bien. Monitorear es saber, sin que un usuario te lo diga, si la app responde, si responde rápido y si está dando errores. Los logs cuentan qué pasó en cada petición; las métricas son números en el tiempo (peticiones por minuto, tiempo de respuesta); y las alertas te avisan cuando algo se sale de lo normal. Con todo esto armas el proyecto final: tu app en contenedor, con pipeline que la prueba y la despliega, y vigilada.
Mini ejemplo: un monitor de uptime llama a https://tu-app/health cada 5 minutos y te manda un correo si no responde 200.
Error típico de principiante: poner alertas para todo. Si te llegan 50 correos al día, dejarás de leerlos. Alerta solo lo que exige actuar.
Week 6 topics
- Observabilidad: logs, métricas y trazas
- Las cuatro señales de oro: latencia, tráfico, errores y saturación
- Logs útiles: nivel (INFO, WARN, ERROR), fecha, ruta, código y duración; logs en JSON
- Ver logs:
docker logs, logs de la plataforma, buscar congrep - Monitores de uptime: UptimeRobot, Better Stack o Uptime Kuma (autoalojado)
- Alertas que sirven y cómo evitar el ruido
- Herramientas de logs centralizados (Loki, Grafana) a nivel de concepto
- Postmortem sin culpables
Cursos: videos gratis del plan + libro SRE de Google (capítulo de monitoreo).
7 challenges · 8-question quiz
Portfolio projects
En DevOps lo que se muestra es que funciona solo: un pipeline en verde, una URL pública y un README que explique cómo.
1. Kit de scripts para el día a día
- Qué construyes: un repositorio con scripts de Bash útiles: revisar un log, hacer copias de seguridad de una carpeta con fecha, revisar si una URL responde.
- Qué practicas: terminal, permisos, variables de entorno y scripts (semana 1).
- Súbele el nivel: que los scripts tengan ayuda (
--help), códigos de salida y un workflow que los revise con ShellCheck.
2. App en contenedor con Docker Compose
- Qué construyes: una API pequeña con su base de datos (PostgreSQL o Redis) que se levanta con
docker compose up. - Qué practicas: Dockerfile, imágenes livianas, volúmenes, redes y Compose (semana 3).
- Súbele el nivel: healthchecks y un
Makefileconmake up,make testymake logs.
3. Pipeline completo con despliegue y monitoreo
- Qué construyes: la app
hola-devopscon CI (pruebas en cada PR), CD (deploy automático al hacer merge amain), URL pública y monitoreo con alertas. - Qué practicas: GitHub Actions, secretos, despliegue en la nube, logs y monitoreo (semanas 4 a 6).
- Súbele el nivel: entornos de staging y producción con aprobación manual antes de producción.
DevOps / Cloud Jr glossary in plain words
| Palabra | Qué significa |
|---|---|
| DevOps | Una forma de trabajar donde desarrollo y operaciones colaboran para entregar software rápido y seguro, automatizando lo repetitivo. |
| Terminal | La ventana donde le das órdenes a la computadora escribiendo comandos. |
| Linux | El sistema operativo en el que corren casi todos los servidores de internet. |
| Permisos | Quién puede leer, escribir o ejecutar un archivo (rwx). |
| Script | Un archivo con comandos que se ejecutan en orden, para no escribirlos a mano cada vez. |
| Variable de entorno | Un valor de configuración que el programa lee del sistema (PORT, API_KEY), sin escribirlo en el código. |
| DNS | La "agenda de contactos" de internet: traduce codea.andeon.la a la dirección IP del servidor. |
| HTTP / HTTPS | El idioma en que conversan el navegador y el servidor; HTTPS es la versión cifrada. |
| SSH | Una forma segura de conectarte a otra computadora por la terminal. |
| Contenedor | Tu app empaquetada con todo lo que necesita para correr igual en cualquier lado, como una lonchera cerrada. |
| Imagen | La "receta congelada" desde la que se crean contenedores. |
| Dockerfile | El archivo con los pasos para construir una imagen. |
| Volumen | Una carpeta que sobrevive aunque borres el contenedor (para no perder datos). |
| Docker Compose | Un archivo para levantar varios contenedores juntos (app + base de datos) con un comando. |
| CI (integración continua) | Probar el código automáticamente cada vez que alguien hace push o abre un Pull Request. |
| CD (despliegue continuo) | Publicar automáticamente la versión que pasó las pruebas. |
| Pipeline | La cadena de pasos automáticos: instalar, probar, construir, desplegar. |
| Secreto | Una contraseña o token guardado de forma segura en GitHub, nunca en el código. |
| Deploy | Publicar tu app para que otros la usen en internet. |
| Logs | El diario de lo que hace tu app: cada petición, cada error. |
| Monitoreo | Vigilar que la app esté viva y responda bien, con alertas cuando falla. |
Ready to start?
Free, no card and no prior experience. Sign in with Google or without an account.
Start DevOps / Cloud Jr for free