O que é Yaml
- Luiz Henrique de Oliveira Bueno
- 7 de mar.
- 6 min de leitura

1: Introdução ao YAML
O YAML (YAML Ain't Markup Language) é uma linguagem de serialização de dados simples e legível, que surgiu como uma alternativa mais amigável ao JSON e XML. Algumas das principais vantagens do YAML são:
Fácil de ler e escrever: Ao usar indentação em vez de símbolos complexos como chaves e colchetes, o YAML deixa os arquivos muito mais limpos e intuitivos. Isso facilita a compreensão e a manipulação dos dados, especialmente para pessoas que não têm muita familiaridade com linguagens de marcação complexas.
Flexibilidade: O YAML suporta listas, dicionários, textos multilinha e referências, tornando-o uma ferramenta muito versátil para estruturar dados de diferentes naturezas. Essa flexibilidade permite que o YAML seja usado em uma ampla gama de aplicações, desde configurações simples até estruturas de dados complexas.
Ampla adoção: O YAML é amplamente utilizado em áreas como DevOps, Kubernetes, CI/CD e configuração de aplicações. Essa adoção generalizada significa que aprender YAML é uma habilidade essencial para quem trabalha com tecnologia, pois a linguagem está presente em diversos sistemas e ferramentas modernos.
Então, se você já trabalhou com arquivos de configuração deve ter encontrado formatos como JSON, XML ou até arquivos .ini. O YAML (YAML Ain't Markup Language) surgiu como uma alternativa mais simples e legível para estruturar dados., então o YAML provavelmente já cruzou seu caminho. Aprender essa linguagem é fundamental para entender e manipular diversos sistemas e infraestruturas de software atuais.
🔹 Por que YAML?
É fácil de ler e escrever, sem aquela bagunça de chaves {} e colchetes [] do JSON.
Usa indentação em vez de símbolos complexos, o que deixa o arquivo mais limpo.
Suporta listas, dicionários, textos multilinha e referências, tornando-o super flexível.
É amplamente utilizado em DevOps, Kubernetes, CI/CD e configuração de aplicações.
2: Sintaxe Básica do YAML

Vamos começar explorando a sintaxe básica do YAML:
✅Chaves e valores: No YAML, os dados são organizados em pares de chave e valor, separados por :. Essa estrutura simples e intuitiva permite que você defina informações de maneira clara e objetiva.

✅Listas (Arrays): Para armazenar vários valores dentro de uma mesma chave, usa-se o -. Essa sintaxe de lista é muito útil para representar coleções de itens, como uma lista de frutas ou uma lista de jogadores de um time de futebol.

Isso é equivalente a um array em JSON:

✅Dicionários (Objetos): Para armazenar informações organizadas em grupos, basta aninhar as chaves. Essa estrutura hierárquica permite que você represente dados complexos de uma maneira muito mais clara e intuitiva do que em formatos como JSON ou XML.

✅Comentários: Os comentários no YAML começam com # e são úteis para documentar o código, explicar determinadas escolhas ou fornecer informações adicionais sobre o conteúdo do arquivo.

❗ Cuidado! YAML não aceita TABs
É importante lembrar que o YAML não aceita tabulações (TABs), apenas espaços para indentação. Caso contrário, o parser vai reclamar. Então, configure seu editor de texto para sempre usar espaços ao invés de TABs.
✅ Correto:

❌ Errado (com TABs):

3: Recursos Avançados do YAML

Agora vamos explorar algumas funcionalidades mais avançadas do YAML:
✅Listas dentro de listas: Você pode aninhar listas dentro de outras listas ou dicionários, o que é muito útil para estruturar dados complexos. Isso permite que você represente informações hierárquicas de uma maneira clara e organizada.

✅Reutilização de código com âncoras (&) e referências (*): Se precisar repetir informações, pode usar âncoras e referências para evitar duplicação. Isso ajuda a manter seu código YAML mais limpo, conciso e fácil de manter.

Aqui, pessoa1 herda os valores de pessoa_base, evitando repetir código.
✅Textos multilinha: Para escrever textos longos, pode-se usar | (para manter quebras de linha) ou > (para juntar tudo em uma única linha). Isso facilita a inclusão de descrições, instruções ou qualquer outro tipo de texto longo sem bagunçar o restante do arquivo YAML.

4: Uso do YAML na Prática

Agora vamos ver alguns exemplos de como o YAML é usado no mundo real:
🔹YAML no DevOps e CI/CD (GitHub Actions)

Esse YAML define um pipeline que roda sempre que há um push no repositório. Ele especifica que o pipeline deve ser executado em uma máquina virtual Ubuntu e que o primeiro passo é instalar as dependências do projeto usando o npm.
🔹YAML no Kubernetes

Esse YAML cria um Deployment no Kubernetes com 3 réplicas do container nginx. Ele define as informações necessárias para implantar e configurar esse aplicativo no cluster Kubernetes.
🔹YAML no Docker Compose

Aqui, definimos um serviço nginx que roda na porta 8080. Esse arquivo YAML pode ser usado pelo Docker Compose para criar e gerenciar esse serviço de forma simples e declarativa.
5: Melhores Práticas com YAML

Para escrever YAML de forma eficiente e manutenível, algumas boas práticas incluem:
Evite TABs, use espaços para indentação: Como mencionado anteriormente, o YAML não aceita tabulações, então é importante configurar seu editor de texto para usar espaços ao invés de TABs. Isso evitará problemas de sintaxe.
Valide seu YAML antes de usá-lo: Você pode usar ferramentas online como o https://yamlchecker.com/ para verificar se seu arquivo YAML está bem formatado e livre de erros.
Comente seu código para facilitar a manutenção: Adicione comentários explicativos para documentar o propósito de cada seção do seu arquivo YAML. Isso ajudará você e outras pessoas a entenderem o conteúdo no futuro.
Use âncoras (&) e referências (*) para evitar repetição: Aproveite os recursos avançados do YAML para reutilizar informações e manter seu código limpo e conciso.
Mantenha arquivos YAML organizados e modulares: Divida seu YAML em arquivos menores e mais específicos, sempre que possível. Isso facilitará a manutenção e a reutilização de partes do seu código.
Conclusão:

Agora que você adquiriu um sólido conhecimento sobre a sintaxe e os recursos do YAML, é hora de aprofundar suas habilidades e se tornar um especialista nessa linguagem tão importante para o mundo da tecnologia.
Veja algumas dicas finais para você dominar o YAML e se destacar como um profissional de infraestrutura como código:
Pratique, pratique, pratique: Não basta apenas entender a teoria. Aplique o que aprendeu em projetos reais, crie seus próprios arquivos YAML para configurar aplicações, serviços e infraestrutura. Quanto mais você praticar, mais fluente ficará na linguagem.
Explore os ecossistemas que utilizam YAML: Familiarize-se com ferramentas e plataformas que adotam o YAML, como Kubernetes, Docker Compose, GitHub Actions, Ansible, entre outras. Entenda como o YAML é utilizado em cada um desses contextos.
Mantenha-se atualizado: O YAML é uma linguagem em constante evolução, com novas funcionalidades e melhores práticas sendo adicionadas com o tempo. Acompanhe a documentação oficial, blogs especializados e comunidades online para se manter informado sobre as últimas novidades.
Domine a validação e o linting de YAML: Aprenda a usar ferramentas como o yamllint, o yaml-validator e o yaml-lint para verificar a sintaxe e a estrutura de seus arquivos YAML. Isso evitará erros custosos durante a implantação de sua infraestrutura.
Compartilhe seu conhecimento: Contribua com a comunidade, escreva artigos, crie tutoriais ou apresente palestras sobre YAML. Ao ensinar, você também aprenderá mais e se consolidará como uma referência na área.
Busque certificações e especializações: Existem diversas certificações relacionadas a infraestrutura como código e automação, muitas delas envolvendo o uso do YAML. Obter essas certificações pode alavancar sua carreira.
Ao seguir esses passos, você se tornará um verdadeiro especialista em YAML e infraestrutura como código. Essa habilidade será extremamente valiosa em um mercado de trabalho cada vez mais orientado a automação e DevOps.
Então, continue estudando, praticando e compartilhando seu conhecimento. O YAML é a chave para dominar a infraestrutura moderna. Bons estudos!
Referências e Links Úteis sobre YAML
Documentação Oficial do YAML
Site oficial do YAML: https://yaml.org/
Especificação YAML 1.2: https://yaml.org/spec/1.2/spec.html
Tutoriais e Guias
Tutorial de YAML para Iniciantes: https://www.redhat.com/sysadmin/yaml-beginners-guide
Guia Completo de YAML: https://www.cloudbees.com/blog/yaml-tutorial-everything-you-need-get-started
Melhores Práticas de YAML: https://medium.com/swlh/yaml-best-practices-tips-and-tricks-cb3c9d2d2d0a
Ferramentas de Validação e Linting
yamllint: https://github.com/adrienverge/yamllint
yaml-validator: https://www.yamllint.com/
yaml-lint: https://github.com/adrienverge/yamllint
Exemplos de Uso de YAML
Exemplos de YAML no Kubernetes: https://kubernetes.io/docs/concepts/configuration/configmap/
Exemplos de YAML no Docker Compose: https://docs.docker.com/compose/compose-file/
Exemplos de YAML no GitHub Actions: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
Comunidades e Fóruns
Subreddit r/YAML: https://www.reddit.com/r/YAML/
Fórum do Stack Overflow sobre YAML: https://stackoverflow.com/questions/tagged/yaml
Cursos e Certificações
Curso de YAML na Udemy: https://www.udemy.com/course/learn-yaml-in-half-a-day/
Certificação Red Hat Certified Specialist in Ansible Automation: https://www.redhat.com/en/services/training/ex407-red-hat-certified-specialist-ansible-automation-exam




Comentários