Mycket har förändrats under det senaste decenniet och det har banat väg för en revolution av DevOps.
Ny mjukvara och nya applikationer är en ständigt pågående process med ny kod som rullas ut kontinuerligt.
Under den här tiden har DevOps-teamen brutit sig loss från det traditionella tillvägagångsättet med silos och de äger nu sin egen produktionscykel med kvalitetssäkring, integration och distribution. Trots förändringarna så finns det fortfarande en viktig pusselbit som DevOps inte tar ansvar för och det är säkerheten.
Tidigare var det utvecklarna som var ansvariga för apputvecklingen genom att helt enkelt skriva kod som utförde olika funktioner, och kvaliteten på slutprodukten var inte deras ansvar eftersom det sköttes av andra. Arbetssättet inom DevOps uppstod då det tidigare sättet att arbeta på helt enkelt inte ansågs vara hållbart längre. Utvecklingen inom molnlösningar, containers och mikrotjänster gör att applikationer inte längre kräver ständiga överlämningar till andra avdelningar och de kan nu istället skapas och distribueras av ett och samma team. Därför hamnar inte bara slutproduktens funktion på DevOps utan också användarupplevelsen, snabbheten och säkerheten.
Men attityden till säkerheten har inte förändrats. Samtidigt som DevOps-teamen har tagit på sig ett ökat ansvar för att effektivisera utvecklingen, finns det fortfarande en uppfattning om att säkerhetsteamet är det enda teamet som kan ansvara för att skydda slutprodukterna. Detta kan ha kulturella eller organisatoriska orsaker kopplade till den upplevda kontrollen hos säkerhetsteamet i många företag. Revolutionen av DevOps kommer dock inte att vara helt komplett förrän säkerheten är integrerad i utvecklingsprocessen.
Egentligen är det inga konstigheter. Om DevOps ansvarar för produktkvalitet och prestanda bör de också säkerställa att koden inte innehåller kända sårbarheter och bakdörrar som kan påverka säkerheten. Om du utvecklade en bil som var perfekt förutom att den hade en benägenhet att fatta eld i höga hastigheter skulle du förmodligen dra slutsatsen att kvaliteten på designen var bristfällig. En produkt är inte lämplig för sitt ändamål om den inte säkert kan utföra sin uppgift. Detsamma gäller för en webbplats som lätt kan hackas av cyberkriminella eftersom inte tillräckligt gjorts för att skydda dess kod.
Säkerhetsteamets närvaro har gjort att DevOps-teamet kan luta sig tillbaka och låta säkerhetsteamet ta hand om säkerheten. Men eftersom säkerheten har blivit en så viktig del av produktkvaliteten fungerar inte detta förhållningssätt längre. Att säga att DevOps inte behöver oroa sig över hur säker deras kod är bara för att det finns ett annat team som fångar upp problemet är lite som att bortse från ett projekts kostnad bara för att det finns en ekonomiavdelning.
I stället för att se säkerheten inom mjukvaruutveckling som en börda bör DevOps se det som en möjlighet att öka sitt inflytande inom organisationen. I stället för att vänta på att säkerhetsteamet tar ansvar kan DevOps-teamet proaktivt välja de lösningar de behöver för att utveckla, konfigurera och distribuera säker kod redan från start, och slippa påtvingade verktyg uppifrån.
Med det rådande mantrat att förebyggande arbete alltid är bättre än att vara efterklok, kan DevOps-teamen säkert bli förvånade över hur mottagliga deras säkerhetsteam är inför att dela ansvaret och samarbeta mer. Även om säkerhetsteamet fortfarande kan övervaka och ha insyn i relevanta delar av DevOps-processen, bör de inte längre behöva kämpa med kod som överhuvudtaget inte haft säkerhet i åtanke från början.
DevOps måste betrakta säkerhet som en viktig del i produktkvalitet och prestanda. Det finns tydliga signaler på att vi rör oss i denna riktning, särskilt med den senaste tidens framväxt av så kallad DevSecOp-kultur. Det kan ändå tyckas vara en felaktig benämning eftersom “Sec” inte borde vara ett separat element som lyfts fram inom DevOps-processen – det borde snarare vara helt integrerat i allt som DevOps gör. Tills detta är gjort kommer revolutionen av DevOps att vara ganska ofullständig.
Mats Ekdahl, Manager Security Engineer, Check Point Software Technologies