devops tutorial ultimate guide devops
Dette er en komplet DevOps-tutorial-serie med 25+ tekst- og video-tutorials, der dækker alle aspekterne af DevOps som Hvad er DevOps, DevOps-principper og dets arkitekt.
Liste over selvstudier i DevOps Training Series:
# 1) Introduktion til DevOps (Denne vejledning)
DevOps VIDEO Tutorials:
# 3) Videovejledning 1: DevOps baggrund, definition, værdi, fordele, vaner og bedste praksis
- Del 1 Blok 1 - Afmystificering af DevOps
# 4) Videovejledning 2: DevOps-praksis baseret på Agile Principles, kildekontrol og DevOps Automation
Denne video tutorial er opdelt i 6 blokke:
- Del 2 Blok 1 - DevOps-praksis baseret på Agile Manifesto
- Del 2 Blok 2 - Kilde- og versionskontrol i DevOps
- Del 2 Blok 3 - Automatisering i DevOps
- Del 2 Blok 4 - Små inkrement af leverancer i DevOps
- Del 2 Blok 5 - Samarbejde i DevOps Teams
- Del 2 Blok 6 - Sådan udvikles samarbejde i DevOps-teams
# 5) Videovejledning 3: DevOps behandler kontinuerlig integration, kontinuerlig test og kontinuerlig levering
Denne video tutorial er opdelt i 4 blokke:
- Del 3 Blok 1 - Kontinuerlig integration i DevOps
- Del 3 Blok 2 - Kontinuerlig levering i DevOps
- Del 3 Blok 3 - Kontinuerlig implementering i DevOps
- Del 3 Blok 4 - Kontinuerlig test i DevOps
# 6) Video tutorial 4: DevOps Configuration Management og overvågning af ydeevne for applikationer
Denne video tutorial er opdelt i 3 blokke:
- Del 4 Blok 1 - Konfigurationsstyring i DevOps-praksis
- Del 4 Blok 2 - Slip styring i DevOps
- Del 4 Blok 3 - Overvågning af applikationsydelse i DevOps
# 7) Videovejledning 5: Resumé af hele kurset.
- Del 5 Blok 1 - Resumé af DevOps-videotutorials
Tekst Tutorials:
# 8) Skift venstre test
# 9) Sådan forbedres softwarekvaliteten ved hjælp af kontinuerlig integration
# 10) Kontinuerlig leveringsproces
DevOps-værktøjer:
#elleve) DevOps-værktøjer
# 12) Installation og konfiguration af almindeligt anvendte open source DevOps-værktøjer
# 13) Bedste kontinuerlige integrationsværktøjer
# 14) Top kontinuerlige leveringsværktøjer
Microsoft VSTS-vejledning:
#femten) Microsoft VSTS del 1
# 16) Microsoft VSTS del 2
AWS DevOps-værktøjer:
# 17) AWS DevOps-værktøjer del 1 (CodeCommit)
# 18) AWS DevOps-værktøjer del 2 (CodeBuild)
# 19) AWS DevOps Tools del 3 (CodeDeploy)
#tyve) .NET-webapplikation implementering ved hjælp af AWS Elastic Beanstalk
Ansible for DevOps:
#enogtyve) Ansible Part 1: Installation og konfiguration
# 22) Ansible Part 2: Task Automation Using Playbooks
# 2. 3) Ansible del 3: Ansible roller og integration med Jenkins
# 24) Integration af Jenkins med selen
# 25) Hudson kontinuerligt integrationsværktøj
# 26) DevOps serviceleverandørselskaber
# 27) DevOps Interview Spørgsmål
Lad os starte med den første tutorial i denne serie.
Hvad du vil lære:
- Introduktion til DevOps
- Oversigt over Agile og DevOps
- Handler DevOps kun om værktøjer?
- Komponenter til DevOps
- Resumé
- Anbefalet læsning
Introduktion til DevOps
DevOps handler ikke kun om værktøjer, men det inkluderer også et sæt bedste praksis, der gør det muligt at bygge bro mellem udviklings- og driftsteamene inden for kontinuerlig integration og implementering ved hjælp af et integreret sæt værktøjer til at automatisere softwareleveringen.
funktionel test og ikke funktionel test
Det er bydende nødvendigt, at udviklerne forstår driftssiden og omvendt. Så målet med DevOps er simpelthen at hjælpe enhver organisation i hastigheden med at levere applikationer til slutbrugerne og muliggøre hurtigere slutbrugerfeedback, hvilket er behovet for enhver virksomhed i dag.
Oversigt over Agile og DevOps
Der er ingen forskel mellem Agile og DevOps. I stedet supplerer de hinanden. Lad os starte med at se på vandfaldsmodellen, hvor alle kravene er frosne, og design og udvikling sker efter hinanden, indtil et stabilt produkt er tilgængeligt.
Så spørgsmålet her er, at hvis der er en ændring i kundens behov på dette tidspunkt, så er der ingen måde at inkludere og levere det ændrede behov.
For at løse problemet med at tilpasse sig kundens behov bedre end i vandfaldsmetoden var Agile adoption. Ideen her var at udvikle en software i mindre sprints eller iteration siger omkring 2 til 3 uger, som hjalp udviklingsholdene til at arbejde på slutbrugerfeedback og indarbejde ændringerne i de nyere udgivelser.
Derfor skal udviklings- og driftsteamene have agile inden for deres arbejdsområder ogDevOpsblev født for at muliggøre bedre samarbejde mellem dem.
Agile bringer processer som XP, SCRUM osv. Ind, og DevOps bringer praksis som kontinuerlig integration, kontinuerlig levering, kontinuerlig test og kontinuerlig overvågning, som vi vil se detaljeret, når vi bevæger os længere i denne vejledning.
Handler DevOps kun om værktøjer?
På en måde kan du argumentere for, at du har brug for værktøjer til at implementere DevOps. Det er sandt, men værktøjer er kun acceleratorer.
Men faktisk handler det om følgende 3 aspekter:
Mennesker :Det er meget vigtigt at træne og have et stærkt motiveret team af mennesker for effektivt at kunne kommunikere og samarbejde gennem hele denne rejse med kulturændring.
Behandle: Da vi taler om kulturelle ændringer til implementering af DevOps, er det meget nødvendigt at have praksis og strategier, der giver kunden værdi. En korrekt måde at gøre det på ville være at foretage en AS-IS modenhedsvurdering, se på huller og foreslå en køreplan til implementering af passende anbefalinger.
Jeg vil ikke tale indgående om, hvordan jeg har fået udført disse vurderinger, men jeg vil med glæde dele alle input på det samme.
Værktøjer: Endelig handler det om at bruge acceleratorerne ved at automatisere processen ved hjælp af standard DevOps-værktøjer, der er tilgængelige i dag. Det kunne være Open Source (Jenkins, Git osv.), Kommerciel (Microsoft TFS, VSTS, IBM Rational, Jira osv.) Eller en blanding af begge.
Komponenter til DevOps
Jeg håber, at du nu ville have fået en idé om, hvad der er DevOps.
Lad os nu se på de følgende 4 komponenter i DevOps, som udgør kernen ud fra et implementeringssynspunkt, og organisationerne har også udviklet gode automatiseringsrammer omkring det samme, der tilbyder det som en service til deres kunder.
- Kontinuerlig integration
- Kontinuerlig test
- Kontinuerlig levering
- Kontinuerlig overvågning
Jeg har virkelig troet, at hvis en udvikler skal arbejde i denne tilstand, skal der være et eksekveringselement som en opgave eller en defekt (i agil kan det være en del af brugerhistorien) tildelt ham for at sætte ham i stand til at levere arbejdet inden sprintens tidsramme.
Så selv før de ovennævnte trin kan implementeres, skal disse udvikleropgaver eller mangler planlægges i en Sprint. Så værktøjer som JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS osv. Hjælper med at oprette Agile Release / Sprint-planerne.
Lad os nu se nærmere på hver af disse komponenter.
# 1) Kontinuerlig integration
Som udvikler arbejder du på de opgaver eller mangler, der er tildelt, og tjekker koden til et delt lager flere gange om dagen. På samme måde tjekker de andre medlemmer af teamet også koden ind i det delte lager.
Derefter integrerer du faktisk alt det arbejde, som teammedlemmerne har udført, i en fælles build-server og udfører en automatiseret build. At udføre disse integrationer og automatiske builds regelmæssigt kaldes kontinuerlig integration.
Denne praksis hjælper med at opdage problemer meget tidligt og sikrer også, at alle moduler, der er integreret, fungerer efter behov. Så hvis du ikke følger denne tilgang, kan integrationen af teamets arbejde ske en gang om måneden, hvilket kan være sent for at finde og løse eventuelle integrationsproblemer.
Eksempel på kontinuerlig integrationsworkflow:
# 2) Kontinuerlig levering
Kontinuerlig levering er det næste trin efter kontinuerlig integration. Målet med kontinuerlig levering er at skubbe applikationen indbygget i produktion så hurtigt som muligt. I løbet af denne proces gennemgår det forskellige faser i leveringscyklussen, dvs. QA, Staging, Produktionsmiljøer osv.
Denne proces med regelmæssig levering af applikationer indbygget i forskellige faser kaldes kontinuerlig levering.
Kontinuerlig levering hjælper på hurtigere markedsføringstid sammenlignet med traditionelle metoder, mindre risiko, sænker omkostningerne ved at tilskynde til mere automatisering i frigivelsesprocessen og vigtigst af alt at få hurtigere feedback fra slutbrugerne til at producere et kvalitetsprodukt.
Fra min erfaring har jeg set, at denne proces fungerer fint for enhver form for webapplikationsudvikling.
Jeg har også foretaget en hel del vurderinger af DevOps-implementeringer for organisationer inden for halvlederforretningsområdet, men på grund af deres eksisterende frigivelsescyklus dette område af kontinuerlig levering ser ikke ud til at passe til det, da det mere er en vandfaldsproces, der følges, og implementeringer udføres, når og når der anmodes om det i et kundemiljø.
Eksempel på kontinuerlig leveringsworkflow:
websteder til download af video fra youtube
I ovenstående diagram kan du se på forskellige tilgængelige miljøer, og denne klargøring af infrastrukturen til miljøerne kan også automatiseres under denne kontinuerlige leveringsproces.
# 3) Kontinuerlig test
Fra ovenstående 2 praksis lærte vi, at CI og CD hjælper med at implementere applikationen eller ændringer i produktionen. Hele denne proces involverer korrekt validering af kode og dens integration med alle de komponenter, der er involveret i den for at sikre, at applikationen fungerer som planlagt og er fri for fejl eller mangler.
Så kontinuerlig test er processen med at køre forskellige typer automatiserede tests, der starter med CI-processen indtil det tidspunkt, hvor applikationen endelig implementeres til produktion.
Du kan se fra det foregående diagram, at vi i trinet kontinuerlig integration integrerer alle udviklernes arbejde i en fælles build-server, og også i dette trin vil udviklerne køre en vis mængde enhedstest.
Når først disse integrationer og test fungerer uden fejl, implementeres applikationen eller ændringerne kun i QA-miljøet efter ansøgning om disse kvalitetsporte og godkendelser.
I QA-miljøet køres de funktionelle tests og igen baseret på de godkendelser, det vil blive anvendt til iscenesættelsesmiljø, som vil være på paritet, ligesom produktionssystemerne og accepttests køres. Når denne aktivitet er afsluttet, implementeres applikationen eller ændringerne endelig i produktionssystemerne.
Så man kan her bemærke, at kontinuerlig testning som en aktivitet starter fra selve CI-fasen og er et meget obligatorisk trin gennem den kontinuerlige leveringsproces.
Eksempel på testning af arbejdsgang i den kontinuerlige leveringsproces:
# 4) Kontinuerlig overvågning
Når applikationen eller ændringerne implementeres i produktionsmiljøet, vil driftsteamet overvåge applikationen og miljøet fra et up-time, stabilitet, tilgængelighed synspunkt. Denne proces kaldes kontinuerlig overvågning.
Driftsteamene vil have deres egen software til at overvåge miljøet, men skal også spille deres rolle for at overvåge de applikationer, der er anvendt til eventuelle problemer. Til dette ville de være nødt til at arbejde med udviklingsholdene for at opbygge bestemte værktøjer til analyse af applikationsproblemer.
Så infrastruktur-, miljø- og applikationsproblemer overvåges i processen med kontinuerlig overvågning.
Resumé
I denne vejledning lærte vi, hvad præcis DevOps-processen handler om at inkludere de forskellige komponenter, der er involveret i den. Disse komponenter hjælper med at fremskynde applikationsleveringen og sparer også tid til markedet, hvilket er et behov for forretning i dag ud fra et konkurrencepræget synspunkt.
I den kommende serie af tutorials i DevOps-segmentet vil du se på de forskellige videoer / sandsynlige DevOps-værktøjer, som holdene kan bruge, og også implementeringen af DevOps ved hjælp af bestemte værktøjer til on-premise og cloud.
Og som sagt og gjort har jeg fundet DevOps-implementering som en spændende implementering i vejen for at se fra en organisatorisk ændring.
Vores kommende vejledning forklarer alt om DevOps og softwaretest.
Anbefalet læsning
- Dybdegående formørkelsesvejledninger til begyndere
- Kontinuerlig levering i DevOps
- Kontinuerlig implementering i DevOps
- DevOps Testing Tutorial: Hvordan DevOps vil påvirke QA Testing?
- Kontinuerlig integration i DevOps
- Kontinuerlig test i DevOps
- Resumé af DevOps-videotutorials
- AWS CodeCommit-selvstudie til implementering af DevOps i Cloud