devops automation how is automation applied devops practice
Automation i DevOps:
I den senaste handledningen lärde vi oss vikten av Källkontroll i DevOps . Här, i denna handledning, lär vi oss om automatisering i DevOps.
Automation är det ultimata behovet av DevOps-övning och 'Automatisera allt' är nyckelprincipen för DevOps. I DevOps startar automatiseringssparken från kodgenereringen på utvecklarens maskin tills koden trycks till koden och även efter det för att övervaka applikationen och systemet i produktion.
Föreslagen läsning => Informativ DevOps-handledningsserie
Hela DevOps-pipeline som innehåller kontinuerlig integration, kontinuerlig testning och kontinuerlig distribution, inklusive övervakning av applikationsprestanda i live är automatiserad.
Att automatisera installation och konfiguration av infrastruktur och programvarudistribution är den viktigaste höjdpunkten i DevOps-praxis. DevOps-praxis är starkt beroende av automatisering för att kunna leverera under några timmar och göra frekventa leveranser över plattformar.
Således främjar automatisering i DevOps hastighet, större noggrannhet, konsekvens, tillförlitlighet och ökar antalet leveranser. I slutändan inkapslar automatisering i DevOps allt från att bygga, distribuera och övervaka.
VIDEO Del 2 Block 3: DevOps Automation- 16 minuter och 40 sekunder
Låt oss förstå betydelsen av automatisering i DevOps-praxis i detalj i denna handledning.
Här kommer vi att diskutera:
- Hur tillämpas automatisering i DevOps-praxis?
- Behov och roll för automatisering?
- Vad ska man automatisera?
- Verktyg och ramverk, kontinuerlig testning?
Jag är lite rädd för att prata om automatisering. För hur mycket jag någonsin pratar om automatisering är enligt mig aldrig alls komplett.
Naturligtvis är automatisering helt enkelt att komma bort från de manuella uppgifterna. Människor vill minska sitt engagemang i de vardagliga rutinuppgifterna och använda sin tid och intelligens i något nytt eller innovativt.
Med detta sagt är automatiseringsrollen i DevOps mycket viktig och mycket viktig för att kontinuerligt leverera värde till kunden.
Låt oss svara tillsammans, hur automatisering tillämpas i DevOps-praxis tillsammans med vad vi ska automatisera eftersom båda dessa frågor besvaras tillsammans.
Vad ska man automatisera?
Jag tror inte mycket förklaring krävs för svaret på den här frågan i denna automatiseringsåra. Vart vi än går ser vi saker som automatiseras, antingen med minimal eller ingen mänsklig intervention alls. Så DevOps är inte ett undantag från detta.
I en traditionell programvaruutvecklingsmetod var det bara utvecklingsteamet och deras aktiviteter som brukade bli automatiserade, specifikt testning. Det brukade vara så, att automatisering innebär testning och automatisering av testfall, att också bara funktionella testfall men inte ens icke-funktionella test som prestanda och säkerhet.
Och ingen av de andra aktiviteterna, särskilt opsaktiviteter som används för att bli automatiserade. Misslyckande med manuell distribution på ett stort kluster som involverade 8 servrar och förlusten det orsakade är mycket bra Exempel komplexitet som är involverade i implementeringar och det förklarar tydligt behovet av automatisering för Devops-aktiviteter.
vilken typ av test som används för att verifiera att alla program i en applikation fungerar korrekt
Jag har sett mig själv att organisationer anställer högkvalificerade och intelligenta människor genom att betala ett enormt lönepaket för att konfigurera nätverk och miljöer, som brukade göra baserat på deras intelligens, kunskap inom respektive område, deras erfarenhet och expertis, som var ett komplett manuellt arbete.
Manuell konfiguration är alltid felbenägen som alla vet. Vad som vanligtvis hände vid manuell inställning är att dessa smarta människor, nätverkskonfiguratorer, under en tidsperiod, efter att ha gjort samma arbete upprepade gånger, för att bli uttråkade av dessa aktiviteter och sluta begå misstag på grund av till oaktsamhet.
Du vet att de är mycket lysande och att dessa aktiviteter kommer att vara väldigt enkla och ointressanta för dem och de behöver nya utmaningar varje dag, och inte denna tråkiga uppgift.
Så införandet av automatisering för programvaruinstallation och versionskontroll av infrastrukturdelen blev en enorm vinst och minskade många mänskliga fel förutom att spara tid och låter alla vanliga människor göra detta och därigenom avlägsna beroendet av de skickliga arbetarna.
Att köra runt processer om en ny miljö ska ställas in, som att höja biljetten för att skapa en ny miljö, IT-team som arbetar bakifrån för att ställa in den, alla dessa problem tas bort.
Således har enskilda teammedlemmar befogenhet att utföra uppgifterna. Tänk dig hastigheten, tillförlitligheten och konsistensen som uppnås genom automatiseringen. Så automatiseringen har ökat fruktansvärt, antalet leveranser till produktionen.
Så nu i DevOps-praxis har även Operations-teamet startat automatisering i alla sina verk, vilket har blivit nyckeln till framgången för DevOps.
Egentligen, i DevOps-praxis, startar automatiseringssparken från kodgenereringen på utvecklarens maskin tills koden är ute till produktion och även efter det vid övervakning av applikationen i live. Detta är en typisk DevOps-cykel.
Utvecklings- och Ops-team kontrollerar koden och miljökonfigurationerna till källkontrollen, varifrån automatiseringen startar för att utlösa byggnaden, köra enhetstestfall och annan grundläggande kodkvalitet, täckningstestfall, säkerhetsrelaterade testfall etc.
När koden är klar med detta kompileras koden automatiskt, lagras i versionskontrollen och distribueras automatiskt till ytterligare miljöer för vidare testning och i slutändan till produktionsrelease.
Vi kan se att automatiseringen genomförs i varje fas av utvecklingen från att utlösa byggandet, utföra enhetstester, förpackning, utplacering till de angivna miljöerna, utföra byggverifieringstester, rökprov, godkännande testfall och slutligen distribuera vidare till den slutliga produktionsmiljön.
Även när vi säger att automatisera testfall är det inte bara enhetstesterna utan installationstester, integrationstester, användarupplevelsestester, UI-tester etc.
DevOps tvingar driftsteamet, förutom utvecklingsaktiviteter, att automatisera alla sina aktiviteter, som att tillhandahålla servrarna, konfigurera servrarna, konfigurera nätverken, konfigurera brandväggar, övervaka applikationen i produktionssystemet.
Därför för att svara på vad man ska automatisera är det byggtrigger, kompilering och byggande, distribution eller installation, automatisering av infrastruktur som är inställt som ett kodat skript, miljökonfigurationer som ett kodat skript, det är onödigt att nämna testning, övervakning efter livets prestanda efter installationen, loggar övervakning, övervakningsvarningar, driva meddelanden till live och få varningar från live i händelse av fel och varningar etc.,
I slutändan automatiseras alla projektrelaterade dokument.
hur man spelar mkv på pc
Så jag kan säga att automatisering på DevOps-språk betyder kontinuerlig integration, kontinuerlig testning, kontinuerlig distribution och kontinuerlig leverans. Vi kommer att studera var och en av dem i detalj i de kommande delarna.
Sammantaget möjliggör DevOps alla utvecklings- och verksamhetsaktiviteter, där det är möjligt, vilket som är automatiserbart, vilket som är repeterbart, varhelst noggrannhet krävs, det som tar lång tid är automatiserat.
Ändå, om vi inte nämner verktygen som ska användas för automatisering, är diskussionen om automatisering ofullständig.
Så, val av rätt ram och automatiseringsverktyg är det viktigaste kravet för automatisering i DevOps.
Det finns många verktyg tillgängliga på marknaden, både öppen källkod och licensierade verktyg, som stöder automatisering av hela leveransrörledningen, inklusive aktiviteter som utförs av Ops-teamet, provisioneringsmaskiner, spinning av automatiserade servrar, konfigurering av nätverk, brandväggar, och även övervaka programvarans prestanda.
Vissa organisationer har också utvecklat sina egna ramar för att integrera slutet till slut-processen för DevOps som börjar från kodförpliktelse till koddistribution inklusive dokumentation som är ett enda integrerat verktyg och teamet behöver inte gå utanför ramverket för något relaterat att programmera, vare sig det är versionskontroll, skrivning av testfall, granskning, dumpning av testfall, analys etc.,
T.ex: marionett, Azure-resurschef, kock etc.,
Fördelar med automatisering i DevOps
Vi har sett tidigare utgåvor, i avsaknad av automatisering som tar år att komma in i produktionen och också nyligen med smidig, oavsett om det är magert, scrum eller säkert, och med en procentsats av automatisering förbättras, släpps tidslinjerna ner till några månader eller Veckor.
Men automatisering är absolut ett måste för att göra utgåvorna så snabba som möjligt på några timmar. Så jag tror att det är omöjligt att göra så snabba och frekventa utsläpp såvida vi inte sätter in automatisering på plats.
Så, uppenbarligen då, om vi vill uppnå målen för DevOps, hög kvalitet och värde som levereras till kunder via frekventa och snabba leveranser, är automatisera allt ett måste.
Det är uppenbart att vi nu vet att automatisering tar bort manuella fel, beroende av en individ, utför snabbare och uppnår noggrannhet och därigenom uppnår konsekvens och tillförlitlighet. Automatisering av allt möjliggör därför devops-målet om leverans av hög kvalitet, möjliggör frekventa utgåvor och snabbare utgåvor.
I ett nötskal, Automation,
- Tar bort manuella fel
- Teammedlemmarna är bemyndigade
- Beroendet borttaget
- Latency borttagen
- Ökar antalet leveranser
- Minskar ledtiden
- Ökar utsläppsfrekvensen
- Ger snabbare feedback
- Möjliggör hastighet, tillförlitlighet och konsistens
Så kort sagt, automatisering i DevOps slutligen inkapslar allt från att bygga, distribuera och övervaka.
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- Betydelsen av små leveranssteg i DevOps
- Källkontroll eller versionskontroll i DevOps (Videohandledning del 2 - Block 2)
- DevOps Tutorial: The Ultimate Guide to DevOps (25+ Tutorials)
- DevOps Practice Baserat på Agile Manifesto (Del 2 - Block 1)
- DevOps Testing Tutorial: Hur DevOps kommer att påverka QA-testning?
- AWS CodeCommit Tutorial för DevOps Implementation in Cloud
- SeeTest Automation Tutorial: A Mobile Test Automation Tool Guide
- Kontinuerlig leverans i DevOps