devops automation how is automation applied devops practice
Automatisering i DevOps:
I den sidste tutorial lærte vi vigtigheden af Kildekontrol i DevOps . Her i denne vejledning lærer vi om automatisering i DevOps.
Automatisering er det ultimative behov for DevOps-praksis, og 'Automatiser alt' er nøgleprincippet i DevOps. I DevOps starter automatiseringsspark fra kodegenerering på udviklerens maskine, indtil koden skubbes til koden og endda derefter for at overvåge applikationen og systemet i produktion.
Foreslået læsning => Informativ DevOps-vejledningsserie
Hele DevOps-pipeline, der indeholder kontinuerlig integration, kontinuerlig test og kontinuerlig implementering, herunder overvågning af applikationsydelse i live, er automatiseret.
Automatisering af infrastrukturopsætning og -konfigurationer og implementering af software er det vigtigste højdepunkt i DevOps-praksis. DevOps praksis er stærkt afhængig af automatisering for at foretage leveringer over en periode på få timer og foretage hyppige leveringer på tværs af platforme.
Således fremmer automatisering i DevOps hastighed, større nøjagtighed, konsistens, pålidelighed og øger antallet af leverancer. I sidste ende indkapsler automatisering i DevOps alt lige fra bygning, implementering og overvågning.
VIDEO Del 2 Blok 3: Automatisering af DevOps- 16 minutter og 40 sekunder
Lad os forstå betydningen af automatisering i DevOps-praksis i detaljer i denne vejledning.
Her vil vi diskutere:
- Hvordan anvendes automatisering i DevOps-praksis?
- Behov og rolle for automatisering?
- Hvad skal man automatisere?
- Værktøjer og rammer, kontinuerlig test?
Jeg er lidt bange for at tale om automatisering. For hvor meget jeg nogensinde taler om automatisering, er det ifølge mig aldrig komplet.
Naturligvis er automatisering simpelthen at komme væk fra de manuelle opgaver. Folk ønsker at reducere deres involvering i de almindelige rutineopgaver og bruge deres tid og intelligens i noget nyt eller innovativt.
Når det er sagt, er automatiseringens rolle i DevOps meget vigtig og meget afgørende for kontinuerligt at levere værdi til kunden.
Lad os svare sammen, hvordan automatisering anvendes i DevOps-praksis sammen med hvad der skal automatiseres, fordi begge disse spørgsmål bliver besvaret sammen.
Hvad skal man automatisere?
Jeg tror ikke, at der kræves meget forklaring på svaret på dette spørgsmål i denne automatiserings æra. Overalt hvor vi går, ser vi ting, der bliver automatiseret, enten med minimal eller ingen menneskelig indgriben overhovedet. Så DevOps er ikke en undtagelse fra dette.
I en traditionel softwareudviklingsmetode var det kun udviklingsteamet og deres aktiviteter, der plejede at blive automatiseret, specifikt testning. Det plejede at være sådan, at automatisering betyder test og automatisering af testsager, at også kun funktionelle testsager, men ikke engang ikke-funktionelle tests som ydeevne og sikkerhed.
Og ingen af de andre aktiviteter, især ops-aktiviteter, der blev brugt til at blive automatiseret. Fejl i manuel implementering på en enorm klynge, der involverede 8 servere, og det tab, det forårsagede, er meget godt Eksempel af kompleksitet involveret i implementeringer, og det forklarer klart behovet for automatisering til Devops-aktiviteter.
type fejl i softwaretest
Jeg har set mig selv, at organisationer ansætter højt kvalificerede og intelligente mennesker ved at betale en kæmpe lønpakke for at konfigurere netværk og miljøer, der plejede at gøre baseret på deres intelligens, viden inden for det respektive område, deres erfaring og ekspertise, som var et komplet manuelt arbejde.
Manuel konfiguration er altid udsat for fejl, som alle ved. Hvad der normalt plejede at ske i tilfælde af manuel opsætning er, at disse smarte mennesker, netværkskonfiguratorer bruger over en periode efter gentagne gange at have gjort det samme arbejde igen og igen, til at kede sig af disse aktiviteter og ende med at begå fejl på grund af til uagtsomhed.
Du ved, at de er meget strålende, og disse aktiviteter vil være meget enkle og uinteressante for dem, og de har brug for nye udfordringer hver dag og ikke denne kedelige opgave.
Så introduktionen af automatisering til softwareinstallation og versionskontrol af infrastrukturdelen blev en enorm gevinst og reducerede mange menneskelige fejl ud over at spare tid og giver enhver almindelig mand mulighed for at gøre dette og derved fjerne afhængigheden af faglærte arbejdere.
Også ved at løbe rundt i processer, hvis et nyt miljø skal oprettes, som at hæve billetten til at oprette et nyt miljø, it-team, der arbejder bagfra med at opsætte det, fjernes alle disse besvær.
Således har de enkelte teammedlemmer beføjelse til at udføre opgaverne. Forestil dig hastigheden, pålideligheden og konsistensen, der opnås ved automatisering. Så automatiseringen er steget forfærdeligt, antallet af leverancer til produktionen.
Så nu i DevOps-praksis har Operations-teamet også startet automatisering i alle deres værker, hvilket er blevet nøglen til DevOps succes.
Faktisk, i DevOps-praksis starter automatiseringsspark fra kodegenerering på udviklerens maskine, indtil koden er ude til produktion og endda derefter i overvågning af applikationen i live. Dette er en typisk DevOps-cyklus.
Udvikling og Ops-team kontrollerer koden og miljøkonfigurationerne til kildekontrollen, hvorfra automatiseringen starter for at udløse build, køre enhedstestsager og anden grundlæggende kodekvalitet, dækningstestsager, sikkerhedsrelaterede testsager osv.
sql forespørgsel praksis spørgsmål svar pdf
Når koden er færdig med dette, bliver koden automatisk kompileret, bliver gemt i versionskontrollen og bliver automatisk implementeret i de yderligere miljøer til yderligere test og i sidste ende til produktionsudgivelsen.
Vi kan se, at automatiseringen udføres i hver fase af udviklingen, startende fra udløsning af bygningen, udførelse af enhedstest, emballering, implementering videre til de specificerede miljøer, udførelse af konstruktionstest, røgtest, accepttestsager og endelig implementering videre til det endelige produktionsmiljø.
Selv når vi siger automatisering af testsager, er det ikke kun enhedstests, men installationstests, integrationstests, brugeroplevelsestests, UI-tests osv.
DevOps tvinger operationsteamet ud over udviklingsaktiviteter til at automatisere alle deres aktiviteter, såsom klargøring af serverne, konfiguration af serverne, konfiguration af netværk, konfiguration af firewalls, overvågning af applikationen i produktionssystemet.
Derfor for at besvare, hvad der skal automatiseres, er det build trigger, kompilering og bygning, implementering eller installation, automatisering af infrastruktur, der er konfigureret som et kodet script, miljøkonfigurationer som et kodet script, det er overflødigt at nævne test, post-implementering overvågning af livets præstation i livet logsovervågning, overvågningsalarmer, skubbe underretninger til live og få alarmer fra live i tilfælde af fejl og advarsler osv.,
I sidste ende automatiserer alle projektrelaterede dokumenter.
Så jeg kan sige, at automatisering på DevOps-sprog betyder kontinuerlig integration, kontinuerlig test, kontinuerlig implementering og kontinuerlig levering. Vi vil studere hver af dem i detaljer i de kommende dele.
Samlet set muliggør DevOps enhver aktivitet inden for udvikling og operationer, hvor det er muligt, alt efter hvad der kan automatiseres, alt efter hvad der kan gentages, hvor der kræves nøjagtighed, alt efter hvad der tager lang tid er automatiseret.
Ikke desto mindre, hvis vi ikke nævner de værktøjer, der skal bruges til automatisering, er diskussionen om automatisering ufuldstændig.
Så valg af en rigtig ramme og et automatiseringsværktøj er det vigtigste krav til automatisering i DevOps.
Der er mange værktøjer til rådighed på markedet, både open source og licenserede værktøjer, der understøtter slut-til-slut-automatisering af hele leveringsrørledningen, herunder aktiviteter udført af Ops-teamet, klargøringsmaskiner, spinding af automatiserede servere, konfigurering af netværk, firewalls, og endda overvåge softwarens ydeevne.
Visse organisationer har også udviklet deres egne rammer for at integrere slut til slut-processen med DevOps, der starter fra kodeforpligtelse til kodeudrulning inklusive dokumentation, der er et enkelt integreret værktøj, og teamet behøver ikke at gå uden for rammerne for noget relateret at programmere, det være sig versionskontrol, skrivning af testcase, gennemgang, dumping af testresultater, analyse osv.,
For eksempel: marionet, Azure resource manager, kok osv.,
Fordele ved automatisering i DevOps
Vi har set tidligere udgivelser, i mangel af automatisering, der tager år at komme ind i produktionen og også for nylig med adræt, det være sig magert, scrum eller sikkert, og da en procentdel af automatisering forbedres, bringes frigivelsestidslinjer ned til få måneder eller uger.
Men automatisering er absolut et must for at gøre udgivelserne så hurtigt som muligt om få timer. Så jeg synes, det er umuligt at foretage så hurtige og hyppige udgivelser, medmindre vi sætter automatisering på plads gennem hele rørledningen.
Så hvis vi ønsker at nå målene for DevOps, høj kvalitet og værdi, der leveres til kunder via hyppige og hurtige leverancer, så er det klart, at alt er et must.
Det er klart, vi ved nu, at automatisering fjerner manuelle fejl, afhængighed af et individ, udfører hurtigere og opnår nøjagtighed og derved opnår konsistens og pålidelighed. Derfor muliggør automatisering af alt devops-målet om levering i høj kvalitet, muliggør hyppige udgivelser og hurtigere udgivelser.
I en nøddeskal, Automation,
- Fjerner manuelle fejl
- Teammedlemmer er bemyndiget
- Afhængighed fjernet
- Forsinkelse fjernet
- Øger antallet af leverancer
- Reducerer leveringstiden
- Øger hyppigheden af udgivelser
- Giver hurtigere feedback
- Aktiverer hastighed, pålidelighed og konsistens
Så kort sagt indkapsler Automation i DevOps i sidste ende alt lige fra bygning, implementering og overvågning.
PREV-vejledning | NÆSTE vejledning
Anbefalet læsning
- Betydningen af små leveringssteg i DevOps
- Kildekontrol eller versionskontrol i DevOps (Videotutorial del 2 - blok 2)
- DevOps Tutorial: Den ultimative guide til DevOps (25+ Tutorials)
- DevOps-praksis baseret på agil manifest (del 2 - blok 1)
- DevOps Testing Tutorial: Hvordan DevOps vil påvirke QA-test?
- AWS CodeCommit-vejledning til DevOps-implementering i Cloud
- SeTest-automatiseringsvejledning: En guide til mobil testautomatiseringsværktøj
- Kontinuerlig levering i DevOps