Indietro

ⓘ Ansible (software)




                                     

ⓘ Ansible (software)

In informatica Ansible è un software libero che consente di automatizzare le procedure di configurazione e gestione sui sistemi unix-like e Windows.

                                     

1. Architettura

Come per la maggior parte dei software di configurazione, Ansible sfrutta due tipi di server: nodi e macchine controllori. La macchina controllore è quella che orchestra il tutto eseguendo determinati comandi sui nodi connettendovisi attraverso una chiave di accesso SSH.

In contrasto con i più popolari software del suo genere - come Chef, Puppet e CFEngine - Ansible utilizza unarchitettura agentless. In unarchitettura agent-based, i nodi devono avere installato un demone che comunichi con la macchina controllore mentre con larchitettura agentless di Ansible non serve che sui nodi sia installato alcun software specifico oltre al server SSH. Questo riduce di molto lipotetico traffico di rete necessario per utilizzare questo programma.

                                     

1.1. Architettura Obiettivi

  • Minimale. I software gestionali non dovrebbero imporne altri come dipendenze nellambiente;
  • Sicuro. Ansible non utilizza agenti sui nodi ma è richiesto solo il server OpenSSH;
  • Affidabile. Se scritto con attenzione, un Playbook può essere in grado di gestire anche situazioni inaspettate sui nodi;
  • Poco da imparare: i Playbook sono scritti in YAML, un linguaggio molto elementare basato principalmente sullindentazione.
                                     

1.2. Architettura Playbooks

I Playbook sono dei "libri" dai quali Ansible "legge" le istruzioni da eseguire sui nodi destinatari.

I Playbook possono anche definire dei ruoli, che eseguiranno altri Playbook per completare la configurazione.

                                     

1.3. Architettura Ansible Tower

Ansible Tower è un API, servizio web e console realizzata per consentire lutilizzo di Ansible a team di tecnici IT. Si tratta di un prodotto commerciale di RedHat, Inc.

Scritto in Go, Semaphore è un software libero alternativo a Tower.

                                     

2. Piattaforme supportate

Prima della versione 1.7 le macchine controllate potevano solo essere host Linux o Unix come ad esempio RedHat, Debian, CentOS, Ubuntu, ecc. e Python 2.6 o 2.7 deve essere installato. Dalla versione 1.7 Ansible è in grado di gestire anche nodi Windows.

Integrazione cloud

Ansible è in grado di configurare anche ambienti emulati o cloud, inclusi Amazon Web Services, CloudStack, DigitalOcean, Eucalyptus Cloud, Google Cloud Platform, KVM, Microsoft Azure, OpenStack, Rackspace, SoftLayer, VMware e XenServer.