Een site reliability engineer (SRE) kan DevOps-DevOps succes mogelijk maken, meer inzicht bieden in de gezondheid van bedrijfskritische diensten, de reactietijden van incidenten verbeteren en zorgen voor een hoge beschikbaarheid van alle applicaties. In dit artikel bekijken we wat een SRE is en hoe ze uw organisatie kunnen helpen de algehele kwaliteit en betrouwbaarheid van de levenscyclus van uw softwareontwikkeling (SDLC) te verbeteren.
Wat is een Site Reliability Engineer?
Een locatiebetrouwbaarheidsingenieur is verantwoordelijk voor de monitoring, automatisering en betrouwbaarheid van IT-activiteiten. Ze gebruiken softwareontwikkelingstools om IT-operatietaken te automatiseren, zoals verandermanagement, incidentrespons en productiesysteembeheer. Zij zijn ook verantwoordelijk voor het monitoren van de gezondheid van software-implementaties en het teruggeven van logs en data aan de ontwikkelaars.
Waarom SRE?
De initialen SRE kunnen verwijzen naar een site reliability engineer of de praktijk van site reliability engineering. Het doel van de SRE-praktijk is ervoor te zorgen dat de diensten en applicaties van een organisatie altijd beschikbaar zijn, zelfs door frequente updates door het ontwikkelingsteam uit te voeren.
De SRE-rol is sterk afhankelijk van softwaretools en automatisering die de dagelijkse taken zoals applicatiemonitoring of systeembeheer kunnen vereenvoudigen. Wanneer ontwikkelaars een applicatie bijwerken, kunnen hun wijzigingen soms een negatieve invloed hebben op de applicatie en de prestaties ervan verminderen of zelfs laten crashen. SRE's zijn er om op deze potentiële problemen te letten en ervoor te zorgen dat fouten in de softwarecode of -implementatie geen invloed hebben op het vermogen van de organisatie om haar klanten naar tevredenheid van dienst te zijn.
Een groot deel van de verantwoordelijkheden van een SRE is om te dienen als een buffer en facilitator tussen IT-ontwikkeling en -activiteiten. Ontwikkelaars willen hun software snel en vaak bijwerken, maar operationele teams willen iets langzamer gaan om ervoor te zorgen dat de updates geen problemen veroorzaken.
Vanwege deze noodzaak om de beste balans te bewaren tussen ontwikkeling en activiteiten, moeten SRE's verschillende taken - waaronder software-engineering, activiteiten en infrastructuurbeheer - in één combineren. Ze zijn over het algemeen ook zeer bedreven in het creëren en beheren van netwerken en systemen in het algemeen, en ze weten hoe ze kostbare downtime en systeemuitval kunnen voorspellen en voorkomen.
Wat doen Site Reliability Engineers?
SRE's werken aan het behoud van de beschikbaarheid, prestaties en betrouwbaarheid van de IT-infrastructuur van een organisatie. Dit omvat het ontwerp, de implementatie en de algehele monitoring van systemen om ze met maximale efficiëntie draaiende te houden en altijd in staat te zijn het soort intuïtieve, responsieve ervaringen te leveren dat eindgebruikers willen.
Door gebruik te maken van softwaretools kunnen SRE's vele cruciale operationele taken automatiseren en stroomlijnen, zoals loganalyse, het patchen en bijwerken van applicaties en systemen, het testen van productieomgevingen, enzovoort. Ze beheren ook nauw alle systemen, detecteren en lossen eventuele problemen op die zich voordoen en voeren post-mortems uit na een incident om te analyseren wat er is gebeurd en hoe het in de toekomst kan worden voorkomen.
Andere verantwoordelijkheden zijn onder meer:
- Overleg met ontwikkelaars om ervoor te zorgen dat betrouwbaarheid in elke applicatie wordt ontworpen en ingebouwd
- Werken met operaties om te zien dat nieuwe en bijgewerkte applicaties voldoende ondersteuning hebben van bestaande IT-infrastructuur
- Voorspelling en planning voor capaciteitsbehoeften, evenals systeemprestaties en veerkracht
- Belangrijke statistieken instellen als service-level indicators (SLI's) en service-level objectives (SLO's) om de voortgang en het succes in de loop van de tijd te meten
- Verbetering van de levenscyclus van softwareontwikkeling, vooral na incidenten
- Assisteren van ontwikkelingsteams door het systeem te schalen, automatisering te implementeren en nieuwe functies te creëren
- Reageren op en oplossen van ondersteuningsescalatieproblemen
Is SRE hetzelfde als DevOps ?
SRE is niet hetzelfde als DevOps, maar er zijn enkele overeenkomsten in de doelstellingen van elk team. Zowel SRE's als DevOps willen dat ontwikkeling en operaties nauwer en effectiever samenwerken. Zowel SRE's als DevOps zijn sterk voorstander van automatisering en systeemoptimalisatie.
Hoewel traditionele DevOps-praktijken hebben geleid tot een betere algehele samenwerking en snellere softwareontwikkelingscycli, heeft DevOps doorgaans niemand in hun team gehad die specifiek verantwoordelijk is voor het stimuleren van ontwikkeling die de prestaties en betrouwbaarheid van de locatie verbetert of verhoogt. Dit is waar de SRE schittert. Het enige doel van een SRE is het leveren (of behouden) van betrouwbaarheid en schaalbaarheid in het gehele systeem.
Waar DevOps gericht zijn op snelheid en agility, zijn SRE's gericht op het beheer van de infrastructuur en het beschikbaar en goed presterend houden ervan. DevOps is meer een culturele aanpak in een organisatie, maar een SRE maakt gebruik van zeer gespecialiseerde vaardigheden om DevOps te ondersteunen en tegelijkertijd piekoperaties te garanderen.
Zelfs binnen de DevOps-cultuur dienen SRE's als brug tussen IT-operaties en -ontwikkeling. Ze fungeren vaak als kwaliteitsborging, maar het is proactieve QA. SRE's zijn vaak een cruciale factor die DevOps in staat stelt te slagen door te helpen de ideale balans te bepalen tussen systeemstabiliteit en ontwikkelingssnelheid.
Welke vaardigheden heeft een SRE nodig?
Omdat SRE's de brug vormen tussen IT-operaties en ontwikkelaars, hebben ze een hele reeks vaardigheden nodig. Veel van de huidige SRE's zijn ex-sysadmins die weten hoe ze moeten coderen of voormalige softwareontwikkelaars met ervaring aan de operationele kant.
SRE's moeten weten hoe ze schaalbare veerkrachtige IT-systemen moeten ontwerpen en bouwen. Ze moeten een verscheidenheid aan cloud computing-platforms begrijpen. Ze moeten ook weten hoe ze netwerkprotocollen moeten configureren en databases moeten beheren. En misschien wel het belangrijkste, ze hebben uitstekende probleemoplossende en communicatieve vaardigheden nodig.
Andere waardevolle vaardigheden kunnen zijn:
- Diepgaand begrip van IT-infrastructuur, zowel in de cloud als op locatie
- Expertise in containertechnologie en orkestratie
- Mogelijkheid om strategische relaties aan te gaan met partners, leveranciers en collega's van alle business units
- Ervaring met het coderen van talen, monitoring- en versiebeheertools, databases en besturingssystemen
- Beheer en onderhoud van website-infrastructuur
- Vertrouwdheid met Doorlopende integratiecontinue ontwikkeling (CI/CD )
- Ervaring met gedistribueerde computersystemen
Is er vraag naar SRE's?
Het antwoord op deze vraag is een klinkend ja! SRE's zijn meer dan ooit populair, en dat momentum toont geen tekenen van vertraging. Brancheanalisten bij Gartner hebben geschat dat tegen 2027 75% van de ondernemingen SRE-praktijken in de hele organisatie zal gebruiken om de activiteiten te optimaliseren. Dat percentage is een grote sprong voorwaarts van slechts 10% van de ondernemingen die in 2022 SRE-praktijken gebruikten.
Naarmate organisaties hun applicaties en diensten steeds meer online verplaatsen, blijven klanten naadloze toegang tot diensten verwachten zonder downtime of vertraging. SRE's zijn een cruciaal onderdeel van het voldoen aan die verwachtingen, vooral in sectoren waar downtime ernstige gevolgen kan hebben, zoals technologie, gezondheidszorg en financiën.
Grote wereldwijde organisaties hebben engineers met SRE-vaardigheden nodig om de betrouwbaarheid van hun diensten en applicaties te garanderen. Hoewel de rol veel technische vereisten heeft, is het SRE-carrièretraject wijd open en kan het leiden tot verdere management- en leiderschapsrollen.