Automação simples com Ansible

Com o avanço constante de novas tecnologias, cada vez mais as empresas necessitam abrir-se para o novo e principalmente para o prático com baixo custo.

Além disso, temos que pensar nos seguintes desafios atuais:

  • Arquiteturas heterogéneas como redes,  Sistemas Operativos e implementação e/ou desenvolvimento por diferentes especialistas
  • Segurança dos sistemas, integridade, disponibilidade, confiabilidade e controle de tratamento de dados pessoais
  • Escalabilidade do sistema, controlo de custos de recursos, esgotamento de recursos, perda de desempenho e previsão de possíveis dificuldades nos sistemas
  • Tratamento de erro, alarmísticas, backups e alta disponibilidade
  • Transparência do sistema, de acessos, localidade, concorrências, replicação, falhas, mobilidade, desempenho e escalabilidade

O Ansible é uma ferramenta muito favorável para isso, executando tudo de maneira simples, rápida e fácil, transformando o seu desafio numa solução eficiente.

Para começar, vamos falar sobre que é o Ansible: é uma ferramenta de código aberto criada por Michael Dehaan (Red Hat) usada para automatizar tarefas que geralmente são feitas manualmente.

A sua vantagem é que a partir de uma localização central, podemos fazer a distribuição para vários  locais sem a necessidade de um software cliente. É ágil na entrega, a automação em alguns casos está pronta no site do fabricante, os ajustes finos para personalização do ambiente são fáceis, e o gerenciamento é muito simples.

Alguns exemplos do que podemos fazer são o gerenciamento para hosts específicos ou ambientes em rede, automação de tarefas que são executadas repetidas vezes e com grande frequência, orquestração para várias máquinas, administração de algumas funções como, criação com as devidas permissões, utilizadores, grupos diretórios, file systems, entre outras atividades.
A sua imaginação é que vai limitar o que se pode fazer!

A engine do Ansible tem 4 itens importantes, Inventory, Module, API, Plugins.
Nem sempre esses quatros itens serão realmente usados, mas estarão sempre presentes e à disposição.

Na estrutura do Ansible temos :
Inventory : Arquivo que contém informações sobre os servidores que serão configurados
Task: É uma tarefa específica que será executada
Play: É um conjunto de tarefas para determinada finalidade
Playbook: É um arquivo no formato YAML contendo uma série de procedimentos, e esses procedimentos são:      

  • Module: um módulo normalmente abstrai uma tarefa do sistema, como lidar com pacotes ou criar e alterar arquivos. O Ansible possui diversos módulos integrados, mas também é possível criar módulos personalizados.
  • Role: um conjunto de playbooks, de maneira organizada com a finalidade de ser reutilizado.

Um exemplo de como é a infraestrutura do conteúdo do Ansible:

Num cenário comum, temos um administrador ou mais administradores, que precisam instalar, configurar, administrar, fazer tunning, deploys, atualizações nos servidores que administram. Essas tarefas são escritas num playbook (algo personalizado), ou podemos utilizar algo já pronto no site Ansible ou do fabricante do produto que estamos a trabalhar. O playbook é interpretado pelo motor (engine do Ansible) e será distribuído para um grupo de hosts ou para a rede.

Partilho alguns checks que deram certo para mim, e que podem ser utéis para quem trabalha ou vai trabahar com Ansible:

  • Fazer backup dos arquivos de configuração originais
  • Conectividade entre servidores
  • Check do arquivo/ansible/hosts
  • Configurar corretamente o arquivo de inventário
  • Se for trocar chave ssh ver as pastas files
  • Ter o arquivo de variáveis configurado conforme sua necessidade
  • Testar o playbook
Bianca Medeiros
Analista Middleware e Tester

Últimos Artigos

TradeIN: O Marketplace Interno da Integer
TradeIN: O Marketplace Interno da Integer

Na Integer, apostamos no potencial de cada colaborador e acreditamos no seu crescimento e desenvolvimento. Por isso, dedicamos recursos...

Cibercrimes e as Limitações do RGPD
Cibercrimes e as Limitações do RGPD

Sabemos que a Revolução Digital trouxe consigo uma série de avanços significativos para a sociedade, mas também desafios sem...

Maximiza a tua Rede Profissional: BFF Integer
Maximiza a tua Rede Profissional: BFF Integer

A Integer é reconhecida pela sua expertise em desenvolver soluções inovadoras e personalizadas para as necessidades internas das empresas....