Ansible je alatka otvorenog koda za konfiguraciono upravljanje i platforma za IT automatizaciju. Ona olakšava automatizaciju procesa obezbeđivanja softvera, upravljanja konfiguracijama i postavljanja aplikacija.
Ansible se razlikuje od drugih aplikacija za upravljanje konfiguracijom. Ta razlika ga izdvaja od alata kao što su Chef, CFEngine, Salt i Puppet.
Ansible Tower nudi web interfejs za upravljanje Ansible-om. Korisnici Ansible-a su tražili intuitivan interfejs koji je jednostavan za korišćenje, kako bi brzo mogli da postavljaju i prate konfiguracije.
Ansible Tower je odgovor na potrebe upravljanja Ansible-om. Svaki jezik i svaki framework imaju svoje specifičnosti. U ovom tekstu ćemo razmotriti razlike između Ansible, Ansible Galaxy i Ansible Tower.
Uvod u Ansible
Ansible je alatka otvorenog koda za upravljanje konfiguracijama, koja automatizuje obezbeđivanje softvera i upravljanje konfiguracijom. Omogućava vam da kontrolišete i konfigurišete više računara sa jedne serverske mašine.
Radi na principu „guranja“ konfiguracija sa glavne mašine na sve njene čvorove.
Konfiguracije se pišu pomoću YAML-a. Lako ih je razumeti i dovoljno su jednostavne za kreiranje od strane administratora servera. Komunicira preko SSH protokola, koristeći OpenSSH kao transportni sloj.
Sve Ansible konfiguracije su smeštene u skupu YAML datoteka koje se nazivaju „playbook“. Ovaj playbook sadrži zadatke ili „plays“. Za konfigurisanje čvorova, zadatak koristi module.
Playbook-ovi su mesto gde se pišu konfiguracije. Svi zadaci napisani u playbook-u se izvršavaju po redosledu. Podržano je i sinhrono i asinhrono izvršavanje.
Na slici iznad možete videti nekoliko host mašina. Ove mašine služe za izvršavanje svih kreiranih konfiguracija.
Prednosti Ansible-a:
- Besplatan je i otvorenog koda
- Jednostavan je: nema problema sa podešavanjem Ansible-a
- Moćan: pomoću Ansible-a možete konfigurisati hiljade mašina istovremeno
- Fleksibilan: može se koristiti u različitim okruženjima.
- Bez agenta: ne zavisi od agenata na čvorovima, za razliku od Jenkin-a.
- Efikasan: ne zahteva dodatni softver za rad.
Nedostaci Ansible-a:
- Može biti komplikovan za instalaciju
- Ne radi na Windows-u
- Mogući problemi sa kompatibilnošću
Uvod u Ansible Galaxy
Ansible Galaxy omogućava korisnicima da dele i preuzimaju uloge. Podstiče korišćenje višestrukih uloga u konfiguraciji servera. Ansible Galaxy se često koristi u projektima.
Ansible Galaxy je u osnovi javno skladište za Ansible uloge. Uz svaku ulogu dolazi i README dokument, koji sadrži informacije o korišćenju uloge i varijablama.
Ansible Galaxy nudi veliki broj uloga koje se neprestano razvijaju i šire. Uloge omogućavaju da razložite veće playbook-ove i kreirate strukturiranu organizaciju. Možete modifikovati postojeće uloge i koristiti ih prema svojim potrebama.
Struktura Ansible Galaxy uloga:
- README.md je datoteka koja opisuje ulogu, sadrži detalje o ulaznim parametrima uloge i primer YAML-a.
- tasks – Ovde se navode svi zadaci u okviru uloge. Ulazna tačka je main.yml. Izvršenje počinje ovde. Ova datoteka može da sadrži i druge datoteke.
- handlers – Kategorija koja sadrži hendlere koji se mogu koristiti u ovoj ili bilo kojoj drugoj ulozi.
- defaults – Sadrži podrazumevane varijable za ulogu.
- vars – Varijable koje imaju veći prioritet od podrazumevanih vrednosti za ulogu.
- files – Datoteke koje se mogu primeniti putem uloge.
- templates – Šabloni koji se mogu koristiti kroz ulogu.
- meta – Metapodaci za definisanje uloga i zavisnosti od drugih uloga.
- tests – Testovi za CI.
- library – Za ugrađivanje modula ili dodataka u ulogu. Ne kreira se inicijalnom komandom. Takođe možete kreirati prilagođeni modul u Python-u u ovoj fascikli i koristiti ga u svojim zadacima.
Ansible Galaxy je alatka koja omogućava kreiranje i upravljanje ulogama. Kako se razvija Ansible, javljaju se nove verzije i izmene. Ansible verzija 2.2.8 je donela funkciju kolekcija. Ansible sadržaj se distribuira u kolekcijama. One se koriste za pakovanje i distribuciju modula, playbook-ova i dodataka.
Prednosti Ansible Galaxy:
- Omogućava centralno pronalaženje, ponovno korišćenje i deljenje sadržaja vezanog za Ansible.
- Olakšava preuzimanje uloga za instalaciju aplikacija.
- Ubrzava proces raspoređivanja.
Nedostaci Ansible Galaxy:
- Sadržaj je vođen od strane zajednice, tako da kvalitet modula nije uvek zagarantovan.
- Mnoge uloge u Ansible Galaxy imaju lošu dokumentaciju.
- Većina uloga nisu idempotentne.
Uvod u Ansible Tower
Ansible Tower je korisnički interfejs za Ansible. To je web-bazirano rešenje koje mogu koristiti različiti IT timovi.
Ansible Tower se može uporediti sa instrument tablom automobila. Tabla vam prikazuje sve potrebne informacije o stanju automobila: brzinu, nivo ulja, goriva, itd. Ansible Tower funkcioniše kao kontrolna tabla, dok je Ansible motor.
Ansible Tower omogućava korisnicima da izvršavaju zadatke na daljinu putem grafičkog interfejsa. Ansible poslovi se izvršavaju pomoću playbook-ova. Ovi playbook-ovi se mogu izvršavati pomoću Ansible CLI-a. Međutim, Ansible Tower omogućava upravljanje i izvršavanje playbook-ova putem GUI-a.
Možete izvršavati postojeće playbook-ove ili kreirati sopstvene. Ansible Tower takođe nudi integrisane notifikacije. Ovo omogućava obaveštavanje određenih timova kada je posao završen ili neuspešan. Ova vrsta komunikacije je od vitalnog značaja za svaku organizaciju.
Takođe pruža kontrolu pristupa zasnovanu na ulogama (RBAC), koja vam omogućava da odredite ko ima dozvolu za pokretanje poslova. Ovo omogućava samo određenim korisnicima da izvršavaju poslove u Ansible Tower-u, što je često neophodno za ispunjavanje sigurnosnih propisa.
Pored RBAC, Ansible Tower prikazuje log revizije koji detaljno opisuje ko je bio zadužen za koji posao u bilo kom trenutku. Ovo pruža dodatni nivo sigurnosti koji je teško postići ako koristite samo Ansible.
Ansible Tower omogućava daljinsko izvršavanje koda u različitim aplikacijama. VM može biti u neispravnom stanju i zahtevati restartovanje, a Ansible Tower to čini jednostavnim i sigurnim.
Softver koji se daljinski instalira može se koristiti za brzo ispravljanje bezbednosnih propusta ili resetovanje lozinki. Ansible Tower je centralno mesto za upravljanje vašom mrežnom infrastrukturom i VM-ovima raspoređenim putem Ansible-a.
Za razliku od Ansible-a, Ansible Tower nije besplatan. Postoje dve verzije Ansible Tower-a: Premium i Standard. Koja verzija je bolja, zavisi od vas i IT zahteva vaše kompanije. Standard verzije su pogodne za većinu IT operacija. Premium verzija je dizajnirana za kritične DevOps potrebe.
Red Hat će vam dati tačne informacije o cenama nakon što ih kontaktirate. Standard verzija košta oko 10.000 dolara godišnje za 100 čvorova. Premium verzija košta oko 14.000 dolara godišnje za isti broj čvorova.
Prednosti Ansible Tower-a:
- Jednostavan raspored
- Pomaže u izgradnji CI/CD cevovoda za upravljanje radnim tokovima
- Omogućava zakazivanje poslova i obaveštava o greškama
- Grafičko upravljanje resursima
- Vrlo jednostavno za podešavanje
Nedostaci Ansible Tower-a:
- Skup
- Zasnovan na pretplati
- Rešavanje konflikata pri spajanju je nemoguće ili nejasno
- Otklanjanje grešaka je komplikovano
Ansible vs Ansible Galaxy vs Ansible Tower
Ansible se može koristiti kao alat za IT automatizaciju. On može da implementira softver i konfiguriše sisteme. Takođe može da orkestrira složenije IT zadatke, kao što su kontinuirana implementacija ili zbirna ažuriranja bez prekida. Osnovni ciljevi Ansible-a su jednostavnost i lakoća korišćenja.
Ansible Tower, sa druge strane, se može opisati kao „Najmoćniji Git klijent za Mac i Windows“. Možete koristiti sve moćne funkcije Git-a u GUI-u, što je produktivnije. Ansible Galaxy se koristi za skladištenje Ansible uloga. Ansible Galaxy je ekvivalent PiPy za Python ili Maven za Javu.
Ansible Tower se ne može koristiti bez Ansible-a. Ansible Tower se može koristiti sa Ansible Tower-om. Ansible je mehanizam koji pokreće upravljanje i implementaciju vaše infrastrukture.
Ansible Tower nam omogućava da vidimo unutrašnje funkcionisanje svega. Pruža uvid i kontrolu nad bezbednošću i usklađenosti infrastrukture vaše organizacije.
Ansible Tower može obezbediti RBAC za vaše Ansible implementacije. Ansible Tower je takođe odlična opcija ako želite da profesionalci koji nisu vešti u kodiranju pregledaju vašu infrastrukturu.
Poređenje Ansible vs Ansible Tower vs Ansible Galaxy:
Ansible | Ansible Tower | Ansible Galaxy | |
Opis | Alatka za upravljanje konfiguracijom otvorenog koda | Korisnički interfejs za Ansible | Repozitorijum uloga i kolekcija |
Izvršavanje | Izvršava zadatke putem CLI | Pokreće ansible-playbook pomoću GUI | Upravlja ansible-galaxy pomoću CLI |
Godina izlaska | 2012 | 2015 | 2015 |
Dodatno | Lako se instalira i koristi. | Pruža vidljivost u celom Ansible okruženju. | Omogućava ponovno korišćenje blokova koda u različitim playbook-ovima. |
Zaključak
To je to o Ansible-u, Ansible Tower-u i Ansible Galaxy-ju i razlikama između njih. Organizacija treba da razmotri svoje zahteve u vezi sa Ansible Tower-om, jer je veoma skup. Ali generalno, Ansible je odličan alat za konfiguraciono upravljanje za bilo koje okruženje slično Linux-u.
Možda će vas zanimati i sistemsko-administrativni zadaci koje možete automatizovati pomoću Ansible-a.