Login / Registre-se Account

Automação

Noções básicas do Ansible

Jump to section

O Ansible é um mecanismo open source de automação de TI que automatiza provisionamento, gerenciamento de configurações, implantação de aplicações, orquestração e muitos outros processos de TI.

Utilize a automação do Ansible para instalar softwares, automatizar tarefas rotineiras, provisionar infraestrutura, melhorar segurança e conformidade, aplicar patch em sistemas e compartilhar automação na sua empresa.

 

Como o Ansible funciona?

O Ansible se conecta aos seus nós e envia a eles pequenos programas chamados módulos. Os módulos são usados para realizar tarefas de automação no Ansible.

Esses programas são projetados para serem modelos de recursos do estado desejado do sistema. Em seguida, o Ansible executa esses módulos e os remove ao terminar.

Sem eles, você dependeria de comandos ad hoc e scripts para realizar suas tarefas. 

Veja como instalar o Ansible com este guia

O Ansible é uma ferramenta sem agentes, ou seja, não requer instalação de software para gerenciamento dos nós.

Ele acessa seu inventário e lê as informações sobre quais máquinas você deseja gerenciar. O Ansible tem um arquivo de inventário padrão, mas você pode criar o seu próprio arquivo e definir quais servidores quer que ele gerencie. 

Ele usa o protocolo SSH para se conectar aos servidores e executar as tarefas. Por padrão, o Ansible usa 

chaves SSH com o ssh-agent e seu nome de usuário atual para se conectar a máquinas remotas. Não é preciso ter login de raiz. Você pode fazer login com qualquer usuário e, em seguida, executar os comandos su ou sudo também para qualquer usuário.

Veja como o SSH estabelece uma comunicação segura

Depois de se conectar, o Ansible transfere os módulos exigidos pelo comando ou pelo playbook para serem executados na(s) máquina(s) remota(s).

Ele usa templates YAML que podem ser compreendidos pelos usuários, assim eles conseguem programar a automação de tarefas repetitivas sem precisar aprender uma linguagem de programação avançada.

Você pode usar os módulos integrados do Ansible para automatizar tarefas ou escrever os seus próprios. Os módulos do Ansible podem ser escritos em qualquer linguagem que retorne JSON, como Ruby, Python ou bash. Os módulos de automação do Windows são escritos até mesmo em Powershell. 

 

Como usar o Ansible para comandos ad-hoc

O Ansible pode ser usado para executar comandos ad-hoc. Para isso, execute um comando ou chame um módulo diretamente da linha de comando. Não é preciso usar um playbook. 

Para uma tarefa única, isso não é um problema. Já para comandos mais complexos, é necessário usar um Ansible Playbook.

Ansible Playbooks

Os Ansible Playbooks são usados para orquestrar processos de TI. Um playbook é um arquivo YAML contendo uma ou mais plays e é usado para definir o estado desejado de um sistema. Um módulo do Ansible, por sua vez, é um script autônomo que pode ser usado dentro do Ansible Playbook. 

Saiba mais sobre o YAML para Ansible

As plays consistem em um conjunto ordenado de tarefas a serem executadas em hosts selecionados no arquivo de inventário do Ansible. 

As tarefas são componentes da play que chamam os módulos do Ansible. Em uma play, as tarefas são executadas na ordem em que são escritas.  

Quando o Ansible é executado, ele consegue controlar o estado do sistema. Se ele examinar o sistema e localizar a descrição do playbook incompatível com o estado real do sistema, ele fará as mudanças necessárias para o sistema corresponder ao playbook. 

O Ansible tem um "modo de verificação" que permite a validação de playbooks e comandos ad-hoc antes de realizar mudanças de estado em um sistema. Isso mostra o que o Ansible faria, mas sem efetivamente mudar nada. 

Os manipuladores no Ansible são usados para executar uma tarefa específica apenas após uma modificação no sistema. Eles são disparados pelas tarefas e executados uma vez, no final de todas as outras plays no playbook. 

