Zašto bi sistemski administratori, programeri i testeri trebali naučiti DevOps prakse?

Zašto bi sistemski administratori, programeri i testeri trebali naučiti DevOps prakse?

Kuda ići sa ovim znanjem, šta raditi na projektu i koliko zaraditi, šta reći i pitati na intervjuu - kaže Aleksandar Titov, menadžerski partner Express 42 i autor online kurs “DevOps prakse i alati”.

Zdravo! Iako termin DevOps postoji od 2009. godine, u ruskoj zajednici još uvijek nema konsenzusa. Vjerovatno ste primijetili da neki smatraju DevOps specijalnošću, drugi ga smatraju filozofijom, a treći termin skupom tehnologija. Već sam mnogo puta nastupao sa predavanja o razvoju ovog smjera, tako da neću ulaziti u detalje u ovom članku. Dozvolite mi samo da kažem da u Express 42 uključujemo sljedeće:

DevOps je specifična metodologija, kultura kreiranja digitalnog proizvoda, kada svi stručnjaci u timu učestvuju u proizvodnji.

U klasičnom korporativnom razvoju sve ide sekvencijalno: programiranje, testiranje i tek onda rad, a brzina ovog procesa od ideje do proizvodnje je 3 mjeseca. Ovo je globalni problem za digitalne proizvode, jer je nemoguće brzo dobiti povratnu informaciju od kupaca.

U DevOps-u, alati i pristupi su dizajnirani da obezbede da se procesi razvoja, testiranja i rada odvijaju istovremeno.

Šta slijedi iz ovog pristupa?

  • Ne možete zaposliti nekog “inženjera” koji će doći i riješiti sve probleme s proizvodnjom. Cijeli tim mora primijeniti tehniku.

    Zašto bi sistemski administratori, programeri i testeri trebali naučiti DevOps prakse?

  • DevOps NIJE sljedeći oblik sistemskog administratora za nadogradnju. “DevOps inženjer” zvuči otprilike isto kao “Agile developer”.

    Zašto bi sistemski administratori, programeri i testeri trebali naučiti DevOps prakse?

  • Ako tim koristi Kubernetes, Ansible, Prometheus, Mesosphere i Docker, to ne znači da su tamo implementirane DevOps prakse.

    Zašto bi sistemski administratori, programeri i testeri trebali naučiti DevOps prakse?

Život nakon DevOps-a nikada neće biti isti

DevOps pristup je, prije svega, drugačiji način razmišljanja, percepcija razvoja u cjelini i svog mjesta u procesu. Naš online kurs smo podijelili u 2 bloka:

1. Samoopredjeljenje

Prvo, detaljno ispitujemo suštinu DevOps pristupa, a studenti otkrivaju nove uloge u timu, vide koja više odgovara i sami određuju u kom pravcu da se razvijaju.

2. Alati i prakse

Studenti savladavaju specifične tehnologije sa stanovišta DevOps metode.

DevOps alati se mogu koristiti iu DevOps pristupu iu klasičnom razvoju. Najočigledniji primjer bi bio korištenje alata za upravljanje konfiguracijom Ansible. Kreiran je i zamišljen da implementira DevOps praksu „Infrastruktura kao kod“, što znači da se opisuju različita stanja sistema, od postavki operativnog sistema do aplikativnog softvera. Opis je podijeljen na slojeve i omogućava vam upravljanje složenom konfiguracijom koja se stalno mijenja. Ali inženjeri često koriste Ansible kao način za pokretanje bash skripti na više mašina. Ovo nije ni loše ni dobro, ali morate shvatiti da prisustvo Ansible-a ne garantuje prisustvo DevOps-a u kompaniji.

Mi smo u procesu kurs Bićete uronjeni u proces razvoja aplikacije slične čuvenom Redditu, počevši od njegove monolitne verzije, prelazeći korak po korak do mikroservisa. Korak po korak ćemo savladati nove alate: Git, Ansible, Gitlab i završiti sa Kubernetesom i Prometheusom.

Što se tiče praksi, pratićemo taktike tri puta opisane u DevOps priručniku – prakse kontinuirane isporuke, prakse povratnih informacija, a suština čitavog kursa je praksa kontinuiranog učenja zajedno sa vašim sistemom.

Šta ovo znanje daje svakom od specijalista?

Za administratore sistema

Prakse će vam omogućiti da se odmaknete od administracije ka stvaranju kontinuirane isporuke i infrastrukturne platforme za isporuku softvera. Poenta je da on kreira proizvod - infrastrukturnu platformu za programere koja im pomaže da brzo proguraju svoje promjene u proizvodnju.

Ranije su sistem administratori bili posljednji bastion, nakon čega sve ide u proizvodnju. A u osnovi su se bavili kontinuiranim gašenjem požara – u svjetlu čega je prilično teško ući u potrebe poslovanja, razmišljati o proizvodu i prednostima za korisnika.
Zahvaljujući DevOps metodi, razmišljanje se mijenja. Administrator sistema razumije kako prevesti konfiguraciju u kod, kakve prakse postoje za to.

Ovo je važno jer kompanije sve više shvaćaju da ne moraju samo sve automatizirati, tj. na šta su u suštini bili navikli sistemski administratori stare škole, koji su uz to malo komunicirali i nisu informisali tim o svim napravljenim promjenama. Sada timovi traže one koji će postati proizvođač internog infrastrukturnog proizvoda i pomoći u spajanju odvojenih procesa u jedan.

Za programere

