Od manuelnog rada do automatizovane infrastrukture

Ansible

Od manuelnog rada do automatizovane infrastrukture

Cilj automatizacije je da isti zadatak uvek bude izveden na identičan, kontrolisan i proverljiv način. COMING je tu da svojim korisnicima pomogne da ovaj put započnu, a potom automatizaciju postepeno prošire i na čitavu infrastrukturu.

automatizacija zupcanici

IT infrastruktura se danas menja veoma brzo. Broj sistema raste, okruženja postaju složenija, bezbednosna ažuriranja stižu sve češće, a od IT timova očekuje se da reaguju brzo i efikasno, prate promene, ažuriraju sisteme bez prekida, uz jasan trag o tome ko je šta uradio. U takvom okruženju manuelni rad postaje ograničenje. Problem više ne predstavlja samo vreme potrebno da administrator ponovi isti postupak na deset ili pedeset servera. Svaka manuelna radnja otvara prostor za razliku u konfiguraciji, preskočenu proveru ili grešku u trenutku kada se radi pod pritiskom.

Manuelni rad ne skalira

U klasičnom modelu administriranja veliki broj aktivnosti zavisi od znanja pojedinca. Jedan administrator ima svoju proceduru, dok drugi isti zadatak obavlja po drugačijem redosledu koraka. Pored toga, deo znanja često ostaje u beleškama ili skriptama na lokalnom računaru. Sve dok je broj sistema mali, takav pristup može funkcionisati. Međutim, kako infrastruktura raste, povećava se vreme potrebno za održavanje sistema, kao i rizik od promene i potreba za standardizacijom.

Dobar primer ovakvog procesa je ažuriranje sistema, koje podrazumeva proveru stanja sistema, izradu procedure za povratak na prethodnu verziju ako nešto krene po zlu, instaliranje nove, bezbedne verzije, po potrebi restartovanje sistema i potvrdu da su aplikacije i servisi ponovo dostupni. Kada se isti proces ponavlja ručno na velikom broju mašina, neki korak lako može biti preskočen. Dodatni problem nastaje kada naknadno treba odgovoriti na pitanja: Ko je pokrenuo promenu? Kada, nad kojim sistemima i sa kojim parametrima?

Ansible: Proces koji se može ponoviti

Ansible omogućava da se takvi postupci definišu kroz kod i izvršavaju na standardizovan način. Umesto da administrator svaki put prolazi kroz istu listu komandi, željeno stanje i koraci definišu se u fajlu koji se zove Ansible playbook, koji je napisan u YAML formatu. Isti playbook može se zatim primeniti nad jednim serverom, grupom sistema ili različitim okruženjima.

Ansible koristi agentless pristup, Linux sistemima upravlja preko SSH-a (Secure Shell Protocol), dok se za Windows sisteme može koristiti Windows Remote Management (WinRM). Sa mrežnim, storidž i drugim infrastrukturnim sistemima Ansible može da komunicira preko njihovih podržanih interfejsa i programskih interfejs aplikacija (API). Na ovaj način automatizacija prestaje da bude ograničena samo na servere, već obuhvata i virtuelizaciju, mrežu, cloud, baze podataka i druge delove infrastrukture.

Playbookovi se mogu čuvati u Git repozitorijumu, inventory definiše sisteme nad kojima se automatizacija izvršava, a promenljive omogućavaju da se isti postupak prilagodi različitim okruženjima. Rezultat je proces koji je moguće lakše ponoviti, proveriti i unaprediti u odnosu na skup pojedinačnih administratorskih koraka.

Od alata do enterprise automatizacije

U produkcionom okruženju ubrzo se pojavljuju dodatna pitanja: Ko ima dozvolu da pokrene automatizaciju? Gde se čuvaju kredencijali? Ko odobrava rizične promene i kako obezbediti pouzdanu evidenciju rezultata?

saradnja zupcanici

Red Hat Ansible Automation Platform uvodi centralno mesto za upravljanje automatizacijom, a Automation Controller obezbeđuje web interfejs i API, upravljanje inventory fajlom i kredencijalima, role-based access control, kao i job template i workflow.

Posledično, automatizacija prestaje da bude skup skripti koje se nalaze na računaru jednog administratora. Tim dobija zajedničku platformu, sa jasno definisanim pravima pristupa, istorijom izvršavanja i mogućnošću da se između pojedinih tehničkih koraka postavi proces odobravanja (approval). Administrator donosi odluku tamo gde je ona potrebna, dok ponovljive operacije preuzima platforma.

