Släppteknik förväxlas ofta med DevOps. Det finns en bra anledning. Rollerna och ansvaret överlappar ofta. DevOps kan betraktas som ett superset av release engineering.
Släppteknik
Release engineering är en disciplin som koncentrerar sig på distribution av programvara. Det försöker göra mjukvara av bättre kvalitet till en pålitlig och förutsägbar hastighet. Dess mandat är att förbättra programvarans uppbyggnad och släpp pipeline. Här är några saker som släppteknik betonar:
- Implements Version Control - Release engineering försöker lägga till spårbarhet och tillförlitlighet i koden. Så koden bibehålls i versionskontrollförvar som Git, SVN, Perforce, etc. Utvecklingsteam använder dessa versionskontrollsystem för att bättre hålla koll på kodutvecklingen.
- Automates Build and Release Pipelines - Release engineering koncentrerar sig på att hitta automatiseringsverktyg för att förbättra hastigheten och tillförlitligheten i release-processen. Från det första kodåtagandet till versionskontrollen till den slutliga produkten som når kunden fortsätter release engineering att förbättra processen. Kontinuerlig integration och kontinuerlig leverans (CI / CD) spelar en viktig roll i moderna automatiserade build / release-system.
- Konfigurationshantering - När mjukvarukoden rör sig genom olika cykler för utveckling, testning, iscensättning och produktion säkerställer konfigurationshantering att produktattributen är konsekventa under programvarans livscykel.
- Produktion och distribution - Varje programvara som går ut till kunden i en produktionsmiljö måste vara nära knuten till sitt ursprung. Så om det finns ett problem kan företag spåra det tillbaka till källan.
DevOps
DevOps har ett bredare mandat. Det koncentrerar sig på att skapa tvärfunktionellt samarbete mellan team.
Tidigare arbetade utvecklingsteam och driftsteam i sina egna silor. När utvecklingsteam använde sin kod i produktionen skulle det diskuteras vem som skulle ta ansvar för eventuella produktionsproblem. Utvecklingsteamet vill också att de senaste och coolaste funktionerna används, medan driftsteamet vill hålla sig borta från att ta några risker. Det ledde till ständig konflikt mellan de två grupperna.
Syftet med DevOps-praxis var att föra utveckling och verksamhet närmare varandra. Här är några saker DevOps koncentrerar sig på:
- Infrastrukturinstallation och provisionering - Traditionellt planerade IT-avdelningar och tillhandahöll infrastruktur. DevOps-filosofi uppmuntrar en mer utvecklingscentrerad strategi. Rörledningen skapas för att underlätta utvecklingsprocessen för att gå igenom de olika stadierna och cyklerna friktionsfritt. Utvecklare har mer ansvar för hur deras applikationer beter sig i produktionen.
- Konfigurationshantering - DevOps-team har en bredare bild av konfigurationshantering. Medan release engineering kanske bara använder det för mjukvaruprodukter, hittar DevOps metoder att implementera konfigurationshantering för alla aspekter av en organisation. Syftet är att hjälpa hela organisationen att driva en smidigare operation genom automatisering.
- CI / CD - Kontinuerlig integration och kontinuerlig leverans är en stor del av DevOps-filosofin. En mogen DevOps-praxis använder CI / CD för att automatisera traditionella IT-uppgifter genom att använda infrastruktur som kod.
- Organisatorisk övervakning och förbättringar - DevOps-metoder betonar att samla in data om processer för att analysera och förbättra. Så det är ett viktigt DevOps-ansvar att samla in data, förvandla det till användbar intelligens och använda det för att förbättra nuvarande processer.
Sammanfattningsvis
På grund av skärningspunkten mellan problem med förbättringar av mjukvaruprocessen förväxlas ofta släppteknik med DevOps. Men DevOps har ett större omfång. Medan release engineering kan leva som en separat avdelning, kräver DevOps mer integration med organisationens övergripande arbetsflöde. Det är lättare att skapa en släppteknik eftersom stegen är konkreta. DevOps kräver en förståelse för organisationsbeteendet, arbetskulturen och infrastrukturen. Framgångsrika DevOps handlar inte bara om produkten, det handlar om hela organisationen.
Ytterligare studier
Mot definitioner för Release Engineering och DevOps