[Blog] Wat is DevOps en waarom is het zo belangrijk?
Hoe ontstond de DevOps aanpak?
Meer dan een methodologie bij het ontwikkelen van software is DevOps een cultuur, die nodig is om te kunnen beantwoorden aan de huidige behoeften van bedrijven bij het ontwikkelen van toepassingen – websites, applicaties en meer.
Bij het traditionele waterval-model waren de vereisten voor een software op voorhand duidelijk en vastomlijnd. De definitie van het product zelf was ook stabiel. De developers codeerden de software, en de operationele teams moesten die dan implementeren, ten uitvoer brengen op de bedrijfssystemen of het web.
Maar de IT-wereld evolueert steeds sneller. De vereisten veranderen vaak, en ook het ontwikkelen van de software moet steeds sneller gaan. Software en webapplicaties moeten niet alleen sneller op de markt gebracht worden, maar ook voortdurend aangepast kunnen worden. Nieuwe features moeten naadloos toegevoegd kunnen worden, inmiddels ontdekte bugs moeten opgelost worden. Dit leidde tot het Agile Development model.
Het is echter niet alleen het team ontwikkelaars dat snel en wendbaar moet reageren, ook het operationele team, dat de nieuwe toepassingen moet uitrollen en monitoren. Dit leidt op zijn beurt tot de DevOps aanpak. Velen associëren deze term met een nauwere samenwerking tussen de ontwikkelaars, de bedenkers van een product, en de ops, het operationele team dat zorgt voor de release, het uitrollen, het opereren en monitoren van de software.
Maar DevOps is veel meer – het is een ‘state of mind’, een gezamenlijke aanpak van een probleem. Een aanpak die verder gaat dan het puur technische, een aanpak waarbij alle geledingen van het bedrijf betrokken worden, ook financiën en marketing, en waarbij communicatie levensnoodzakelijk is.
Iedereen, van developer tot sysadmin, de mensen die het netwerk beheren, de business analysts: zij behoren voortaan tot hetzelfde team. Zij hebben een gemeenschappelijk doel: het welslagen van het héle project, niet enkel van hun onderdeel.
Wat zijn de principes van de DevOps aanpak?
De traditionele silo’s tussen ontwikkelaars, testers, release managers en sysadmins worden afgebroken. Zij werken nauwer samen, tijdens het hele proces van zowel ontwikkelen als uitrollen, waardoor zij meer inzicht krijgen in elkaars uitdagingen en vragen.
Ontwikkelaars bijvoorbeeld denken meer na over operaties, bronnen, uptime, betrouwbaarheid. Zij kunnen bijvoorbeeld switches inbouwen waarmee ops teams functies kunnen aan/uitzetten, bepaalde mogelijkheden uitschakelen bij piekverkeer, enz. De ops teams staan de ontwikkelaars bij door snelle testen mogelijk te maken en te monitoren, enz.
De Devops aanpak vereist dan ook mensen met multidisciplinaire vaardigheden. Die zowel met infrastructuur en configuratie vertrouwd zijn, maar evengoed testen willen uitvoeren en software debuggen. Devops zijn bruggenbouwers, die in alle kampen een pijler hebben staan. Zij zijn, in de woorden van Stephen Nelson-Smith “ambassadeurs, vredestichters, facilitators en communicatoren”.
Wanneer het hele projectteam agile is, kan code voor bijvoorbeeld een nieuwe feature of bugfix snel in productie gebracht worden, en indien nodig teruggedraaid worden. Hoe kleiner de stap tussen opeenvolgende versies, hoe kleiner de impact van een eventueel falen: de “fail fast, fail cheap” benadering. Hierdoor kunnen bedrijven regelmatig innoveren – wat vooral voor online bedrijven belangrijk is. Amazon zou zelfs elke 2 seconden nieuwe code implementeren of wijzigen!
De DevOps aanpak heeft gevolgen voor de hele delivery pipeline van een project, waaronder:
- Snellere time to market
- Lager faalpercentage bij nieuwe releases
- Kortere lead time tussen fixes
- Kortere tijd voor herstel (als een nieuwe release crasht)
Wat houdt DevOps in?
Deze illustratie van de DevOps-manier van werken is het symbool voor oneindigheid, of liever: continu werkzaamheid. DevOps houdt in:
- Continu ontwikkelen
- Continu testen
- Continu integreren
- Continu implementeren
- Continu monitoren
In de DevOps levenscyclus ga je van het plan-stadium naar het monitoringstadium en altijd maar terug. Het blauwe deel verwijst naar de ontwikkelfase, het gele gedeelte naar het operationele gedeelte, maar door de steeds weerkerende wisselwerking vloeien beiden ineen.
De DevOps Agile Skills Association heeft 6 principes vooropgezet bij het uitbouwen van een DevOps strategie:
- Klantgericht werken, met korte feedback periodes gegeven door échte klanten en eindgebruikers.
- Geen waterval model waar iedere afdeling apart werkt, zonder overzicht, maar een bedrijf waar iedereen de engineering mindset deelt om een werkend product te maken.
- Verticaal georganiseerde teams die aansprakelijk zijn ‘from concept to grave’.
- All-round profielen, werkend in autonome teams waar zij zich persoonlijk kunnen ontwikkelen.
- Voortdurende optimalisatie op vlak van snelheid, kost en het product/dienst zelf.
- Automatisering van alles wat geautomatiseerd kan worden, ook de infrastructuur, door bijvoorbeeld next-gen container gebaseerde cloudplatformen (infrastructure as code).
Wat zijn de voordelen van de DevOps aanpak?
Uiteraard is op menselijk gebied de mentaliteitswijziging het grote voordeel. De DevOps aanpak leidt tot grotere empathie tussen de teamleden, het maakt een einde aan de ‘us and them’ silo’s van mensen die wantrouwig, soms zelfs angstig tegenover elkaar staan.
Wat de DevOps aanpak op zakelijk gebied concreet oplevert, wordt duidelijk in het rapport ‘Puppet’s State of DevOps‘. Dit jaarlijkse rapport vergelijkt bedrijven die DevOps praktijken toepassen (hoogpresterende of HP-organisaties) met bedrijven die het goed doen op vlak van implementatie van het product, loyaliteit van het personeel, beveiliging, enz. Uit het rapport 2016 blijkt:
- IT-performantie: HP-organisaties implementeren 200 keer sneller, met 2.555 snellere lead tijd. Zij hebben een 24 keer snellere recovery tijd en een 3 keer lager falen bij wijziging.
- Loyaliteit van het personeel: medewerkers in HP-organisaties zijn 2,2 keer meer geneigd om hun organisatie aan te bevelen als een goede werkgever.
- Tijdgebruik: 22% minder tijd gespendeerd aan ongepland werk of het overdoen van werk bij HP-organisaties. Zo kan 29% meer tijd besteed worden aan nieuw werk zoals nieuwe functies.
- Veiligheid: 50% minder tijd vereist om beveiligingsproblemen op te lossen doordat de informatie over beveiligingsdoelstellingen beter in het dagelijkse werk geïntegreerd is.
DevOps: hoe begin je eraan?
Een DevOps cultuur ontwikkelen vraagt planning. Deze tips kunnen je helpen bij het ontwikkelen van een DevOps mindset:
- Denk na over hoe jij wil dat jouw webteam functioneert over 12-18 maanden.
- Bekijk je huidige werkprocessen en vraag jezelf (en je team!) af waar het stroef loopt, waar er risico’s zijn.
- Laat je teams hun zeg doen: hoe denken zij dat de processen realistisch verbeterd kunnen worden? Wat denken zij ervan om ops op dev projecten te zetten?
- Ga na wie van de bestaande medewerkers nieuwe skills wil leren.
- Aarzel niet om je conclusies en je plan te delen met andere afdelingen: cross-functionele teams kunnen in je hele organisatie ingevoerd worden om de efficiency te verbeteren!
- Ga bij nieuwe aanwervingen doelbewust voor DevOps, met cross-functionele skills, en bied hen de mogelijkheid zich verder te bekwamen.
Is een DevOps aanpak iets voor iedereen?
DevOps is een prachtige aanpak voor (online) bedrijven die voortdurend innoveren. Voor hen wordt de ‘time to market’ beduidend verkort, wat een groot financieel voordeel oplevert.
Maar verkeert jouw bedrijf niet in dat geval, dan zal de DevOps aanpak de samenhang tussen je medewerkers uiteraard verbeteren, maar zal je bedrijf wellicht ook zonder deze cultuur wel kunnen overleven. Indien de enige in-house gemaakte applicatie enkel dient om de aanwezigheid op vergaderingen te noteren of om de verlofdagen te plannen, dan heeft die niet elke dag een update nodig!
Past Combell zelf DevOps toe?
Jazeker! Combell hanteert al jarenlang een DevOps-strategie waarbij de applicatie van de klant tijdens zijn ontwikkeling, uitrol en opvolging multidisciplinair benaderd wordt door een all-round team van experts. Zo krijg je meer robuuste applicaties en snellere oplevertijden. Dankzij de overname van het bedrijf Openminds in 2016 kon deze aanpak nog verder verfijnd worden.
Heb je zelf een project op stapel staan, of wil je je bestaande project uitbreiden? Onze teams denken met je mee en bekijken wat je concreet nodig hebt aan hosting en faciliteiten om jouw droomproject tot werkelijkheid te maken!
Bron: Combell