As variáveis são um conceito do Ansible que permite alterar a execução dos playbooks. As variáveis são usadas para verificar diferenças entres os sistemas, como versões dos pacotes e caminhos dos arquivos. Com o Ansible, é possível executar playbooks em sistemas diferentes. 

As variáveis do Ansible devem ser definidas de acordo com o que o playbook está realmente executando. 

Elas seguem uma precedência variável, que define a ordem em que uma substituirá a outra. É importante saber disso ao incluir variáveis no playbook.

Ao trabalhar com o Ansible, você também precisa entender as coleções. As coleções são um formato de distribuição para conteúdos do Ansible que pode incluir playbooks, funções, módulos e plugins.

As funções do Ansible são um tipo especial de playbook totalmente autossuficiente e portátil com tarefas, variáveis, templates de configuração e outros arquivos de suporte necessários para concluir uma orquestração complexa. 

Pode haver múltiplas funções em uma coleção, o que facilita o compartilhamento de conteúdo pelo Automation Hub e pelo Ansible Galaxy

 

Gerenciamento de configuração com o Ansible

O gerenciamento de configuração é um processo de manutenção consistente em sistemas, servidores e softwares. É uma forma de se certificar de que o sistema funciona como o esperado enquanto as mudanças são feitas. 

Tradicionalmente, isso é feito de forma manual ou por meio de scripts personalizados criados por administradores de sistemas. 

5 maneiras de reforçar um sistema novo com o Ansible

Quando usado como uma ferramenta de gerenciamento de configuração, o Red Hat® Ansible® Automation Platform serve para armazenar e auxiliar na manutenção do estado atual dos sistemas. 

As ferramentas de gerenciamento de configuração fazem alterações e implantações com mais agilidade e removem a possibilidade de erro humano ao mesmo tempo que tornam o gerenciamento do sistema mais previsível e escalável.

Elas também ajudam a acompanhar o estado dos recursos e evitam que você repita tarefas, como instalar o mesmo pacote duas vezes. 

Melhore a recuperação do sistema após um evento crítico com o gerenciamento de configuração automatizado do Ansible. Se um servidor estiver inativo por alguma razão, você poderá implantar um novo rapidamente e manter um registro de alterações e atualizações ocorridas. Assim, é possível identificar a origem do problema. 

 

Provisionamento com o Ansible

Hoje, a infraestrutura costuma ser definida com base no software. Além disso, a virtualização e os containers aceleraram o processo de provisionamento e eliminaram a necessidade de gerenciamento e provisionamento constantes do hardware.

Quando o provisionamento é gerenciado manualmente em cada implantação, é muito difícil acompanhar as mudanças, controlar as versões e evitar erros e inconsistências.

A automação do provisionamento de qualquer infraestrutura é a primeira etapa para automatizar o ciclo de vida operacional das aplicações. 

O Ansible pode ser usado para provisionar a infraestrutura subjacente do ambiente, dos hosts e hipervisores virtualizados, dos dispositivos de rede e dos servidores bare-metal. Ele também pode instalar serviços, agregar hosts de processamento e provisionar recursos, serviços e aplicações na nuvem.

É possível usar um Ansible Playbook para descrever o estado desejado da sua infraestrutura e, em seguida, provisioná-la com o Ansible. Codificar a infraestrutura por um playbook permite que você provisione o mesmo ambiente todas as vezes. 

 

Automação da implantação

Com a automação da implantação, você usa processos automatizados para mover o software entre os ambientes de teste e produção. Isso proporciona implantações confiáveis e reproduzíveis em todo o ciclo de entrega do software.

A automação da implantação é essencial para possibilitar a adoção de práticas de DevOps e o gerenciamento de um pipeline de CI/CD.

Ela não funciona quando as equipes de desenvolvimento e de operações implantam aplicações ou configuram ambientes de maneiras diferentes. 

