Wat is Site Reliability Engineering (SRE) en hoe verschilt het van DevOps



Crowd of passengers having fun in a bustling city on a vibrant floor

Published on August 2020 by Arjan Franzen

Zowel DevOps als Site Reliability Engineering (SRE) beloven de integratie tussen Development en Operations (DevOps) te verbeteren en de veerkracht van organisaties te vergroten. Toch zijn veel vakgenoten nog niet vertrouwd met de begrippen DevOps en SRE, waardoor het lastig is deze methoden te implementeren en mensen voor DevOps- en SRE-rollen te werven of op te leiden.

SRE en DevOps vullen elkaar sterk aan. Samen versnellen zij de stap naar continuous delivery. DevOps biedt een systemische blik om klantwaarde snel en consistent te leveren, terwijl SRE-principes de DevOps-praktijken opschalen door principes uit software-engineering toe te passen op systeembeheer.

“SRE is wat er gebeurt als u een software-engineer vraagt een operations-team te ontwerpen.” – Benjamin Treynor Sloss Vice President Engineering, Google

Wat is Site Reliability Engineering?

Site reliability engineering (SRE) is een discipline waarmee teams schaalbare, veerkrachtige systemen ontwerpen en beheren met een software-engineeringaanpak. Kernelementen van SRE zijn het toepassen van software-engineering bij het beheren van infrastructuur, het gebruik van metrics om voortgang te volgen en innovatie te sturen, en het stimuleren van een samenwerkingsmentaliteit. SRE is effectief in het opschalen van DevOps-concepten, én in het beheer van technische schuld, en bevordert verdere snelheidswinst zonder in te leveren op efficiëntie. SRE vult DevOps-praktijken aan door de risico's van snelle verandering te beheersen en zo veerkracht, verantwoordelijkheid en innovatie te stimuleren.

De verschillende, onderling afhankelijke culturen (Development, Operations) kennen twee schijnbaar tegengestelde prikkelstructuren. Door DevOps te implementeren verenigt u deze disciplines en werkt u in een DevOps-workflow. Zodra de DevOps-cultuurverandering op gang is, helpt SRE om die cultuur op te schalen en cloud-ready te maken. Als de invoering van DevOps mislukt, raakt het Ops-team bedolven onder handmatig werk (toil).

Belangrijke vraagstukken die SRE goed kan aanpakken, zijn onder meer:

Technische schuld beheren en operationele toil voorkomen

Snel groeiende organisaties, of grote organisaties die in hoog tempo DevOps en cloud invoeren, lopen het risico veel technische schuld en operationele toil op te bouwen. Het herstellen daarvan kan de uitrol van nieuwe features en functionaliteit afremmen. Site Reliability Engineers (SRE's) hanteren een software-engineeringbenadering om defecten aan te pakken, toil waar nodig te verminderen en substantieel tijd te besteden aan het oplossen van problemen rond technische schuld.

Onstabiele en onbetrouwbare systemen

Een hoge mate van handmatige input, niet-gestandaardiseerde processen en voortdurend brandjes blussen belasten (Dev)Operations-medewerkers en leiden tot meer storingen en langzamere deployments. Site Reliability Engineers (SRE's) richten een stabiele omgeving in die met zo min mogelijk input van teamleden kan draaien om fouten te beperken. Geautomatiseerde respons, sterker monitoring, configuration management, ticketing/logging en andere vormen van automatisering kunnen de mean time to resolution verlagen, zodat bij een incident direct duidelijk is waar en wanneer het gebeurde en hoe u het oplost.

Verbetering van snelheid en efficiëntie

Onderdelen van SRE zijn onder meer het vaststellen van SLO's, een blameless root cause-cultuur en het toepassen van error budgeting en continuous improvement om wendbaarheid te borgen en tegelijkertijd meer snelheid te realiseren. Een volledig geautomatiseerd systeem maakt capaciteit vrij om te groeien en de klantervaring te verbeteren. Omdat SRE's erkennen dat perfectie onwaarschijnlijk is, leren zij van fouten. Dankzij error budgeting kunt u innovatieve oplossingen doorvoeren zonder de angst dat veranderingen worden afgeremd vanwege mogelijke grenzen aan beschikbaarheid.

Supercharge your Software Delivery!

Become a High-Performing Agile Team with Agile Analytics

  • Implement DevOps with Agile Analytics

  • Implement Site Reliability with Agile Analytics

  • Implement Service Level Objectives with Agile Analytics

  • Implement DORA Metrics with Agile Analytics