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

O mundo digital e a cibersegurança
O mundo digital e a cibersegurança

Com o aparecimento da internet, deparámo-nos com um “novo mundo” digital que, a bem da verdade, é cada vez...

Entrevista: Anderson Abreu, IT Manager
Entrevista: Anderson Abreu, IT Manager

Neste artigo vais poder conhecer um pouco mais sobre o Anderson, IT Manager e CISO (Chief Information Security Officer)...

Como tirar a tua ideia do papel?
Como tirar a tua ideia do papel?

Numa das últimas Talkin Tech by Integer Consulting, o Bruno Barroso, Senior Software Engineer na Integer, partilhou connosco um...