Para automatizar o ambiente, é necessário ter consistência. É necessário usar o mesmo processo de implantação em todos os ambientes, incluindo o de produção. 

Geralmente, um pipeline de implantação tem pelo menos três etapas principais: criação, teste e implantação. Esse pipeline possibilita a automação do processo de implantação e transfere o código rapidamente entre os estágios de alocação e implantação.

Com o Ansible, você implanta aplicações de várias camadas com confiança e consistência usando apenas um framework comum. Com os playbooks, você pode configurar os serviços necessários e os artefatos de push da aplicação.

 

Orquestração com o Ansible

Em geral, o termo "automação" se refere à automação de apenas uma tarefa. Por outro lado, a orquestração possibilita automatizar processos ou fluxos de trabalho que incluem várias etapas em diferentes sistemas. 

A orquestração de nuvem pode ser usada para provisionar ou implantar servidores, atribuir capacidade de armazenamento, criar máquinas virtuais, gerenciar redes, entre outras tarefas. Existem várias ferramentas que podem ajudar você com a orquestração de nuvem. O Ansible é uma dessas opções.

É possível orquestrar as implantações de aplicações e o gerenciamento e configuração de servidores com uma ferramenta como o Ansible. 

Veja como explicar a orquestração de maneira simples

As implantações de aplicações oferecem serviços de front-end e back-end, bancos de dados, monitoramento, redes e armazenamento. Todos esses elementos têm a própria função, configuração e implantação. A orquestração faz com que cada etapa saia como planejado.

Para que os processos de implantação da aplicação ocorram na ordem correta, o Ansible possibilita a orquestração fazendo a execução das tarefas do playbook na ordem em que são escritas. 

 

Automação de rede

A automação de rede usa lógica programável para gerenciar recursos e serviços de rede. Com a automação de rede, as equipes de operações de rede (NetOps) podem configurar, escalar, proteger e integrar infraestruturas de rede e serviços de aplicação mais rápido do que se essas tarefas fossem executadas manualmente pelos usuários.

O gerenciamento de redes permaneceu estagnado por décadas, mesmo com a evolução das tecnologias subjacentes. Em geral, as tarefas de criação, operação e manutenção de redes são manuais. 

No entanto, as abordagens tradicionais e manuais de atualizações e configurações de rede são muito lentas e suscetíveis a erros. Dessa forma, elas não conseguem acompanhar o ritmo necessário dos requisitos de carga de trabalho que mudam constantemente. 

A automação do gerenciamento de recursos e serviços de rede torna as equipes de operações mais ágeis e flexíveis para lidar de forma eficiente com demandas empresariais atuais.

 

Automação da segurança 

A automação da segurança utiliza tecnologia de automação para realizar tarefas com o mínimo de assistência humana possível, integrando infraestrutura, aplicações e processos de segurança.

A automação pode ajudar sua empresa a simplificar as operações diárias e a integrar a segurança em processos, aplicações e infraestrutura desde o início. Fazer a implantação completa da automação da segurança pode resultar em uma redução de 95% no custo médio por violação.

Aplicar a automação nos processos de segurança pode ajudar sua empresa a identificar, validar e escalonar ameaças com mais rapidez, sem intervenção manual. 

Se um incidente de segurança acontecer, as equipes de segurança podem usar o Ansible para aplicar correções nos sistemas afetados de forma rápida e simultânea e, assim, acelerar a resposta a incidentes.

Três maneiras de iniciar a automação da segurança da TI

Com o Ansible, as equipes de segurança podem configurar um sequência de tarefas que compartilham inventários, playbooks e permissões para automatizar investigações ou correções por completo.

O Red Hat Ansible Automation Platform integra serviços externos de agregação de registros, que auxiliam as equipes de segurança a identificar tendências, analisar eventos de infraestrutura, monitorar anomalias e correlacionar eventos diferentes.

 