Primer iz prakse: Patching Windows i Linux sistema

Jedan od tipičnih slučajeva primene jeste automatizovano patchovanje virtuelnih mašina. Proces počinje pre-check proverama, kao što su uptime, slobodan prostor i stanje servisa. Nakon toga kreira se snapshot, sistem se ažurira i – ukoliko je potrebno – restartuje. Po podizanju sistema, ponovo se proverava stanje servisa, a rezultat se prikazuje administratoru. Ako je sve u redu, administrator odobrava završni korak, snapshot se briše i ostaje evidencija izvršenog procesa. To znači da svaka mašina prolazi kroz isti redosled koraka, čime proces koji je ranije zavisio od pažnje pojedinca postaje ponovljiv i proverljiv.

DevOps Use Case: Automatizacija PostgreSQL baze

U DevOps okruženju Ansible se može koristiti za automatizovano postavljanje i konfiguraciju PostgreSQL servera na više razvojnih, testnih i produkcionih sistema. Umesto da se instalacija paketa, kreiranje baza i korisnika, podešavanje pristupa i ostali koraci obavljaju ručno, kompletan proces može se definisati kroz Ansible role i playbookove, čime se postiže da svako okruženje bude konfigurisano na isti način, smanjuje se prostor za ljudsku grešku, a priprema nove infrastrukture postaje znatno brža i jednostavnija. Isti playbook se može uključiti i u CI/CD proces, čime infrastruktura postaje ponovljiva, verzionisana i jednostavnija za održavanje.

Od playbooka do standarda

Optimalan pristup uvođenja automatizacije podrazumeva postepenu implementaciju, umesto istovremenog automatizovanja svih poslovnih procesa. Najveću vrednost najčešće daju procesi koji se često ponavljaju, imaju jasno definisane korake, troše vreme više administratora ili nose veći rizik od ljudske greške. Kada se takav proces standardizuje i testira, isti princip može se širiti na druge timove i sisteme. Tako nastaje okruženje u kojem su promene ponovljive, prava pristupa jasnija, kredencijali centralizovani, a izvršavanje i rezultati zabeleženi. Administrator se manje bavi ponavljanjem komandi, a više projektovanjem pouzdanog procesa.

Automatizacija ne uklanja čoveka Cilj dobre automatizacije nije da administratora u potpunosti ukloni iz procesa. Njen zadatak je da eliminiše ručne korake koji ne zahtevaju donošenje odluka, dok čoveka zadržava tamo gde su potrebni procena i odgovornost. Time dobijamo brzinu automatizacije, ali istovremeno zadržavamo kontrolnu tačku tamo gde ona ima smisla.

Cilj automatizacije ogleda se u tome da isti zadatak svaki put bude izveden na identičan, kontrolisan i proverljiv način. Tada na scenu stupaju Ansible i Ansible Automation Platform, koji vode infrastrukturu od manuelnog rada ka automatizovanom, standardizovanom i skalabilnom modelu.

COMING je tu da svojim korisnicima pomogne da ovaj put započnu kroz konkretan pilot proces, a potom automatizaciju postepeno prošire na ostatak infrastrukture.

Mateja Manić i Branko Pavlović, COMING

0 komentara

Prosledi komentar

Vaša adresa e-pošte neće biti objavljena. Neophodna polja su označena *

Najnoviji

API integracije i ERP: dva uspešna primera

API integracije i ERP: dva uspešna primera

Business Central moduli API integracije i ERP: dva uspešna primera Integracije...
Bussines_IT_18_Na_krilima_modernih_poslovnih_rešenja

Digitalizacija u skladu sa zakonom

Nova era: E-otpremnice u poslovanju Digitalizacija u skladu sa zakonom Proces...
agar

Robotika i veštačka inteligencija u poljoprivredi

AgAR Robotika i veštačka inteligencija u poljoprivredi U eri ubrzanog...
Temelj dugoročne saradnje: Implementacija ERP-a budućnosti

Temelj dugoročne saradnje: Implementacija ERP-a budućnosti

Mikro Kontrol d.o.o. Temelj dugoročne saradnje: Implementacija ERP-a budućnosti...