
Formato YAML
YAML (YAML Ain't Markup Language) es un formato de serialización de datos legible por humanos que se ha vuelto extremadamente popular para archivos de configuración y parametrización, especialmente en el mundo de la administración de sistemas, desarrollo de software y automatizaciones.
El nombre YAML es un acrónimo recursivo que significa "YAML Ain't Markup Language", enfatizando que no es un lenguaje de marcado como HTML o XML, sino más bien un estándar para la representación de datos estructurados de forma limpia y comprensible.
La principal ventaja del formato YAML es su legibilidad.
A diferencia de otros formatos como JSON o XML, YAML utiliza la indentación y una sintaxis muy clara que hace que incluso personas sin conocimientos técnicos puedan entender fácilmente la estructura y el contenido de un archivo YAML.
El formato YAML se basa en tres conceptos fundamentales: escalares (valores simples como texto o números), listas (secuencias de elementos) y mapas (conjuntos de pares clave-valor). Estos elementos se pueden combinar para crear estructuras de datos complejas de forma muy intuitiva.
La sintaxis de YAML es bastante simple:
Los pares clave-valor se separan con dos puntos seguidos de un espacio.
Las listas se representan con guiones.
La indentación (normalmente con espacios, no tabulaciones) define la jerarquía de los datos.
Por ejemplo, un ejemplo de archivo en formato YAML básico podría verse así:
# Información personal
Un ejemplo de uso de YAML es Docker Compose, donde la parametrización de contenedores Docker se hace mediante el archivo docker-compose.yml.
services:
# Aplicación web
web:
image: nginx:latest
container_name: mi_web
ports:
- "80:80"
- "443:443"
volumes:
- ./html:/usr/share/nginx/html
- ./nginx.conf:/etc/nginx/nginx.conf
environment:
- NGINX_HOST=localhost
- NGINX_PORT=80
depends_on:
- database
restart: unless-stopped
# Base de datos
database:
image: mysql:8.0
container_name: mi_db
environment:
MYSQL_ROOT_PASSWORD: mi_password_seguro
MYSQL_DATABASE: mi_aplicacion
MYSQL_USER: usuario
MYSQL_PASSWORD: password123
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
restart: unless-stopped
# Cache Redis
redis:
image: redis:alpine
container_name: mi_cache
ports:
- "6379:6379"
command: redis-server --appendonly yes
volumes:
- redis_data:/data
restart: unless-stopped
# Volúmenes persistentes
volumes:
db_data:
redis_data:
# Red personalizada (opcional)
networks:
default:
driver: bridge
Un archivo docker-compose.yml típico define servicios, redes y volúmenes usando la sintaxis YAML. Por ejemplo, para configurar una aplicación WordPress con MySQL, el archivo incluiría secciones como services, ports, environment y volumes, todo estructurado de forma clara y jerárquica gracias al formato YAML.
Una de las características más importantes del formato YAML es que es case-sensitive (sensible a mayúsculas y minúsculas) y que la indentación debe ser consistente. Esto significa que debes prestar especial atención a usar siempre espacios en lugar de tabs (tabulador) y mantener el mismo nivel de indentación para elementos del mismo nivel jerárquico.
Los comentarios en los archivos YAML se inician con el símbolo #, lo que permite documentar tus archivos de configuración y parametrización de forma clara.
Para trabajar con archivos YAML de forma eficiente, es recomendable usar editores de texto que soporten syntax highlighting para este formato.
La mayoría de los editores modernos como Visual Studio Code o Notepad++ incluyen soporte nativo para YAML, lo que te ayuda a identificar errores de sintaxis o indentación.
Es importante mencionar que los errores más comunes al trabajar con YAML suelen estar relacionados con la indentación incorrecta o el uso de tabs (tabulador) en lugar de espacios.
Estos errores pueden hacer que un archivo YAML sea completamente inválido, por lo que siempre es recomendable validar la sintaxis antes de usar el archivo en producción.

Álvaro Fontela
Consultor WordPress, además de CEO y cofundador de Raiola Networks. Autor del libro "Curso Práctico de WordPress" y speaker en congresos de marketing digital.
Autor


¿Te gusta nuestro contenido?
Si quieres ser el primero en leer nuestro contenido y enterarte de nuestras noticias.
HOSTING SSD desde 8,95€
Haz clic aquí¿Te ayudamos?
Escríbenos si tienes dudas o necesitas una solución específica
Categorías
Destacados
