YAML
DevOpsYAML (YAML Ain't Markup Language) este un format de serializare a datelor ușor de citit, folosit pe scară largă pentru fișiere de configurare. Este standardul în ecosistemul DevOps, fiind utilizat de Docker Compose, Kubernetes, Ansible, GitHub Actions și multe alte instrumente.
YAML a fost creat în 2001 ca o alternativă mai prietenoasă la XML pentru fișierele de configurare. Numele original era "Yet Another Markup Language", dar a fost redenumit în "YAML Ain't Markup Language" pentru a sublinia că este un format de date, nu un limbaj de marcare.
Sintaxa YAML se bazează pe indentare (spații, nu tab-uri) și este semnificativ mai ușor de citit decât JSON sau XML. Structurile de date suportate includ: scalari (string-uri, numere, boolean), liste (secvențe) și dicționare (mapări cheie-valoare). Comentariile sunt marcate cu # și pot apărea oriunde pe linie.
În ecosistemul DevOps, YAML este omniprezent. Docker Compose folosește docker-compose.yml pentru definirea serviciilor. Kubernetes folosește manifeste YAML pentru pod-uri, deployment-uri și servicii. GitHub Actions, GitLab CI și CircleCI definesc pipeline-urile CI/CD în fișiere YAML. Ansible folosește playbook-uri YAML pentru automatizarea configurării serverelor.
Pentru hosting și administrarea serverelor, YAML apare în: configurarea Nginx (prin Ansible), definirea stack-urilor Docker, configurarea monitorizării (Prometheus, Grafana) și template-urile CloudFormation sau Terraform.
Cele mai comune erori YAML sunt: indentarea inconsistentă (YAML este strict — folosește întotdeauna spații, nu tab-uri), lipsa ghilimelelor pentru string-uri speciale (da/nu sunt interpretate ca boolean, nu ca text), și confuzia între liste și dicționare.
Comparativ cu JSON, YAML oferă: comentarii (JSON nu le suportă), referințe și ancore (pentru evitarea duplicării), sintaxă multi-linie pentru string-uri lungi și o lizibilitate superioară. Dezavantajul principal este că indentarea bazată pe spații poate cauza erori subtile, mai ales în fișierele mari.