devops tutorial ultimate guide devops
Dette er en komplett DevOps-opplæringsserie med 25+ tekst- og videoveiledninger som dekker alle aspektene av DevOps som What is DevOps, DevOps-prinsipper og dens arkitekt.
Liste over opplæringsprogrammer i DevOps Training Series:
#1) Introduksjon til DevOps (Denne opplæringen)
#to) DevOps og programvaretesting
DevOps VIDEO-opplæringsprogrammer:
# 3) Videoopplæring 1: DevOps bakgrunn, definisjon, verdi, fordeler, vaner og beste praksis
- Del 1 Blokk 1 - Avmystifisere DevOps
# 4) Videoopplæring 2: DevOps praksis basert på Agile Principles, kildekontroll og DevOps Automation
Denne videoopplæringen er delt inn i 6 blokker:
- Del 2 Blokk 1 - DevOps-praksis basert på Agile Manifesto
- Del 2 Blokk 2 - Kilde- og versjonskontroll i DevOps
- Del 2 Blokk 3 - Automatisering i DevOps
- Del 2 Blokk 4 - Små trinn på leveranser i DevOps
- Del 2 Blokk 5 - Samarbeid i DevOps Teams
- Del 2 Blokk 6 - Hvordan utvikle samarbeid i DevOps Teams
# 5) Videoopplæring 3: DevOps behandler kontinuerlig integrasjon, kontinuerlig testing og kontinuerlig levering
Denne videoopplæringen er delt inn i 4 blokker:
- Del 3 Blokk 1 - Kontinuerlig integrasjon i DevOps
- Del 3 Blokk 2 - Kontinuerlig levering i DevOps
- Del 3 Blokk 3 - Kontinuerlig distribusjon i DevOps
- Del 3 Blokk 4 - Kontinuerlig testing i DevOps
# 6) Videoopplæring 4: DevOps Configuration Management og overvåking av live applikasjonsytelse
Denne videoopplæringen er delt inn i 3 blokker:
- Del 4 Blokk 1 - Konfigurasjonsadministrasjon i DevOps-praksis
- Del 4 Blokk 2 - Slipp ledelse i DevOps
- Del 4 Blokk 3 - Overvåking av applikasjonsytelse i DevOps
# 7) Videoopplæring 5: Sammendrag av hele kurset.
- Del 5 Blokk 1 - Sammendrag av DevOps Video Tutorials
Tekstveiledninger:
# 8) Skift venstre testing
# 9) Hvordan forbedre programvarekvaliteten ved hjelp av kontinuerlig integrasjon
# 10) Kontinuerlig leveringsprosess
DevOps-verktøy:
#elleve) DevOps-verktøy
# 12) Installasjon og konfigurering av ofte brukte open source DevOps-verktøy
# 1. 3) Beste kontinuerlige integrasjonsverktøy
# 14) Topp kontinuerlige leveringsverktøy
Veiledning for Microsoft VSTS:
#femten) Microsoft VSTS del 1
# 16) Microsoft VSTS del 2
AWS DevOps-verktøy:
# 17) AWS DevOps-verktøy del 1 (CodeCommit)
# 18) AWS DevOps-verktøy del 2 (CodeBuild)
# 19) AWS DevOps Tools del 3 (CodeDeploy)
#tjue) NET-applikasjon distribusjon ved hjelp av AWS Elastic Beanstalk
Ansible for DevOps:
#tjueen) Ansible Part 1: Installasjon og konfigurasjon
# 22) Ansible Part 2: Task Automation Using Playbooks
# 2. 3) Ansible Part 3: Ansible Rolles and Integration with Jenkins
# 24) Integrering av Jenkins med Selen
# 25) Hudson kontinuerlig integrasjonsverktøy
# 26) DevOps tjenesteleverandørselskaper
# 27) DevOps intervju spørsmål
La oss starte med den første veiledningen i denne serien.
Hva du vil lære:
- Introduksjon til DevOps
- Oversikt over Agile og DevOps
- Handler DevOps bare om verktøy?
- Komponenter av DevOps
- Sammendrag
- Anbefalt lesing
Introduksjon til DevOps
DevOps handler ikke bare om verktøy, men det inkluderer også et sett med beste praksis som gjør det mulig å bygge bro over gapet mellom utviklings- og driftsteamene innen kontinuerlig integrering og distribusjon ved å bruke et integrert sett med verktøy for å automatisere programvareleveransen.
hva er en trådløs nettverksnøkkel
Det er viktig at utviklerne forstår operasjonssiden og omvendt. Så målet med DevOps er rett og slett å hjelpe enhver organisasjon i hastigheten med å levere applikasjoner til sluttbrukerne og muliggjøre raskere tilbakemelding fra sluttbrukerne, noe som er behovet for enhver bedrift i dag.
Oversikt over Agile og DevOps
Det er ingen forskjell mellom Agile og DevOps. I stedet utfyller de hverandre. La oss starte med å se på Waterfall-modellen der alle kravene er frossen, og design og utvikling gjøres etter hverandre til et stabilt produkt er tilgjengelig.
Så problemet her er at hvis det er en endring i kundens behov på dette stadiet, er det ingen måte å inkludere og levere det endrede behovet.
For å løse problemet med å tilpasse seg behovene til kundene endret seg bedre enn i fossen metoden var Agile adopsjon. Ideen her var å utvikle en programvare i mindre sprints eller iterasjon, si rundt 2 til 3 uker, som hjalp utviklingsteamene til å jobbe med tilbakemeldinger fra sluttbrukerne og innlemme endringene i de nyere utgivelsene.
Derfor må utviklings- og driftsteamene ha smidighet i sine arbeidsområder ogDevOpsble født for å muliggjøre bedre samarbeid mellom dem.
Agile bringer inn prosesser som XP, SCRUM etc. og DevOps bringer inn praksis som kontinuerlig integrasjon, kontinuerlig levering, kontinuerlig testing og kontinuerlig overvåking som vi vil se i detalj når vi går videre i denne opplæringen.
Handler DevOps bare om verktøy?
På en måte kan du hevde at for å implementere DevOps trenger du verktøy. Det er sant, men verktøy er bare akseleratorer.
Men faktisk handler det om følgende tre aspekter:
Mennesker :Det er veldig viktig å trene og ha et høyt motivert team av mennesker for å kunne kommunisere effektivt og samarbeide gjennom hele denne reisen med kulturelle endringer.
Prosess: Når vi snakker om kulturell endring for DevOps-implementering, er det veldig viktig å ha praksis og strategier som gir verdi til kunden. En riktig måte å gjøre det på ville være å gjøre en AS-IS modenhetsvurdering, se på hull og foreslå en veikart for implementering av å gi passende anbefalinger.
Jeg vil ikke snakke grundig om hvordan jeg har gjort det å gjøre disse vurderingene, men jeg vil gjerne dele innspill på det samme.
Verktøy: Til slutt handler det om å bruke akseleratorene ved å automatisere prosessen ved hjelp av standard DevOps-verktøy som er tilgjengelige i dag. Det kan være åpen kildekode (Jenkins, Git etc.), kommersiell (Microsoft TFS, VSTS, IBM Rational, Jira etc.) eller en blanding av begge deler.
Komponenter av DevOps
Jeg håper du nå hadde fått en idé om hva som er DevOps.
La oss nå se på de følgende 4 komponentene i DevOps som utgjør kjernen fra et implementeringssynspunkt, og organisasjonene har også utviklet gode automatiseringsrammer rundt det samme som det tilbyr en tjeneste til sine kunder.
- Kontinuerlig integrering
- Kontinuerlig testing
- Kontinuerlig levering
- Kontinuerlig overvåking
Jeg har virkelig trodd at hvis en utvikler må jobbe i denne modusen, så skal det være et utføringselement som en oppgave eller en defekt (I smidig kan det være en del av brukerhistorien) tildelt ham for å gjøre det mulig for ham å levere arbeidet innen sprintens tidsramme.
Så selv før de ovennevnte trinnene kan implementeres, bør disse utvikleroppgavene eller feilene planlegges i en Sprint. Så verktøy som JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS etc. hjelper til med å lage Agile Release / Sprint-planene.
La oss nå se nærmere på hver av disse komponentene.
# 1) Kontinuerlig integrasjon
Som utvikler jobber du med oppgavene eller manglene som er tilordnet og sjekker inn koden til et delt lager flere ganger på en dag. Tilsvarende sjekker også inn andre medlemmer av teamet koden til det delte depotet.
Du vil da faktisk integrere alt arbeidet som gjøres av teammedlemmene i en felles build-server og utføre en automatisert build. Å gjøre disse integrasjonene og automatiserte byggene regelmessig kalles kontinuerlig integrasjon.
Denne praksisen hjelper til med å oppdage problemer veldig tidlig, og sikrer også at alle modulene som er integrert fungerer etter behov. Så hvis du ikke følger denne tilnærmingen, kan integreringen av teamets arbeid skje en gang i måneden, noe som kan være sent å finne og løse eventuelle integreringsproblemer.
Eksempel på kontinuerlig integrasjonsarbeidsflyt:
# 2) Kontinuerlig levering
Kontinuerlig levering er neste trinn etter kontinuerlig integrasjon. Målet med kontinuerlig levering er å presse applikasjonen innebygd i produksjon så raskt som mulig. I løpet av denne prosessen går den gjennom forskjellige stadier i leveransens livssyklus, dvs. QA, Staging, Produksjonsmiljøer etc.
Denne prosessen med regelmessig levering av applikasjoner innebygd i forskjellige stadier er kjent som kontinuerlig levering.
Kontinuerlig levering hjelper på raskere tid til markedet sammenlignet med tradisjonelle metoder, mindre risiko, og reduserer kostnadene ved å oppmuntre til mer automatisering i utgivelsesprosessen og viktigst av alt å få raskere tilbakemelding fra sluttbrukerne for å produsere et kvalitetsprodukt.
Fra min erfaring har jeg sett at denne prosessen fungerer bra for enhver form for utvikling av webapplikasjoner.
Jeg har også gjort en hel del vurderinger på DevOps-implementeringer for organisasjoner i halvlederforretningsområdet, men på grunn av deres eksisterende utgivelsessyklus dette området med kontinuerlig levering ser ikke ut til å passe det, ettersom det er mer en fosseprosess som blir fulgt og distribusjoner blir gjort etter behov i et kundemiljø.
Eksempel arbeidsflyt for kontinuerlig levering:
programvaretesting spørsmål og svar om atferdsmessige intervjuer
I diagrammet ovenfor kan du se på ulike tilgjengelige miljøer, og slik at tilretteleggingen av infrastrukturen for miljøene også kan automatiseres under denne kontinuerlige leveringsprosessen.
# 3) Kontinuerlig testing
Fra de to ovennevnte metodene ble vi kjent med at CI og CD hjelper til med å distribuere applikasjonen eller endringer i produksjonen. Hele denne prosessen innebærer riktig validering av koden og dens integrering med alle komponentene som er involvert i den for å sikre at applikasjonen fungerer som forutsatt og er fri for feil eller mangler.
Så kontinuerlig testing er prosessen med å kjøre forskjellige typer automatiserte tester som starter med CI-prosessen til det tidspunktet applikasjonen endelig distribueres til produksjon.
Du kan se fra forrige diagram at i trinnet med kontinuerlig integrering integrerer vi alle utviklerne jobber i en felles build-server, og også i løpet av dette stadiet vil utviklerne kjøre en viss mengde enhetstester.
Når disse integreringene og testene fungerer uten feil, blir applikasjonen eller endringene distribuert til QA-miljøet etter å ha søkt om disse kvalitetsportene og godkjenningene.
I QA-miljøet kjøres funksjonstestene og igjen basert på godkjenningene som de vil bli distribuert til iscenesettelsesmiljø som vil være på paritet som produksjonssystemer og godkjenningstester. Når denne aktiviteten er fullført, blir applikasjonen eller endringene endelig distribuert i produksjonssystemene.
Så man kan her merke at kontinuerlig testing som en aktivitet starter fra selve CI-fasen og er et veldig obligatorisk trinn gjennom den kontinuerlige leveringsprosessen.
Eksempel Testing arbeidsflyt i kontinuerlig leveringsprosess:
# 4) Kontinuerlig overvåking
Når applikasjonen eller endringene distribueres til produksjonsmiljøet, vil operasjonsteamet se på å overvåke applikasjonen og miljøet fra et synspunkt på tid, stabilitet og tilgjengelighet. Denne prosessen er kjent som kontinuerlig overvåking.
Operasjonsteamene vil ha sin egen programvare for å overvåke miljøet, men må også spille en rolle for å overvåke applikasjonene som brukes for eventuelle problemer. For dette ville de trenge å samarbeide med utviklingsteamene for å bygge visse verktøy for å analysere applikasjonsproblemene.
Så infrastruktur, miljø og applikasjonsproblemer er alt som overvåkes i kontinuerlig overvåking.
Sammendrag
I denne opplæringen ble vi kjent med hva DevOps-prosessen handler om å inkludere de forskjellige komponentene som er involvert i den. Disse komponentene hjelper til med å øke applikasjonsleveransen og sparer også tid til markedet, noe som er behovet for virksomheten i dag fra et konkurransemessig synspunkt.
I den kommende serien av opplæringsprogrammer i DevOps-segmentet, vil du se på de forskjellige videoene / sannsynlige DevOps-verktøyene som lagene kan bruke, og også implementeringen av DevOps ved å bruke bestemte verktøy for lokal og sky.
Og som sagt og gjort har jeg funnet DevOps-implementering som en spennende, i veien for å se fra en organisasjonsendring.
Vår kommende veiledning vil forklare deg alt om DevOps og programvaretesting.
Anbefalt lesing
- In-Depth Eclipse Tutorials For Beginners
- Kontinuerlig levering i DevOps
- Kontinuerlig distribusjon i DevOps
- DevOps Testing Tutorial: Hvordan DevOps vil påvirke QA-testing?
- Kontinuerlig integrasjon i DevOps
- Kontinuerlig testing i DevOps
- Sammendrag av DevOps Video Tutorials
- AWS CodeCommit Tutorial for DevOps Implementation in Cloud