DevOps: Det lykkelige ægteskab mellem udvikling og drift gennem fælles SLA'er
Digitalisering af den globale erhvervsliv har introduceret kraftfulde moderne teknologier som Artificial Intelligence; Predictive Analytics; Big Data; Cloud Computing; Machine Learning, Internettet og Things (IoT); og mobilt kundeinddragelse for at nævne nogle få. Men fremkomsten af vores digitale verden er ikke uden sine udfordringer. For eksempel er datamodeller som NoSQL, Big Data (HDFS) og Graph opstår som svar på nye typer applikationer, der kræver opbevaring af forskellige typer data og styring af store mængder af det: det har været en læringskurve for både udviklere og operatører. Heldigvis har vedtagelsen af en DevOps-kultur vist sig at være det fælles sprog der skal til for at hjælpe os med at forstå og løse disse udfordringer sammen.
Digital transformation handler om meget mere end blot teknologi. Det kræver et dramatisk skift fra at udvikle enkeltapplikationer i en traditionel vandfaldsmetode til at arbejde sammen i et fleksibelt miljø for løbende at implementere opdateringer og nye funktioner. Der er ingen bedre måde at imødekomme vores slutbrugers stigende krav til de nyeste og smukkeste designs og funktionaliteter.
I vores post-digitalisering æra, fungerer et "separat, men lige" forhold mellem udvikling og drift simpelthen ikke, i hvert fald ikke, hvis din virksomhed ønsker at forblive konkurrencedygtig.
Arbejdsplads demografi
DevOps har ændret arbejdspladsdemografien ved at muliggøre bevægelse af ressourcer fra drift til udvikling og omvendt. Resultatet har ikke kun forbedret samspillet mellem udvikling og drift, men også vores evne til at arbejde mere effektivt i skyen, idet vi anvender agile metoder til at udvikle og implementere applikationer hurtigere og mere effektivt. Det har også resulteret i stigende efterspørgsel efter en bred vifte af DevOps-færdigheder. Ifølge 2018 lønguide for teknikere, forventer medarbejderfirmaet Robert Half, at DevOps ingeniører bliver en af de mest efterspurgte roller blandt nordamerikanske arbejdsgivere næste år.
Så, hvad gør Dev og Ops så godt sammen?
SLA (Service Level Agreement)
En SLA på sit mest grundlæggende niveau angiver det mindste fællesnævnermål i et forretningsforhold mellem klient og udbyder, f.eks. 99% oppetid, men med en rimelig brugsklausul. Selv om dette er en forholdsvis typisk og rimelig kontrakt, har den i praksis skabt et forhold mellem os og dem. Internt blev der opført en lignende murvæg mellem Operations and Development teams.
Problemet var, at Operations and Development traditionelt havde meget forskellige SLA'er. For eksempel, mens Operations blev målt på, hvor stabile / tilgængelige systemer var, blev udviklingshold målt på, hvor meget ny kode de kunne installere. Så når det drejede sig om at implementere nye kode til opnåelse af udviklings SLA-mål - noget, som normalt afhænger af nedetid i driften - vil operationerne derfor skulle planlægge systemets nedetid og dermed påvirke deres SLA negativt. Ikke overraskende var begge hold i hemmelighed mere bekymrede over deres SLA'er - de tænkte bonusser og lønforhøjelser istedet for implementering af applikationer.
Med DevOps kom den fælles SLA; begge hold arbejder nu på samme side mod de samme mål.
DevOps er et ægteskab, ikke en date
I en DevOps-ramme arbejder udvikling og drift sammen som et team. Tallene viser, at højtydende DevOps-organisationer har 200x flere udrulninger, 2.400% forbedrede opsvingstider og 300% lavere forandringsfrekvenser.
Det er vigtigt at bemærke her, at opbygning af en ny DevOps-kultur på tværs af en hel IT-organisation er ikke lige så let som at implementere nogle best practice metoder eller følge en ny standardprocedure eller -proces. DevOps kræver omfattende og langsigtet buy-in og samarbejde for alle interessenter i hele virksomhedens økosystem. Dette er dog muligt. Her er nogle gode fremgangsmåder:
- Kommuniker med medarbejderne til at motivere dem og opmuntre videndeling
- Giv medarbejderne tid til at vedtage det nye tankegang sammen med den uddannelse og de værktøjer, de har brug for
- Anvende en "forbedring lokalt, transformer globalt" tilgang som en forretningsstrategi skal DevOps omfatte support, enterprise architecture, data management og release management over hele linjen.
- Involver alle relevante interessenter i nøglebeslutninger og implementeringsprocesser for at opnå maksimal buy-in og support.
Konklusion
I DevOps er dergenerel enigehed om at processer og procesforbedringer er det primære, mens cloud computing handler om teknologi og tjenester. Er disse ideer gensidigt eksklusive? Nå men, vi talte tidligere om DevOps som et ægteskab. For at tage analogien et skridt videre, er det her, at udviklingsteamet kan lære driften om kode og driften kan undervise udviklingsteamet om infrastruktur og sikkerhed. De kan også lære nye teknologier sammen. Resultatet: kulturel integration og automatisering af nye processer i kraft af udveksling af information og færdigheder for at nå de fælles mål for en fælles SLA.
Principal DevOps Lead
Boaz Lev er Principal DevOps Lead hos Innofactor. Han har arbejdet mere end 10 år hos Microsoft, hvor han udviklede software til millioner af brugere.