Blog

  • Početna
  • Objave

Prije ili kasnije, svaki DevOps stručnjak susreće se s potrebom učenja i korištenja alata za upravljanje konfiguracijom i daljinsko izvršavanje zadataka. Alati za upravljanje konfiguracijom igraju veliku ulogu u DevOpsu.

Važnost alata za upravljanje konfiguracijom

Rad s infrastrukturom prema konceptu Infrastructure as Code uz korištenje ovih sustava nužan je minimum za osiguravanje sustavnog pristupa IT operacijama.

Glavna ideja ovih alata je osigurati sljedivost promjena, ponovljivost i dosljednost, praktičnost, masovnost i simultanost te općenito poboljšanje kvalitete IT operacija.

Pristup Microdevopsa

U Microdevopsu ne bismo mogli pružati visokokvalitetne usluge bez obveznog korištenja alata za upravljanje konfiguracijom. Zapravo, koristimo ih gotovo za sve, a ovo su samo neki od osnovnih primjera:

  • Postavke operativnog sustava.
  • Implementacija aplikacija.
  • Kreiranje korisničkih računa.
  • Upravljanje vatrozidom (firewall).
  • Pokretanje usluga.
  • I, naravno, usluge upravljanja konfiguracijom.

Top 10 alata za upravljanje konfiguracijom u DevOpsu

Ako govorimo o najpopularnijim alatima za upravljanje konfiguracijom u DevOpsu, možemo istaknuti sljedeće:

  • HashiCorp Terraform – danas de facto standard za implementaciju i konfiguraciju infrastrukture u oblaku. Koristimo ga u Microdevopsu.
  • Ansible – također gotovo standard za upravljanje konfiguracijom, ali ga ne koristimo jer smo se u jednom trenutku odlučili za…
  • Salt (SaltStack) – sličan Ansibleu (također koristi YAML i Python), ali manje popularan, iako funkcionalniji: događaji, zeromq, agent. Većina našeg sistematskog znanja usmjerena je na Salt. Ne koristimo ga svaki dan, već svake minute!
  • CFEngine – piše se da je popularan, ali ga u praksi nikada nismo vidjeli niti testirali.
  • Chef i Puppet – klasični alati za upravljanje konfiguracijom. Vrlo funkcionalni i zreli, ali složeniji i teži za korištenje u odnosu na Ansible i Salt, pa ih ne koristimo.
  • Pulumi – često se spominje kao alternativa Terraformu i dobiva pohvale, ali ga nismo koristili jer smatramo da je njegov pristup previše radikalan.
  • AWS CloudFormation, Azure ARM/Bicep, Google Cloud Deployment Manager – alati zaključani na određene cloud providere (AWS, Azure, GCP), koriste se ako je nužno raditi nativno unutar tih platformi.

Bonus: nijedan od gore navedenih alata ne može se pravilno koristiti bez još jednog ključnog elementa:

  • Git + GitLab/GitHub/… – konfiguracijski manifesti su zapravo tekstualne datoteke u formatima YAML/JSON/Terraform itd. Stoga ih je potrebno pohraniti kao kod (Infrastructure as Code), a kod treba biti verzioniran u gitu.

Predložak klijentskog repozitorija Microdevops i automatizacija

Osim gore navedenih principa i ponovo iskoristivog koda Microdevopsa, imamo i predložak klijentskog repozitorija, koji omogućuje vrlo brzo generiranje i ažuriranje projekata za klijente (i može se koristiti više puta na postojećem repozitoriju!).

Naš računovodstveni sustav čak automatski generira klijentske repozitorije na temelju tog predloška, dodajući popise servera, tarifnih planova itd. Drugim riječima, automatski konfigurira sam kod za upravljanje konfiguracijom.

Ključ uspješnog upravljanja konfiguracijom

Zaključno, možemo reći da nije važno koji alat za upravljanje konfiguracijom odaberete. Ključ uspjeha leži u:

  • Sustavnom korištenju alata za upravljanje konfiguracijom.
  • Akumuliranju znanja o odabranom (ili više njih) alatu.
  • Dovoljnoj stručnosti za brzo provođenje ideja i zadataka kroz kod, bez ručnih operacija i tehničkog duga.

Ako ispunite ove uvjete, vaš DevOps bit će na visokoj razini!