devops automation how is automation applied devops practice
Automatizacija u DevOpsu:
U prošlom tutorialu naučili smo važnost Kontrola izvora u DevOpsu . Ovdje ćemo u ovom vodiču naučiti o automatizaciji u DevOpsu.
Automatizacija je krajnja potreba za praksom DevOpsa, a 'Automatiziraj sve' ključno je načelo DevOpsa. U DevOpsu automatizacija započinje od generiranja koda na stroju Developers, sve dok se kôd ne gurne u kôd, pa čak i nakon toga, za nadzor aplikacije i sustava u proizvodnji.
Predloženo čitanje => Serija informativnih vodiča za DevOps
Cijeli cjevovod DevOps koji sadrži kontinuiranu integraciju, kontinuirano testiranje i kontinuiranu implementaciju, uključujući praćenje izvedbe aplikacija u stvarnom vremenu, automatiziran je.
Automatizacija postavljanja infrastrukture i konfiguracija te implementacija softvera ključni je vrhunac prakse DevOps. Praksa DevOps-a u velikoj je mjeri ovisna o automatizaciji kako bi se isporuke odvijale tijekom nekoliko sati i često isporučivale na različitim platformama.
Dakle, automatizacija u DevOpsu potiče brzinu, veću točnost, dosljednost, pouzdanost i povećava broj isporuka. U konačnici, automatizacija u DevOpsu obuhvaća sve, od gradnje, postavljanja i nadgledanja.
VIDEO Dio 2, blok 3: DevOps automatizacija- 16 minuta 40 sekundi
U ovom vodiču detaljno shvatimo značaj automatizacije u praksi DevOps-a.
Ovdje ćemo razgovarati o:
- Kako se automatizacija primjenjuje u praksi DevOps?
- Potreba i uloga automatizacije?
- Što automatizirati?
- Alati i okvir, kontinuirano testiranje?
Pomalo se bojim razgovarati o automatizaciji. Jer, koliko god ikad govorio o automatizaciji, po meni ona uopće nikad nije potpuna.
Nepotrebno je reći da se automatizacija jednostavno udaljava od ručnih zadataka. Ljudi žele smanjiti svoju uključenost u svakodnevne rutinske zadatke i iskoristiti svoje vrijeme i inteligenciju u nečem novom ili inovativnom.
Nakon toga, uloga automatizacije u DevOpsu vrlo je važna i presudna u kontinuiranom isporučivanju vrijednosti kupcu.
Odgovorimo zajedno, kako se automatizacija primjenjuje u praksi DevOps-a, zajedno sa onim što automatizirati, jer se na oba ova pitanja može odgovoriti zajedno.
Što automatizirati?
Mislim da nije potrebno puno objašnjenja za odgovor na ovo pitanje u ovo doba automatizacije. Kamo god dođemo, vidimo stvari koje se automatiziraju, bilo s minimalnom ili bez uopće ljudske intervencije. Dakle, DevOps nije iznimka od toga.
U tradicionalnoj metodi razvoja softvera samo su razvojni tim i njihove aktivnosti bili automatizirani, posebno testiranje. Nekada je bilo tako da automatizacija znači testiranje i automatizaciju testnih slučajeva, i to samo funkcionalnih testnih slučajeva, ali čak ni nefunkcionalno testiranje poput performansi i sigurnosti.
I niti jedna od ostalih aktivnosti, posebno operativnih aktivnosti koja se koristi za automatizaciju. Neuspjeh ručnog postavljanja na ogromnom klasteru koji je uključivao 8 poslužitelja i gubitak koji je prouzročio vrlo je dobar Primjer složenosti uključene u postavljanja i jasno objašnjava potrebu automatizacije za aktivnosti Devopsa.
alati za automatizaciju za web aplikacije
Vidio sam se da organizacije angažiraju visokokvalificirane i inteligentne ljude plaćajući ogroman paket plaća za konfiguriranje mreža i okruženja, što se nekada radilo na osnovu njihove inteligencije, znanja u odgovarajućem području, njihovog iskustva i stručnosti, što je bilo cjelovit ručni rad.
Kao što svi znaju, ručna konfiguracija uvijek je sklona pogreškama. Ono što se obično znalo dogoditi u slučaju ručnog postavljanja jest da, tijekom određenog vremenskog razdoblja, nakon opetovanog ponavljanja istog posla, ovi pametni ljudi, mrežni konfiguratori dosade tim aktivnostima i završe u pogreškama zbog do nemara.
Znate da su vrlo briljantni i te će im aktivnosti biti vrlo jednostavne i nezanimljive te im svakodnevno trebaju novi izazovi, a ne ovaj dosadni zadatak.
Dakle, uvođenje automatizacije za instalaciju softvera i upravljanje verzijama infrastrukturnog dijela postalo je ogroman dobitak i smanjilo je puno ljudskih pogrešaka, osim što je uštedjelo vrijeme, i omogućava običnom čovjeku da to učini, uklanjajući tako ovisnost o kvalificiranim radnicima.
Također, trčanje oko procesa ako se postavlja novo okruženje, poput podizanja karte za postavljanje novog okruženja, IT tim koji radi s leđa na njegovom postavljanju, uklanjaju se sve te gnjavaže.
Stoga su pojedini članovi tima ovlašteni izvršavati zadatke. Zamislite brzinu, pouzdanost i dosljednost koju automatizacija postiže. Dakle, automatizacija se užasno povećala, broj isporuka proizvodnji.
Tako je sada u praksi DevOps-a, Operativni tim također započeo automatizaciju u svim svojim radovima, što je postalo ključ uspjeha DevOps-a.
Zapravo, u praksi DevOps-a, automatizacija započinje od generiranja koda na stroju za programere, sve dok kôd ne izađe u proizvodnju, pa čak i nakon toga, u praćenju aplikacije uživo. Ovo je tipični DevOps ciklus.
Tim za razvoj i Ops provjerava kod i konfiguracije okoline do kontrole izvora, odakle automatizacija pokreće pokretanje gradnje, pokretanje testnih slučajeva jedinice i druge osnovne kvalitete koda, testne slučajeve pokrivanja, sigurnosne testove itd.
Jednom kada kod završi s tim, kôd se automatski sastavlja, pohranjuje u kontrolu verzija i automatski raspoređuje u daljnja okruženja za daljnje testiranje i na kraju u produkcijsko izdanje.
Možemo vidjeti automatizaciju koja se provodi u svakoj fazi razvoja, počevši od pokretanja građevine, provođenja jedinstvenih ispitivanja, pakiranja, postavljanja u navedena okruženja, provođenja testova provjere gradnje, testova dima, slučajeva prihvaćanja i konačno postavljanja na krajnje proizvodno okruženje.
Čak i kad kažemo automatizacija testnih slučajeva, nisu u pitanju samo unit testovi, već instalacijski testovi, integracijski testovi, testovi korisničkog iskustva, testovi korisničkog sučelja itd.
DevOps prisiljava operativni tim, osim razvojnih aktivnosti, da automatiziraju sve njihove aktivnosti, poput pružanja poslužitelja, konfiguriranja poslužitelja, konfiguriranja mreža, konfiguriranja vatrozida, praćenja primjene u proizvodnom sustavu.
Stoga, da bismo odgovorili što automatizirati, to je okidač gradnje, sastavljanje i izrada, postavljanje ili instaliranje, automatizacija infrastrukture postavljene kao kodirana skripta, konfiguracije okoline kao kodirana skripta, nepotrebno spominjati testiranje, praćenje životnog učinka nakon implementacije u životu, praćenje dnevnika, praćenje upozorenja, guranje obavijesti uživo i dobivanje upozorenja iz uživo u slučaju bilo kakvih pogrešaka i upozorenja itd.,
Konačno automatizirajući sve dokumente povezane s projektom.
Dakle, mogu reći da automatizacija na jeziku DevOps znači kontinuirana integracija, kontinuirano testiranje, kontinuirano postavljanje i kontinuirana isporuka. Svaku ćemo detaljno proučiti u narednim dijelovima.
Sveukupno, DevOps omogućuje svaku aktivnost u razvoju i operacijama, gdje god je to moguće, što god je automatizirano, što god je ponovljivo, gdje god se zahtijeva preciznost, što god treba dugo vremena, automatizira se.
Ipak, ako ne spominjemo alate koji će se koristiti za automatizaciju, rasprava o automatizaciji je nepotpuna.
Dakle, odabir pravog okvira i alata za automatizaciju ključni je zahtjev za automatizaciju u DevOpsu.
Na tržištu je dostupno puno alata, i alata otvorenog koda i licenciranih alata, koji podržavaju automatizaciju cijelog isporuka, uključujući aktivnosti koje obavlja Ops tim, strojevi za osiguranje, okretanje automatiziranih poslužitelja, konfiguriranje mreža, vatrozidi, pa čak i praćenje izvedbe softvera.
Također, određene su organizacije razvile vlastiti okvir kako bi integrirali kraj do kraja procesa DevOps-a koji započinje od predavanja koda do uvođenja koda, uključujući dokumentaciju koja je jedinstveni integrirani alat, a tim ne mora ići izvan okvira za bilo što povezano programirati, bilo to kontrola verzija, pisanje testnih slučajeva, pregled, odbacivanje rezultata testnih slučajeva, analiza itd.,
Npr .: lutka, voditelj resursa Azure, kuhar itd.,
Prednosti automatizacije u DevOpsu
Vidjeli smo ranija izdanja, u nedostatku automatizacije kojima su trebale godine da se uđe u proizvodnju, a nedavno i s agilnom, bilo ona vitka, skromna ili sigurna, a s postotkom automatizacije koja se poboljšava, vremenski rokovi izdavanja svodi se na nekoliko mjeseci tjedni.
Ali automatizacija je apsolutno nužna kako bi se izdanja što brže napravila u nekoliko sati. Dakle, mislim da je nemoguće izvršiti tako brza i česta izdanja ako ne postavimo automatizaciju na cijelom cjevovodu.
Dakle, sasvim očito, ako želimo postići ciljeve DevOps-a, visoku kvalitetu i vrijednost koja se isporučuje kupcima čestim i brzim isporukama, automatizirajte sve što je neophodno.
Jasno je da već sada znamo da automatizacija uklanja ručne pogreške, ovisnost o pojedincu, brže izvodi i postiže točnost postižući dosljednost i pouzdanost. Stoga automatizacija svega omogućuje devops cilj visokokvalitetne isporuke, omogućuje česta i brža izdanja.
kako napraviti hrpu u javi
Ukratko, automatizacija,
- Uklanja ručne pogreške
- Članovi tima su ovlašteni
- Ovisnost uklonjena
- Latencija uklonjena
- Povećava broj isporuka
- Smanjuje vrijeme izvođenja
- Povećava učestalost izdanja
- Pruža brže povratne informacije
- Omogućuje brzinu, pouzdanost i dosljednost
Dakle, ukratko, automatizacija u DevOpsu u konačnici obuhvaća sve, od gradnje, postavljanja i nadgledanja.
Preporučena literatura
- Važnost malih povećanja isporuka u DevOpsu
- Kontrola izvora ili kontrola verzija u DevOpsu (Video tutorial 2. dio - blok 2)
- Vodič za DevOps: Vrhunski vodič za DevOps (25 i više vodiča)
- Praksa DevOps-a temeljena na agilnom manifestu (2. dio - blok 1)
- Vodič za testiranje DevOpsa: Kako će DevOps utjecati na QA testiranje?
- AWS CodeCommit Vodič za implementaciju DevOpsa u oblaku
- Vodič za automatizaciju SeeTesta: Vodič za alat za automatizaciju mobilnih testova
- Kontinuirana isporuka u DevOpsu