Wat is Site Reliability Engineering (SRE)?

Crowds of fun-seekers exploring a city on foot, "

Arjan Franzen

augustus 2020

Electric-blue Brand Logo "explains" how Google SRE design

Zowel DevOps als Site Reliability Engineering (SRE) belooft de samenwerking tussen ontwikkeling (Development) en beheer (Operations) te verbeteren en organisaties veerkrachtiger te maken. Toch zijn veel mensen in ons vak nog niet thuis in de begrippen DevOps en SRE, wat het lastig maakt om deze werkwijzen in te voeren, of om voor DevOps- en SRE-rollen te werven en op te leiden.

SRE en DevOps vullen elkaar juist heel goed aan. Voer je ze allebei in, dan versnellen ze samen de beweging richting continuous delivery. DevOps brengt een systeemblik om snel en consistent klantwaarde te leveren; de principes van SRE laten die DevOps-praktijk opschalen door software-engineeringprincipes toe te passen op systeembeheer.

“SRE is wat je krijgt als je een software engineer vraagt om een beheerteam te ontwerpen.” – Benjamin Treynor Sloss, Vice President Engineering, Google

Wat is Site Reliability Engineering?

Site reliability engineering (SRE) is een vakgebied waarmee teams schaalbare, veerkrachtige systemen ontwerpen en draaien vanuit een software-engineeringaanpak. Kernelementen van SRE zijn het toepassen van software-engineeringtechnieken op het beheer van infrastructuur, het gebruik van metrics om voortgang te volgen en vernieuwing aan te jagen, en het aanmoedigen van een samenwerkingsgerichte houding. SRE is effectief in het opschalen van DevOps-concepten, en ook in het beheersen van technische schuld en het verder verhogen van snelheid zonder efficiëntie in te leveren. SRE vult DevOps aan door de risico's van snelle verandering te beheersen, met nadruk op veerkracht, verantwoordelijkheid en vernieuwing.

"Active Minds logo showing principles that drive dev & ops: In

Figure 1) Developers and Operators

Developers willen:

Vaker nieuwe functies uitbrengen

De kernwaarde vergroten met nieuwe features

Snel fixes uitbrengen voor betere servicekwaliteit

Beheerders willen (of worden geprikkeld om te willen):

Een stabiel systeem

100% beschikbaarheid

De twee van elkaar afhankelijke culturen (ontwikkeling en beheer) hebben twee ogenschijnlijk tegengestelde prikkels. DevOps invoeren dwingt de organisatie deze disciplines samen te brengen in één werkwijze. Zodra die cultuurverandering op gang is, staat SRE klaar om te helpen en die DevOps-cultuur cloud-klaar op te schalen. Gaat het invoeren van DevOps mis, dan bedelft handwerk (toil) het beheerteam.

Vraagstukken waar SRE zich uitstekend voor leent, zijn onder meer:

Technische schuld beheersen, operationeel handwerk voorkomen

Snelgroeiende organisaties, of grote organisaties die in hoog tempo DevOps en cloud invoeren, lopen het risico veel technische schuld en operationeel handwerk op te bouwen. Dat opruimen kan het uitbrengen van nieuwe features in de weg gaan zitten. Site reliability engineers (SRE's) pakken defecten aan vanuit een software-engineeringaanpak, verminderen handwerk waar nodig en besteden een flink deel van hun tijd aan het wegwerken van technische schuld.

Instabiele en onbetrouwbare systemen

Veel handmatig werk, niet-gestandaardiseerde processen en voortdurend brandjes blussen kunnen (Dev)Ops-medewerkers overbelasten, en leiden bovendien tot meer storingen en tragere uitrol. Site reliability engineers richten zich op het ontwerpen van een stabiele omgeving die zo min mogelijk menselijke handelingen vraagt, om de kans op fouten te beperken. Geautomatiseerde reacties, beter monitoren, configuratiebeheer, ticketing en logging en andere vormen van automatisering verkorten de hersteltijd, zodat bij een storing meteen duidelijk is waar en wanneer het misging, en hoe je het oplost.

Sneller en efficiënter werken

Onderdelen van SRE zijn onder meer het vaststellen van SLO's, een blameless cultuur bij het zoeken naar oorzaken, en het gebruik van error budgets en continue verbetering om wendbaar te blijven en tegelijk sneller te worden. Een volledig geautomatiseerd systeem maakt mensen vrij om zich op groei en klantervaring te richten. En omdat SRE's erkennen dat perfectie onwaarschijnlijk is, leren ze van hun fouten. Met error budgets kun je vernieuwende oplossingen introduceren zonder dat de angst voor beschikbaarheidsverlies verandering afremt.

no image placeholder

Laat Agile voor je werken