DevOps Introduktion for begyndere

DevOps er blevet et buzzword, som betyder mange forskellige ting for mange mennesker.

Det er udfordrende at forstå og definere, hvad DevOps præcis er. Og det er derfor, hvis du kender de grundlæggende koncepter for DevOps, som de fleste mennesker forbinder med, og historien om, hvordan det udviklede sig, så få et holistisk syn på det.

Oprindelsen af ​​DevOps

DevOps er et perfekt eksempel på agil softwareudvikling. Ideen med DevOps kom fra behovet for at følge med den øgede softwarehastighed og opnå det gennem agile metoder. I løbet af det sidste årti har de store fremskridt inden for agil kultur og praksis afsløret kravet om en mere holistisk tilgang til end-to-end softwareleveringslivscyklussen.

Du undrer dig måske over at vide, hvad agil softwareudvikling er –

Agile udvikling er et bredt begreb, der definerer adskillige iterative og inkrementelle softwareudviklingsmetoder. De populære agile metoder er Scrum, Kanban, Scaled Agile Framework® (SAFe®), Lean Development og Extreme Programming (XP).

Kerneværdierne og visionen for alle disse agile metoder er de samme, men hver af dem har en unik tilgang. Alle disse metoder inkorporerer iterationer og kontinuerlig feedback for med succes at forfine og levere skalerbar software. Alle disse metoder involverer løbende planlægning, kontinuerlig test, kontinuerlig integration og andre endeløse former for både projektet og softwaren.

I modsætning til de konventionelle processer i vandfaldsstil er disse agile metoder lette, og de kommer med en iboende tilpasningsdygtig karakter. En af de bedste ting ved disse agile metoder er, at de alle fokuserer på at styrke folk, når det kommer til at samarbejde og træffe hurtige beslutninger sammen.

Billede af Segue

Idealerne fra DevOps udfører den udvidede agile udviklingspraksis for at forfine bevægelsen af ​​softwareændringer gennem opbygning, validering, implementering og forskellige leveringsstadier. Det giver det tværfunktionelle team mulighed for at have fuldt ejerskab over softwareproduktet, lige fra design til produktion.

  6 bedste værktøjer til sikkerhedsinformation og hændelsesstyring (SIEM), der er værd at tjekke ud i 2020

Udfordringer løst af DevOps

Implementeringsproces – Distribuerede applikationer kræver ofte implementering af binære filer og konfigurationsfiler til flere servere. Det bliver mere udfordrende, når man har en gård med servere. Det bliver udfordrende at finde ud af hvad, hvordan og hvor man skal implementere. Det åbenlyse resultat er?

Lang ventetid på at få artefakterne ind i det næste miljø på ruten til live forårsager forsinkelse af alt som test, tid til at leve osv.

DevOps giver software- eller webudviklere og IT-drift mulighed for at implementere processer i en samarbejdssession, der er fuldstændig ulastelig. Det vil gøre os i stand til at verificere, hvad der virker og derefter tage det til næste niveau med automatisering for at implementere kontinuerlig udvikling. Det skaber også muligheder for hyppigere udvikling.

DevOps-mål

Det forbedrer samarbejdet mellem interessenter fra planlægning til levering og implementerer automatisering af leveringsprocessen for at:

  • Forbedre frekvensen af ​​implementeringen
  • Opnå hurtigere tid til at markedsføre slutproduktet
  • Reducerer fejlfrekvensen for nye udgivelser
  • Det forkorter gennemløbstiden mellem rettelser
  • Forbedrer mellemtiden til genopretningsformålet

Fælles DevOps-scenarie

Hele softwaren kommer til mødestedet, før du starter et nyt softwareprojekt. Teamet er bygget af udviklere, testere, operations- og supportprofessionelle. Teamet laver planen for at skabe fuldt funktionel software, der er klar til implementering.

Hver dag implementeres ny kode, når udviklerne har fuldført den. Den automatiserede testprocedure sikrer, at koden er klar til at blive implementeret. Når koden får det grønne signal fra automatiseringstestprocessen, implementeres den til et lille antal brugere. Koden overvåges i en kort periode for at sikre, at der ikke er uforudsete problemer, og den er stabil. Den nye kode implementeres derefter til resten af ​​brugerne, når den endelige overvågning har vist, at koden er stabil. En betydelig del af trinene efter planlægning og udvikling udføres uden menneskelig indgriben.

Forskellige faser af DevOps-modenhed

Der er mange forskellige faser af DevOps-modenhed. Her er de centrale sætninger, som du skal kende.

Udvikling af vandfald

Før tiden med kontinuerlig integration plejede udviklingsteams at skrive en enorm mængde kode, og derefter blev dem fra forskellige teams slået sammen til udgivelsen. Udgaverne af koden var så forskellige, at de plejede at kræve et stort antal ændringer.

  Sådan finder du din placeringshistorik på iPhone eller iPad

