O que é um Ansible Playbook?
Um Ansible® Playbook é um blueprint das tarefas de automação, que são ações de TI complexas executadas com pouca ou nenhuma intervenção humana. Ansible Playbooks são executados em um conjunto, grupo ou classificação de hosts que, juntos, formam um inventário do Ansible.
Ansible Playbooks são frameworks, ou seja, são códigos pré-escritos que os desenvolvedores podem usar ad-hoc ou como um template inicial. Ansible Playbooks são usados regularmente para automatizar a infraestrutura de TI (sistemas operacionais e plataformas Kubernetes), redes, sistemas de segurança e personas do desenvolvedor (como o Git).
Os Ansible Playbooks ajudam a equipe de TI a programar aplicações, serviços, nós de servidor ou outros dispositivos sem a sobrecarga manual de criar tudo do zero. Eles podem ser salvos, compartilhados ou reutilizados, assim como suas condições, variáveis e tarefas.
Como funcionam os Ansible Playbooks?
Módulos Ansible executam tarefas. É possível combinar uma ou mais tarefas do Ansible para formar uma reprodução (ou play). Duas ou mais reproduções podem ser combinadas para formar um Ansible Playbook. Ansible Playbooks são listas de tarefas executadas automaticamente nos hosts. Grupos de hosts formam o seu inventário do Ansible.
Cada módulo do Ansible Playbook executa uma tarefa específica. Eles contêm metadados que determinam quando e onde uma tarefa é executada, além de qual usuário a executa. Existem vários outros módulos do Ansible que realizam todos os tipos de tarefas de TI, como:
Gerenciamento de nuvem
oci_vcn cria, exclui ou atualiza redes de nuvem virtual em ambientes do Oracle Cloud Infrastructure. Da mesma forma, vmware_cluster adiciona, remove ou atualiza clusters do VMware vSphere.
Gerenciamento de usuários
selogin mapeia os usuários do sistema operacional Linux® para o usuário do SELinux e gitlab_user cria, atualiza ou exclui usuários do GitLab.
Rede
Vários módulos lidam com interfaces de programação de aplicações (APIs), dispositivos Cisco IOS, NXOS e IOS XR, além de serviços F5 BIG-IP.
Segurança
Openssh_cert gera certificados de usuário ou host OpenSSH e ipa_config gerencia configurações globais do FreeIPA.
Comunicação
mail envia emails automáticos baseados em alguns critérios e snow_record cria, exclui ou atualiza um registro único no ServiceNow.
Descubra tudo o que é possível fazer com a automação.
Exemplo prático de um Ansible Playbook
O Ansible é capaz de se comunicar com várias classificações de dispositivos, de APIs REST baseadas na nuvem, a sistemas Linux e Windows, hardware de rede e muito mais. Este é um exemplo de dois módulos Ansible atualizando automaticamente dois tipos de servidores:
--- name: update web servers hosts: webservers remote_user: root tasks: - name: ensure apache is at the latest version yum: name: httpd state: latest - name: write the apache config file template: src: /srv/httpd.j2 dest: /etc/httpd.conf - name: update db servers hosts: databases remote_user: root tasks: - name: ensure postgresql is at the latest version yum: name: postgresql state: latest - name: ensure that postgresql is started service: name: postgresql state: started
O playbook contém duas reproduções:
- A primeira verifica se o software do servidor web está atualizado e executa a atualização, se necessário.
- A segunda verifica se o software do servidor de banco de dados está atualizado e executa a atualização, se necessário.
A automação permite gerenciar ambientes de nuvem híbrida de maneira eficiente e rápida. O Red Hat Ansible Automation Platform é uma solução de automação simples e poderosa que oferece agilidade e flexibilidade ao processo de implementação de estratégias de automação.
Como usar os Ansible Playbooks?
O Ansible usa sintaxe YAML. Dependendo a quem você pergunta, a sigla YAML significa Yet Another Markup Language (algo como "só mais uma linguagem de marcação", em tradução literal) ou YAML Ain’t Markup Language ("YAML não é uma linguagem de marcação"). Há também duas extensões YAML diferentes e igualmente aceitáveis: .yaml ou .yml.
Existem duas maneiras de usar os Ansible Playbooks: a partir da interface de linha de comando (CLI) ou usando as implantações com um simples clique do Red Hat Ansible Automation Platform.
A partir da CLI
Após instalar o projeto Ansible open source ou o Red Hat Ansible Automation Platform (tão simples quanto digitar sudo yum install ansible na CLI do RHEL), tudo o que você precisa fazer é usar o comando ansible-playbook para rodar os Playbooks do Ansible.
A partir da plataforma
A interface de usuário baseada na web do Red Hat Ansible Automation Platform inclui implantações do Ansible Playbook com um simples clique, que são usadas como parte de tarefas maiores (ou templates de tarefas). Elas contam com proteções adicionais que são muito úteis para usuários sem muita experiência em automação de TI ou em CLI.
Relatório IDC: Valor de Negócios do Red Hat Ansible Automation
Uma pesquisa da IDC sobre o valor da solução Red Hat Ansible Automation Platform constatou que os clientes tiveram benefícios como ROI de 667% em 5 anos, 76% de redução de tempo de inatividade não planejado e USD $1,9 milhão de ganho em novas receitas por ano.