Programer prestaje da razmišlja samo u algoritmima. Stječe vještinu rada sa infrastrukturom, vještinu arhitektonske svijesti o pejzažu. Takav programer razumije kako aplikacija radi, kako prolazi kroz kontinuirani cevovod isporuke, kako je pratiti, kako je registrirati tako da koristi klijentu. Kao rezultat, svo ovo znanje vam omogućava da napišete relevantan kod.

Za testere

Testiranje je odavno prešlo u automatski način rada, svi kažemo da mnoge testove ne treba raditi, već pisati :) Testiranje postaje dio cjelokupne isporuke vašeg proizvoda. Tester ne samo da treba da nauči kako da napiše kod, već i da razume kako da ga integriše u sisteme za kontinuiranu isporuku, kako da dobije povratnu informaciju od koda u svim fazama isporuke i kako da konstantno poboljšava testiranje kako bi otkrio greške kao što su što je ranije moguće.

Tako se ispostavilo da je tako sve tri faze se odvijaju istovremeno. Na primjer, to može izgledati ovako:

Programer piše kod, odmah piše testove za njega i opisuje docker kontejner za kod koji treba da se pokrene. Takođe se odmah opisuje monitoring koji će pratiti rad ovog servisa u proizvodnji, i sve to obavezuje.

Kada započne kontinuirana integracija, procesi se pokreću istovremeno. Servis se pokreće i konfiguriše. Istovremeno se pokreće docker kontejner i provjerava se da li radi. Istovremeno, sve informacije idu u sistem za evidentiranje. I tako dalje u svakoj fazi razvoja - ispostavlja se da je to pravi timski rad sistemskih administratora, programera i testera.

Proučavao sam DevOps, šta dalje?

Kao što znate, onaj u polju nije ratnik. Ako vaša kompanija ne koristi ovu metodu, stečene vještine će ležati u praznom hodu. A nakon što se upoznate sa DevOps pristupima, najvjerovatnije nećete htjeti biti kotačić u korporativnom razvoju. Možda postoji jedan izuzetak: vi ste sistemski administrator u timu i možete ponovo izgraditi sve procese na novi način. Ovdje je vrijedno dodati da postoji mnogo kompanija koje koriste ovaj pristup, a na njih ne utiče blokada i traže stručnjake. Zato što je DevOps kreiranje onlajn proizvoda.

A sada o dobrim stvarima: vladanje DevOps praksama i alatima je približno +30% na vašu vrijednost na tržištu rada. Plate počinju od 140 hiljada rubalja, ali ih, naravno, određuje vaša glavna specijalnost i funkcionalnost.

Možete pogledati slobodna radna mjesta sa oznakom „infrastrukturno orijentisana“, gdje postoji automatizacija testiranja, razvoj mikroservisnih aplikacija korištenjem cloud tehnologija, slobodna radna mjesta za infrastrukturne inženjere i sve vrste referenci na DevOps. Samo zapamtite da svaka kompanija po ovoj definiciji znači nešto drugačije - pažljivo pročitajte opis.

Tokom pokretanja našeg kursa, došao sam do uvida - mnogi ljudi nakon kursa upadaju u zamku DevOps inženjera. Pronađu slobodno radno mjesto sa gore navedenim naslovom, dobiju dobru ponudu, a onda dođu na posao i shvate da će morati održavati bash skriptu od tri stranice u Jenkinsu. Gdje su Kubernetes, ChatOps, Canary izdanja i sve to? Ali nema ništa, jer kompaniji ne treba DevOps kao metodologija, već koristi individualne inovacije.

To je razlog da od kompanije intenzivno saznate kako funkcionira proces isporuke softvera, tehnološki stack i koje odgovornosti ćete obavljati.

Ako poslodavac na vaša pitanja odgovara apstraktno, kao iz knjige, bez detalja, onda najvjerovatnije u kompaniji još nema DevOps procesa, ali to nije razlog za odbijanje, proučavanje kompanije i njenih proizvoda, bilo da postoje online usluge koje kompanija razvija sama, mobilne aplikacije, ideje za proizvode.

Ako da, onda razjasnite da li ćete morati da radite direktno sa ovim sistemima ili postoji mogućnost horizontalnog prelaska timova ovih servisa uz demonstriranje dobrih rezultata u DevOps praksi. Ako da, onda vrijedi otići i biti aktivan i koristan, a ako završite naš kurs, ovo drugo je zagarantovano.

Važno je napomenuti da Devops praktičari stiču pravu vrijednost samo iskustvom u razvoju/administriranju/testiranju. Samo tada znanje neće biti apstraktno, već će obogatiti stručnjaka (u svakom smislu). Stoga je ideja “učenja DevOps-a od nule” otprilike ista kao i učenje “korištenja objektiva od nule” ako nikada niste držali fotoaparat u rukama ili režirali snimanje. Kako bismo vam pomogli da odlučite da li je kurs pravi za vas, napravili smo prijemni test koji će provjeriti vaš dovoljan nivo znanja.

Mislim da je jedan od trikova kurs — da tokom obuke svaki student sam odredi u kom pravcu želi da se razvija. Često vidimo tranzicije kada programer postane infrastrukturni inženjer, a administrator shvati da je zainteresovan za pisanje koda - onda dalje proučava jezik i dopunjava ga stečenim DevOps veštinama. Stoga posebno pozdravljamo one koji smatraju da im je karijera zapela na raskrsnici. Kurs počinje 28. maja, ali se možete pridružiti 2 sedmice nakon početka nastave. Možete pogledati program i položiti test link. Vidimo se na OTUS-u!

izvor: www.habr.com

Dodajte komentar