At gøre disse antal ændringer brugt – tager mere end et par måneder. Denne proces var ikke produktiv.

Kontinuerlig integration

Det er en praksis at integrere en nyudviklet kode med den vigtigste kode, der skal frigives hurtigt. Når det kommer til at frigive koden, er løbende udvikling med til at spare en masse tid.

DevOps introducerede ikke dette udtryk. Kontinuerlig integration er en agil ingeniørpraksis, der kommer fra Extreme Programming-metoden. DevOps har taget denne praksis til sig, fordi automatisering er påkrævet, når det kommer til at udføre kontinuerlig integration med succes. Kontinuerlig integration er ofte den første på vejen mod DevOps-modenhed.

Den kontinuerlige integration fra DevOps perspektiv inkluderer trin som at tjekke koden, kompilere den til brugbar kode og køre nogle af de nødvendige valideringstests. ‘

Kontinuerlig levering

Det er en forlængelse af kontinuerlig integration og den anden DevOps-fase.

Kontinuerlig levering giver dig mulighed for at tilføje yderligere automatisering og test, så du ikke kun hurtigt flette koden med hovedkodelinjen, men også får koden næsten klar til at implementere uden menneskelig indgriben.

Det er en praksis at holde din kodebase i en næsten klar-til-deployerbar tilstand.

Kontinuerlig implementering

Kontinuerlig implementering er den avancerede udvikling af kontinuerlig levering. Denne praksis giver os mulighed for at implementere alle veje ind i produktionen uden nogen menneskelig indblanding.

Holdet, der arbejder på kontinuerlig udvikling, implementerer aldrig nogen kode uden test. Al den nyoprettede kode gennemgår automatisk test, før den kommer ind i produktionsstadiet. Koden er implementeret til et lille antal brugere, og der er en automatiseret feedback-loop, der overvåger kvaliteten og brugen, før koden når det næste niveau.

Et lille antal virksomheder som Netflix, Etsy, Amazon, Pinterest, Flicker, IMVU, Google osv. laver løbende udvikling.

Værdien

DevOps fokuserer meget på at udvikle en samarbejdskultur og forbedre effektiviteten gennem automatisering med forskellige DevOps-værktøjer. For at implementere DevOps til din softwareløsning skal du bruge en kombination af både kultur og værktøjer.

  Sådan transformeres en URL til et Emoji-link

DevOps-kultur

DevOps er en særlig kultur, der hjælper med at forbedre samarbejdet, mindske kaos, håndtere delt ansvar på en bedre måde, implementere automatisering, kvalitetsforbedring, feedbackvurdering og øge automatisering.

Agile metoder har altid været den bedste holistiske måde at levere software på. Når det kommer til at måle fremskridtene, gør det agile udviklingsteam det i form af fungerende software. Den agile metode i DevOps-kulturen tillader produktejere, udviklere, testere og UX-folk at arbejde tæt sammen med det samme mål for øje.

DevOps-værktøjer

Indeholder værktøjerne til konfigurationsstyring, test og opbygning af systemer, udvikling af applikationer, kontrol af versioner og overvågning. Når det kommer til implementering af kontinuerlig integration, kontinuerlig levering og kontinuerlig implementering, kræver de forskellige værktøjer, og samtidig bruger de også de samme værktøjer. Du bliver nødt til at bruge flere værktøjer, efterhånden som du kommer videre gennem leveringskæden.

Lad os kende nogle af de populære værktøjer og fremgangsmåder.

Kildekodelager – dette er et sted, hvor udviklere kan tjekke ind og ændre koden. Kildekodelageret administrerer forskellige versioner af koden, der er tjekket ind, så det kan sikre sig, at udviklere skriver over hinandens kode.

Git, Apache Subversion, IBM Rational, Artifactory, Nexus, Eclipse osv., er nogle af de populære kodelagerværktøjer.

Byg server: – Byg serveren er automatiseringsværktøjet, der bruges til at kompilere koden i respiratorisk kildekode til den eksekverbare kodebase. Nogle af de meget brugte byggeserverværktøjer er Jenkins, SonarQube og Artifactory.

Konfigurationsstyring – Puppet, Chef, Ansible, SaltStack, Run Deck osv. hjælper med at styre konfigurationen for applikation og infrastruktur for at opretholde ensartethed på tværs af miljøer.

Virtuel infrastruktur – AWS, GCP og Azure er de tre største offentlige cloud-udbydere, der tilbyder næsten alle infrastrukturtjenester. De tilbyder API, som giver dig mulighed for at klargøre infrastrukturen og administrere dem som en kode.

Konklusion

Jeg håber, det giver dig en idé om DevOps, og hvis dette begejstrer dig, så kan du prøve dette online masterclass-kursus.

Artikel af Payal Goyal