devops tutorial ultimate guide devops
Ovo je cjelovita serija tutorijala za DevOps od 25+ tekstualnih i video tutorijala koji pokrivaju sve aspekte DevOps-a poput Što je DevOps, načela DevOps-a i njegov arhitekt.
Popis tutorijala u DevOps serijalu treninga:
# 1) Uvod u DevOps (Ovaj vodič)
#dva) DevOps i testiranje softvera
Vodiči za DevOps VIDEO:
# 3) Video lekcija 1: Pozadina, definicija, vrijednost, prednosti, navike i najbolje prakse DevOpsa
- Dio 1, blok 1 - Demistificiranje DevOpsa
# 4) Video tutorial 2: DevOps prakse temeljene na agilnim principima, kontroli izvora i DevOps automatizaciji
Ovaj video tutorial podijeljen je na 6 blokova:
- Dio 2, blok 1 - DevOps praksa temeljena na agilnom manifestu
- Dio 2, blok 2 - Kontrola izvora i verzija u DevOpsu
- Dio 2, blok 3 - Automatizacija u DevOpsu
- Dio 2, blok 4 - Mali koraci isporuka u DevOpsu
- Dio 2, blok 5 - Suradnja u DevOps timovima
- Dio 2, blok 6 - Kako razviti suradnju u timovima DevOps
# 5) Video tutorial 3: DevOps obrađuje kontinuiranu integraciju, kontinuirano testiranje i kontinuiranu isporuku
Ovaj video tutorial podijeljen je na 4 bloka:
- Dio 3, blok 1 - Neprekidna integracija u DevOps
- Dio 3, blok 2 - Kontinuirana isporuka u DevOpsu
- Dio 3, blok 3 - Kontinuirano postavljanje u DevOps
- Dio 3, blok 4 - Kontinuirano testiranje u DevOpsu
# 6) Video tutorial 4: DevOps upravljanje konfiguracijom i praćenje izvedbe aplikacija uživo
Ovaj video tutorial podijeljen je na 3 bloka:
- Dio 4, blok 1 - Upravljanje konfiguracijom u praksi DevOps
- Dio 4, blok 2 - Upravljanje izdanjima u DevOpsu
- Dio 4, blok 3 - Praćenje izvedbe aplikacija u DevOpsu
# 7) Video tutorial 5: Sažetak cijelog tečaja.
- Dio 5, blok 1 - Ukratko o Video vodičima za DevOps
Vodiči za tekst:
# 8) Ispitivanje u smjeru lijevo
# 9) Kako poboljšati kvalitetu softvera kontinuiranom integracijom
# 10) Kontinuirani postupak isporuke
Alati DevOps:
#jedanaest) DevOps alati
# 12) Instalacija i konfiguracija najčešće korištenih alata DevOps otvorenog koda
# 13) Najbolji alati za kontinuiranu integraciju
# 14) Vrhunski alati za kontinuiranu isporuku
Vodič za Microsoft VSTS:
#petnaest) Microsoft VSTS 1. dio
# 16) Microsoft VSTS 2. dio
AWS DevOps alati:
# 17) AWS DevOps alati 1. dio (CodeCommit)
# 18) AWS DevOps alati, 2. dio (CodeBuild)
# 19) AWS DevOps Tools 3. dio (CodeDeploy)
#dvadeset) Implementacija .NET web aplikacija pomoću AWS Elastic Beanstalk
Odgovorno za DevOps:
#dvadeset i jedan) Odgovorni dio 1: Instalacija i konfiguracija
# 22) Ansible 2. dio: Automatizacija zadataka pomoću Playbooks
# 2. 3) Odgovorni dio 3: Odgovorne uloge i integracija s Jenkinsom
# 24) Integracija Jenkinsa sa selenom
# 25) Hudsonov alat za kontinuiranu integraciju
# 26) Tvrtke koje pružaju usluge DevOps
# 27) Pitanja za intervju za DevOps
Počnimo s prvim tutorijalom iz ove serije.
Što ćete naučiti:
- Uvod u DevOps
- Pregled Agile i DevOps
- Je li DevOps samo o Alatima?
- Komponente DevOpsa
- Sažetak
- Preporučena literatura
Uvod u DevOps
DevOps se ne odnosi samo na alate, već uključuje i skup najboljih praksi koji omogućuje premošćavanje jaza između razvojnih i operativnih timova na područjima kontinuirane integracije i implementacije korištenjem integriranog seta alata za automatizaciju isporuke softvera.
najbolja mobilna špijunska aplikacija za android
Nužno je da programeri razumiju operativnu stranu i obrnuto. Stoga je cilj DevOps-a jednostavno pomoći bilo kojoj organizaciji u brzini isporuke aplikacija krajnjim korisnicima i omogućiti brže povratne informacije krajnjih korisnika, što je potrebno za bilo koje poslovanje danas.
Pregled Agile i DevOps
Ne postoji razlika između Agile i DevOps. Umjesto toga, nadopunjuju se. Krenimo od gledanja modela Waterfall gdje su svi zahtjevi zamrznuti, a dizajn i razvoj rade se jedan za drugim dok ne bude dostupan stabilan proizvod.
Dakle, ovdje je problem u tome što ako se u ovoj fazi promijeni potreba kupca, tada ne postoji način da se promijenjena potreba uključi i isporuči.
Kako bi se pitanje prilagodbe potrebama kupaca riješilo bolje nego metodom slapa, agilno je usvajanje. Ideja je bila ovdje razviti softver u manjim sprintima ili ponavljanju, recimo oko 2 do 3 tjedna, što je pomoglo razvojnim timovima da rade na povratnim informacijama krajnjeg korisnika i ugrade promjene u novija izdanja.
Stoga razvojni i operativni timovi moraju biti agilni u svojim područjima rada iDevOpsje rođen da omogući bolju suradnju između njih.
Agile donosi procese poput XP-a, SCRUM-a itd., A DevOps donosi prakse kao što su kontinuirana integracija, kontinuirana isporuka, kontinuirano testiranje i kontinuirano praćenje, što ćemo detaljno vidjeti tijekom daljeg rada u ovom vodiču.
Je li DevOps samo o Alatima?
Na neki način možete tvrditi da su vam potrebni alati za implementaciju DevOpsa. Istina je, ali alati su samo akceleratori.
Ali zapravo, riječ je o sljedeća 3 aspekta:
narod :Vrlo je važno trenirati i imati visoko motiviran tim ljudi koji će moći učinkovito komunicirati i surađivati kroz cijelo ovo putovanje kroz kulturne promjene.
Postupak: Kako govorimo o kulturnim promjenama za implementaciju DevOps-a, prijeko je potrebno imati prakse i strategije koje pružaju vrijednost kupcu. Ispravan način za to bilo bi napraviti AS-IS procjenu zrelosti, sagledati praznine i predložiti putokaz za provedbu davanja odgovarajućih preporuka.
Neću detaljno govoriti o tome kako sam postupio s tim procjenama, ali bit će mi drago podijeliti sve uloge o njima.
Alati: Konačno, riječ je o korištenju akceleratora automatizacijom procesa pomoću standardnih DevOps alata koji su danas dostupni. To može biti otvoreni izvor (Jenkins, Git itd.), Komercijalni (Microsoft TFS, VSTS, IBM Rational, Jira itd.) Ili kombinacija oba.
Komponente DevOpsa
Nadam se da biste do sada imali predodžbu o tome što je DevOps.
Pogledajmo sada sljedeće 4 komponente DevOps-a koje čine jezgru s aspekta implementacije, a također su organizacije razvile dobre okvire za automatizaciju oko istog nudeći ih kao uslugu svojim klijentima.
- Kontinuirana integracija
- Kontinuirano ispitivanje
- Kontinuirana dostava
- Kontinuirano praćenje
Uistinu sam vjerovao da ako programer mora raditi u ovom načinu rada, treba mu biti dodijeljena izvršna stavka poput Zadatak ili nedostatak (u Agileu to može biti dio User Story-a) kako bi mu omogućio da posao izvrši u roku od vremenski okvir sprinta.
Dakle, čak i prije nego što se gore navedeni koraci mogu implementirati, ovi zadaci ili nedostaci programera trebaju se planirati u Sprintu. Dakle, alati poput JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS itd. Pomažu u stvaranju agilnih planova izdanja / sprinta.
Pogledajmo sada svaku od ovih komponenata detaljno.
# 1) Kontinuirana integracija
Kao programer radite na zadacima ili nedostacima dodijeljenim kodu i prijavljujete ga u zajedničko spremište više puta dnevno. Slično tome, i ostali članovi tima prijavljuju kod u zajedničko spremište.
Tada ćete zapravo integrirati sav posao koji su obavili članovi tima u zajednički poslužitelj za izgradnju i izvesti automatiziranu izgradnju. Redovito obavljanje ovih integracija i automatiziranih izrada naziva se kontinuirana integracija.
Ova praksa pomaže otkriti probleme vrlo rano, a također osigurava da svi integrirani moduli rade prema potrebi. Dakle, ako se ne pridržavate ovog pristupa, integracija rada tima može se dogoditi jednom mjesečno, što može biti kasno za pronalaženje i rješavanje problema s integracijom.
Uzorak tijeka kontinuirane integracije:
# 2) Kontinuirana isporuka
Kontinuirana isporuka sljedeći je korak nakon kontinuirane integracije. Cilj kontinuirane isporuke je potisnuti aplikaciju ugrađenu u proizvodnju što je brže moguće. Tijekom ovog procesa prolazi kroz različite faze u životnom ciklusu isporuke, tj. QA, scensko, proizvodno okruženje itd.
Ovaj postupak redovitog isporučivanja aplikacija ugrađenih u različite faze poznat je kao kontinuirana isporuka.
Kontinuirana isporuka pomaže bržem izlasku na tržište u usporedbi s tradicionalnim metodama, smanjuje rizik, smanjuje troškove poticanjem veće automatizacije u procesu puštanja i što je najvažnije bržim povratnim informacijama od krajnjih korisnika za proizvodnju kvalitetnog proizvoda.
Iz svog iskustva vidio sam da ovaj postupak dobro funkcionira za bilo koju vrstu razvoja web aplikacija.
Također sam izvršio prilično procjena implementacija DevOps-a za organizacije u području poluvodiča, ali zbog njihovih postojećih ciklus oslobađanja čini se da ovo područje kontinuirane isporuke ne odgovara jer je to više vodopadni postupak koji se slijedi i postavljanja se obavljaju prema zahtjevu u okruženju kupca.
Uzorak tijeka kontinuirane isporuke:
U gornjem dijagramu možete pogledati različita raspoloživa okruženja, pa se tako osiguravanje infrastrukture za okruženja može automatizirati tijekom ovog kontinuiranog postupka isporuke.
# 3) Kontinuirano testiranje
Iz gornje 2 prakse saznali smo da CI i CD pomažu u primjeni aplikacije ili promjenama u produkciji. Cijeli ovaj postupak uključuje pravilnu provjeru valjanosti koda i njegovu integraciju sa svim komponentama uključenim u njega kako bi se osiguralo da aplikacija radi kako je predviđeno i bez grešaka ili nedostataka.
Dakle, kontinuirano testiranje je postupak izvođenja različitih vrsta automatiziranih testova koji započinju s CI postupkom do trenutka kada se aplikacija konačno implementira u proizvodnju.
Iz prethodnog dijagrama možete vidjeti da u koraku kontinuirane integracije integriramo sve programere u zajednički poslužitelj gradnje, a također bi tijekom ove faze programeri izvršili određenu količinu jediničnih testova.
kako otvoriti swf datoteku na chrome -
Jednom kada ove integracije i testovi rade bez ikakvih pogrešaka, tek tada se aplikacija ili promjene raspoređuju u QA okruženje nakon što se prijave za ova vrata i odobrenja kvalitete.
U QA okruženju izvršavaju se funkcionalni testovi i opet na temelju odobrenja ono bi se rasporedilo u scensko okruženje koje bi bilo na paritetu poput pokrenutih proizvodnih sustava i prihvatnih testova. Jednom kada je ova aktivnost dovršena, aplikacija ili se promjene konačno uvode u proizvodne sustave.
Dakle, ovdje možemo primijetiti da kontinuirano testiranje kao aktivnost započinje od same faze CI i vrlo je obavezan korak tijekom kontinuiranog postupka isporuke.
Tok uzorkovanja testiranja u kontinuiranom procesu isporuke:
# 4) Kontinuirano praćenje
Kako se aplikacija ili promjene raspoređuju u proizvodno okruženje, operativni tim će nastojati nadzirati aplikaciju i okruženje s aspekta vremena, stabilnosti i dostupnosti. Taj je postupak poznat pod nazivom kontinuirano praćenje.
Operativni timovi imat će vlastiti softver za praćenje okoliša, ali također će morati odigrati svoju ulogu za nadgledanje primijenjenih aplikacija za bilo kakve probleme. Za to bi trebali surađivati s razvojnim timovima kako bi stvorili određene alate za analizu problema s aplikacijama.
Dakle, pitanja infrastrukture, okoliša i aplikacija sve su to što se nadgleda u procesu kontinuiranog praćenja.
Sažetak
U ovom uputstvu saznali smo o čemu se točno radi u programu DevOps, uključujući različite komponente uključene u njega. Te komponente pomažu ubrzati isporuku aplikacija, a također štede vrijeme za tržište, što je danas potreba poslovanja s konkurentne točke gledišta.
U nadolazećoj seriji vodiča u segmentu DevOps, imat ćete pogled na različite videozapise / vjerojatne alate DevOps koje timovi mogu koristiti, kao i na implementaciju DevOps-a pomoću određenih alata za lokalnu upotrebu i oblak.
I kao što sam rekao i učinio, smatrao sam da je implementacija DevOps-a uzbudljiva, u smislu promatranja iz organizacijske promjene.
Naš predstojeći vodič objasnit će vam sve o DevOps-u i testiranju softvera.
Preporučena literatura
- Dubinski vodiči za pomračenje za početnike
- Kontinuirana isporuka u DevOpsu
- Kontinuirano postavljanje u DevOps
- Vodič za testiranje DevOpsa: Kako će DevOps utjecati na QA testiranje?
- Neprekidna integracija u DevOps
- Kontinuirano testiranje u DevOpsu
- Ukratko o Video vodičima za DevOps
- AWS CodeCommit Vodič za implementaciju DevOpsa u oblaku