Aprenda a usar o Ansible

Red Hat Enterprise Linux Automation with Ansible 

Este curso ensinará a automatizar tarefas administrativas do sistema Linux® com o Ansible Automation Platform. Você aprenderá as técnicas necessárias para usar o Ansible Automation Platform para automatizar o provisionamento, a configuração, a implantação de aplicações e a orquestração.

 

Ansible Essentials: Simplicity in Automation Technical Overview

Esta série de vídeos online e sob demanda apresenta o gerenciamento de configuração e automação do Ansible, incluindo o provisionamento, a implantação e o gerenciamento da infraestrutura computacional em ambientes físicos, virtuais e de nuvem.

 

Ansible para iniciantes: uma introdução sobre como automatizar tudo

Este webinar destaca os benefícios do Ansible na automação de tarefas em dispositivos de rede, de nuvem, com Red Hat Enterprise Linux e com Windows. Ele aborda maneiras de automatizar tarefas administrativas e de usar as funcionalidades avançadas do Red Hat Ansible Automation Platform para realizar tarefas mais complexas. 

 

Estudo de caso: como a Microsoft criou uma cultura de automação da TI

A Microsoft está focada na construção de uma cultura de êxito e colaboração entre as equipes com o suporte da tecnologia de automação.

Ao usar o Red Hat Ansible Automation Platform e trabalhar em parceria com a Red Hat Consulting, a Microsoft criou um ambiente de automação de rede centralizado e padronizado que reduz as tarefas rotineiras repetitivas e a complexidade, além de permitir ao código de produção ser verificado e reutilizado. 

Com o estabelecimento de uma cultura DevOps, as equipes da empresa podem se concentrar em compartilhar conhecimento, desenvolver habilidades e criar soluções tecnológicas inovadoras.

Leia o estudo de caso completo para saber mais sobre o sucesso da Microsoft.

 

Por que escolher a Red Hat para a automação?

A Red Hat trabalha com a grande comunidade open source para o desenvolvimento de tecnologias de automação. Nossos engenheiros contribuem para a melhoria dos recursos e o aumento da confiabilidade e da proteção. Assim, a sua empresa e a TI sempre terão um desempenho estável e seguro. 

O Red Hat Ansible Automation Platform oferece todas as ferramentas necessárias para implementar a automação por toda a empresa, incluindo playbooks e análises de dados. Os usuários centralizam e controlam a infraestrutura de TI por meio de um painel gráfico, controle de acesso baseado em função e muito mais para reduzir a complexidade operacional.

O Red Hat Ansible Automation Platform também inclui o Automation Analytics, que permite aos membros da equipe de operações analisar os padrões de execução, tempo de ativação e utilização em diferentes equipes que usam o Ansible Automation Platform.

O Ansible Automation Hub é o local para saber mais e descobrir o conteúdo pré-composto do Ansible compatível com a Red Hat, além de informações sobre o Ansible Certified Partner para auxiliar na introdução rápida aos usuários.

Além disso, o Red Hat Ansible Automation Platform foi reconhecido como líder pela Forrester Research no Forrester Wave™: Infrastructure Automation Platforms, 3º trimestre de 2020.

As empresas precisam não apenas da habilidade de criar automação com facilidade, mas também de ser capazes de compartilhar e reutilizar a automação entre projetos e equipes com o nível certo de governança e controle. 

Com a solução de automação adequada, você pode acelerar a implantação de novas aplicações e serviços, gerenciar a infraestrutura de TI com mais eficiência e aumentar a produtividade do desenvolvimento de aplicações.

A plataforma perfeita para a sua automação

Red Hat Ansible Automation Platform

Uma plataforma simples e sem agentes voltada à automação da TI em escala. Centralize e controle sua infraestrutura de TI por meio de uma interface gráfica, controle de acesso baseado em função e muito mais.

Você pode fazer muito mais com o Ansible