DevOps – vad är det?

DevOps – vad är det?

På bara några korta år, har DevOps gått från ett modeord för en accepterad metod för mjukvaruutveckling och distribution. Artikeln innehåller en översikt.

En Definition

Låt oss börja med en kort definition från en dator Desktop encyklopedi, som definierar DevOps som "den snävare integrationen mellan utvecklare av applikationer och IT-avdelningen som testar och distribuerar dem. DevOps sägs vara skärningspunkten mellan software engineering, kvalitetssäkring och operationer."

Den ökande användningen av Devops

Företag stora och små försöker få ett grepp om vad DevOps är och vilka konsekvenser det kan ha på sina organisationer. Uppmärksamhet kommer inte bara från IT-chefer och CIO: er men också från business managers som börjar tå igen DevOps potential att aktivera affärsenheter att bli effektivare, leverera högre kvalitetsprodukt och vara mer flexibla och innovativa. Programvara för större organisationer, inklusive IBM och Microsoft, expanderar snabbt sina DevOps erbjudanden.
IT-avdelningar satsar allt mer på DevOps. Till exempel, uppgav en färsk rapport om webbplatsen platsannons Dice att "senior systemadministratörer med DevOps och en teknisk bakgrund är i den högra delen av karriären. På marknader som Silicon Valley, kan rekrytera DevOps talang vara en huvudvärk. Det är inte ovanligt att flera erbjudanden, counteroffers och stigande löner för DevOps upplevelse." Tänk denna lista över antalet aktiva jobb öppningar för DevOps ingenjörer, chefer, arkitekter, etc. inom en 100-mils radie av sex amerikanska städer, som sammanställts av Dice:

--Boston 106
--New York 183
--Washington DC 109
--Chicago 53
--San Francisco 319
--Dallas 85

DevOps har klart "anlänt" som en färdighet att tech arbetsgivare söker.

Traditionella utveckling och drift

Det traditionella sättet att distribuera programvara rör sig genom ett antal ganska väldefinierade steg:

1. utvecklingsarbetet: utvecklingsgruppen är givet en uppsättning av specifikationen för önskad slutprodukten. Utvecklare bygga och testa koden i en isolerad testlabbmiljö. Detta är en grundläggande nivå.
2. system integration tester: när koden verkar stabil och korrekt, ansökan är testad för att se till att det fungerar med befintliga program och programvara och hårdvara.
3. användare acceptanstest: koden är sätta till en produktion-liknande miljö och testade för användaren acceptans.
4. produktion och verksamhet: programmet distribueras och görs tillgängliga för användare. Driftgruppen övervakar programmets tillgänglighet och funktionalitet. Behov för patchar, korrigeringar och förbättringar mata tillbaka till utvecklingsarbetet.

I denna process finns det en betoning på dokumentation och överensstämmelse med kraven. Det kallas vattenfall utveckling. Med stora projekt, när varje steg är klar, kan det lätt vändas, mycket som att försöka flytta upp ett vattenfall. Det är inte väl lämpade för en dynamisk miljö där ett företag måste rulla ut, uppdatera och utveckla applikationer för att möta förändrade användarbehov.

DevOps väg

I grund och botten DevOps vilar på två viktiga fundament: samarbete och automation. Samarbete inleds med strategi för att uppmuntra och kräver olika aktörer i mjukvaruutveckling och distributionsprocessen för att arbeta tillsammans. Automation består av verktyg som stöder detta samarbete och är utformat för att automatisera så mycket som möjligt de Cykliskt bearbeta av utveckla och driftsätta programvara.
Även om olika företag kommer att genomföra DevOps på olika sätt, kan vi oftast se detta med följande element:

1. planera och mäta: Syftet med planeringen är att relatera affärsbehov till resultatet av utvecklingsprocessen, och att fastställa åtgärder, eller mått, som kan användas för att utvärdera den utvecklade programvaran mot verksamhetens krav. Detta steg måste inkludera avgör vilka åtgärder som används för att utvärdera programvara, anpassa och justera kontinuerligt, hänför sig till kundens behov och kontinuerligt uppdatera utvecklingsplanen och mätning planen. Funktionen mätning kan också tillämpas på DevOps processen i sig att se till att rätt automatiserade verktyg används och att samarbete pågår.
2. utveckla och testa: detta steg innebär samverkande utveckling, kontinuerlig integration av ny kod och kontinuerlig testning. Den fokuserar på effektivisering utveckling och testning lagens kapacitet. Användbara verktyg är automatisk spårning av testning mot uppmätta resultat och virtualiserade testbäddar som gör att testa i en isolerad men verkliga miljö.
3. släpp och distribuera: ge en kontinuerlig leverans pipeline som automatiserar distribution att testa och produktionsmiljöer. Releaser hanteras centralt i en samarbetsmiljö som utnyttjar automation. Distributioner och middleware konfigurationer är automatiserade och sedan mogna till en självbetjäning modell som ger enskilda utvecklare, lag, testare och distribution chefer med en förmåga att kontinuerligt bygga, bestämmelse, distribuera, testa och främja. Infrastruktur och middleware provisioning utvecklas till en automatiserad då självbetjäning förmåga liknar programdistribution. Verksamheten ingenjörer upphöra manuellt ändra miljöer. i stället fokusera de på att optimera automatisering.
4. övervaka och optimera: innebär kontinuerlig övervakning, feedback från kunder och optimering att övervaka hur program utför efter utsättningen, att tillåta företagen att anpassa sina krav efter behov. Kundupplevelsen övervakas för att optimera erfarenheter inom affärsprogram. Optimering för att kunden nyckeltal som speglar verksamheten värdet uppnås är del av kontinuerlig förbättringsprogram.

Slutsats

I fokus för DevOps har varit att förbättra automatiseringen av programvara och support program. Kärnan i den DevOps filosofin är att alla som deltar i att skapa en produkt eller ett system bör samarbeta från början, inklusive business enhetschefer, utvecklare, driftpersonal, säkerhetspersonal och slutanvändaren grupper.
För en lista över alla mina artiklar, gå till williamstallings.com/Articles