Sadržaj[Sakrij][Prikaži]
DevOps je mješavina filozofije, alata i praksi koje imaju za cilj pomoći organizacijama da brzo isporuče aplikacije.
Timovi koji usvajaju DevOps model ulažu u sposobnost da bolje služe svojim klijentima i brže rade od svojih konkurenata.
DevOps model, kao što ime implicira, kombinuje razvojne i operativne timove zajedno. DevOps inženjeri često rade zajedno tokom čitavog životnog ciklusa aplikacije.
To znači da se mnogi isti ljudi bave razvojem, testiranjem, implementacijom i održavanjem.
Praksa DevOps-a podstiče bolju i bržu isporuku do krajnjeg kupca.
Na primjer, tim bi mogao imati brže vrijeme za prepoznavanje greške, njeno rješavanje i implementaciju zakrpe.
Tim bi mogao koristiti DevOps za brže testiranje novih funkcija, neprestano objavljujući nova ažuriranja za korisnika.
Ovaj članak će govoriti o tome šta DevOps inženjeri zapravo rade. Zatim ćemo proći kroz vještine koje moraju imati inženjeri DevOps-a kako bi se istakli u svojim ulogama.
Šta radi DevOps inženjer?
DevOps inženjer je vrlo zahtjevna uloga. On mora imati široko znanje koje obuhvata i razvoj i poslovanje.
S obzirom na to da će djelovati kao most između oba tima, moraju biti u stanju podnijeti i razgovor sa mnogim ljudima.
DevOps inženjeri obično već imaju iskustva s uobičajenim programskim alatima. Oni često pomažu u izgradnji koda aplikacije i održavanju CI/CD cevovoda.
U isto vrijeme, oni također nose odgovornost sistemske administracije i upravljanja infrastrukturom.
Ovo uključuje postavljanje servera i resursa u oblaku na kojima će aplikacije biti smještene. Ovo može uključivati servere na licu mjesta ili virtualne instance koje pružaju tehnologije u oblaku.
7 najboljih vještina za DevOps inženjere
1. Osnove Linuxa i skriptiranje
Linux je an Open-source operativni sistem koji se nalazi na svim vrstama računara. OS je popularan u razvoju DevOps-a iz mnogo razloga.
Linux mašine su vrlo stabilne i može im se vjerovati da rade 24/7 bez ponovnog pokretanja. Operativni sistem je mnogo sigurniji u poređenju sa operativnim sistemom koji je prilagođen potrošačima kao što je Windows.
Znati kako efikasno koristiti Linux okruženje je neophodna vještina za DevOps inženjera. Većina kompanija koristi Linux okruženje za pokretanje svojih aplikacija velikih razmjera.
Uspješan inženjer bi trebao znati najčešće komande u Linuxu i trebao bi biti u stanju kreirati shell skripte za ponavljajuće ili zakazane zadatke.
2. Kontejneri i orkestracija kontejnera
Kontejnerizacija je proces stavljanja softverske komponente i njenog okruženja, zavisnosti i konfiguracije u jednu jedinicu poznatu kao kontejner.
Kontejneri se mogu pokretati i postavljati bilo gdje, što ih čini korisnim za DevOps. Kontejneri su lagani i lako se prenose s jednog tima na drugi.
Orkestracija kontejnera se odnosi na automatizaciju operativnih napora potrebnih za pokretanje kontejnerskih aplikacija i usluga. DevOps inženjeri bi trebali biti upoznati sa implementacijom i skaliranjem kontejneriziranih okruženja.
doker je popularna platforma za DevOps timove koja može pomoći u pakovanju vaše aplikacije u kontejner za distribuciju.
3. Kontinuirana integracija i kontinuirana isporuka
Kontinuirana integracija (CI) se odnosi na skup praksi koje podstiču timove da često implementiraju male promjene. CI se fokusira na automatizaciju izgradnje, pakovanja i testiranja aplikacija.
Kontinuirana isporuka (CD) automatizira isporuku aplikacija. Ovo može biti guranje novog urezivanja u okruženje za testiranje ili guranje najnovije verzije vašeg softvera u proizvodno okruženje.
DevOps inženjeri bi trebali biti upoznati sa CI/CD cevovodom jer potiče brže iteracije i češće testiranje.
Inženjeri mogu koristiti verzija kontrole grananje kako bi se definiralo kako se novododani kod integrira u okruženje za testiranje i konačni proizvod.
4. Administracija sistema
Dok tipični sistemski administrator nema nikakvu ulogu u razvoju softvera koji pomaže da nadgleda, DevOps inženjer mora dobro razumjeti razvojnu stranu.
SysAdmin i DevOps inženjeri dijele neke zajedničke odgovornosti.
DevOps inženjeri i dalje moraju znati kako da konfigurišu i upravljaju više računarskih sistema i servera. Uobičajeni zadaci uključuju kreiranje i upravljanje korisničkim nalozima, održavanje baza podataka i reagovanje na prekide sistema.
5. Sigurnosna obuka
DevOps sigurnost uključuje razumijevanje kako se sigurnost može ugraditi u sve faze životnog ciklusa DevOps-a.
Inženjeri bi trebali znati kako pravilno postupati s privilegijama pristupa, SSH ključevima, API tokenima i tako dalje.
Tipično DevOps okruženje ima različite alate koji svi zahtijevaju vlastito tajno upravljanje.
Vješti DevOps inženjeri kontroliraju, nadgledaju i revidiraju različita prava pristupa privilegijama. Inženjeri bi takođe trebali imati na umu moguće ranjivosti kako u samoj aplikaciji tako iu raznim ovisnostima na koje se može osloniti.
6. Arhitektura sistema i obezbjeđivanje
DevOps inženjeri bi trebali biti u stanju dizajnirati i upravljati kompjuterskim ekosistemom organizacije.
Inženjeri imaju koristi od razumijevanja procesa Infrastruktura kao kod (IaC). IaC se fokusira na automatizaciju konfiguracije i upravljanja podatkovnim centrima vaše mreže.
Usluge u oblaku nude virtuelne mašine koje inženjeri mogu koristiti za testiranje svojih aplikacija u velikom obimu u ranoj fazi.
Ovo može dati programerima jasnu sliku o tome koje vrste konfiguracija hardvera su potrebne za pokretanje aplikacije kada se pokrene.
Na primjer, Azure Resource Manager pruža upravljački sloj koji vam omogućava kreiranje, ažuriranje i brisanje resursa u oblaku.
7. Komunikacija i saradnja
Da bi DevOps filozofija funkcionirala u organizaciji, svaki tim mora prihvatiti odgovarajuću komunikaciju i suradnju.
DevOps ima za cilj uklanjanje “silosa” razvoja softvera, gdje se različiti timovi fokusiraju na aspekt projekta koji se odnosi na njihovu ulogu. Silosi dovode do problema u komunikaciji i timovi mogu imati neusklađene ciljeve za predmetni projekat.
DevOps inženjer bi trebao prihvatiti otvorenu i transparentnu komunikaciju. Redovni sastanci i snažna baza znanja mogu pomoći da svaki tim ostane na istoj stranici.
Sjajan DevOps inženjer najbolje radi kada sarađuje s drugima i otvoren je za dijeljenje svojih misli i prijedloga s drugima.
zaključak
DevOps uloge su porasle u popularnosti i potražnji. DevOps inženjeri posebno zahtijevaju širok multidisciplinarni skup vještina što bi moglo zvučati zastrašujuće.
Iako je uloga prilično zahtjevna, svako ko ima iskustva s barem jednim aspektom DevOps-a može početi slijediti ovu željenu ulogu.
Osnovna filozofija DevOps-a promoviše kulturu saradnje i kontinuiranog učenja.
Sve dok pokazujete strast za učenje novih tehnologija i sposobnost praćenja odgovornosti koje se protežu na više disciplina, imate ono što je potrebno da budete dobar DevOps inženjer.
Ostavite odgovor