Site reliability engineering is het proces waarbij operationele processen worden gebruikt en aan het software-engineeringteam voor automatisering worden toegewezen.
IT-teams zijn voortdurend op zoek naar SRE-methodologieën. Site reliability engineering neemt operationele praktijken over en geeft deze door aan software-engineers voor de automatisering van menselijke taken, probleemoplossing en systeembeheer. Een SRE-team is verantwoordelijk voor veranderingsbeheer, noodhulp, bewaking, beschikbaarheid, prestaties, latentie, efficiëntie en capaciteitsplanning van services, meestal software schrijven voor procesautomatisering.
SRE is een geweldig bedrijfsmiddel voor betrouwbaarheid op het gebied van software en schaalbaarheid, omdat systemen kunnen worden beheerd via code. Dit zorgt voor een balans tussen het betrouwbaar zijn van een product en functies en het vrijgeven van nieuwe producten en functies.
Ben Treynor Sloss van Google is het genie achter SRE en beschrijft dit op een treffende manier als "wat er gebeurt als een software-engineer wordt belast met wat voorheen operations werd genoemd". Het concept is ontstaan na een onderzoek naar de conflicten tussen operations, die ervoor willen zorgen dat functies geen problemen opleveren voor eindgebruikers, en ontwikkelingsteams die nieuwe functies hebben ontwikkeld en willen uitbrengen zodra ze klaar zijn voor een implementatie. SRE is een afstemming tussen de twee.
Google heeft een boek gepubliceerd over SRE dat gratis online beschikbaar is. Het biedt een diepgaand onderzoek naar de rol van SRE en aanbevolen best practices voor uitvoering. Deel II en III, principes en praktijken (respectievelijk) zijn van toepassing.
SRE-principes: Volgens Google zijn de belangrijkste principes van SRE:
- Risico's omarmen: Zorg voor een neutrale aanpak van servicebeheer met behulp van foutbudgetten.
- Doelstellingen serviceniveau: Biedt aanbevelingen voor verwarde indicatoren van overeenkomsten en onderzoekt hoe SRE de termen gebruikt.
- Hard werk elimineren: Geen last meer van onrust en repetitieve taken die geen waarde hebben.
- Controle van gedistribueerde systemen: Zorg ervoor dat u altijd op de hoogte bent van wat er in de organisatie gebeurt, omwille van de betrouwbaarheid.
- Release-engineering: Houd zorgvuldig rekening met releases om ervoor te zorgen dat ze consistent zijn en niet bijdragen aan uitval.
- Eenvoud: Een systeem dat te complex is, kan de betrouwbaarheid verlagen en het is lastig om terug te schalen naar een eenvoudigere plaats.
De rol van een site reliability engineer kan het beste worden uitgevoerd door iemand met software-ervaring. Het is zeker geen aanbevolen startpositie. Een juiste uitvoering van SRE vereist een soepele softwaretechniek en inzicht in een systeem van grote schaal en complexiteit.
Een site reliability engineer heeft de juiste mentaliteit nodig voor deze positie. Technische vaardigheden zijn noodzakelijk, maar een conceptueel begrip van de werkzaamheden is essentieel. Het is belangrijk voor SRE's om te worden gebaseerd op traditionele softwareontwikkelingsprocessen, maar er is ook veel belang bij een holistisch inzicht in de bedrijfsprocessen en het ontwikkelen van een betrouwbaar systeem.
Het moet de taak zijn van iedereen in de organisatie om zo betrouwbaar mogelijk te zijn en zo de belangrijke principes van SRE toe te passen. Pas een betrouwbaarheidsmodel toe op elk team en neem de tijd om te bespreken hoe betrouwbaarheid in elk team kan passen en iedereen kan beïnvloeden.
Nieuwe introducties zijn goedgekeurd op basis van de huidige productprestaties: Toepassingen zijn doorgaans niet meer dan 100% van de tijd. Het SRE-team is bedoeld om een service level agreement op te stellen om het systeem te definiëren en te bepalen hoe het voor eindgebruikers wordt gebruikt. Een veelvoorkomend onderdeel van een service level agreement is een foutbudget of het maximale drempelbedrag voor storingen en fouten.
Ontwikkelingsteams en SRE's delen personeel, wat betekent dat een extra SRE één ontwikkelaar minder betekent en omgekeerd. Het systeem regelt zichzelf om problemen tussen ontwikkelaars en SRE's voor personeelsbehoeften te voorkomen. SRE's kunnen ook coderen en ontwikkelen, waardoor ze goed kunnen samenwerken met het ontwikkelingsteam.
SRE's mogen van project wisselen, omdat SRE een sterk gevoel van motivatie en toewijding creëert om teamleden in staat te stellen persoonlijke doelen en doelstellingen na te streven.
- Software ontwikkelen om activiteiten en teams te helpen
- Escalatieproblemen oplossen
- Processen op afroep optimaliseren
- Teamkennis documenteren
- Beoordelingen uitvoeren na een incident
SRE's kunnen direct in de kern van IT-activiteiten, software-engineering en ondersteuning worden geplaatst om een sterke basis en relatie tussen de teams te bieden, wat helpt met feedbacklussen, samenwerking en betrouwbaarheid.
SRE's zoeken naar grote behoeften om verschillende teams naar één doel te leiden.
Een groot deel van een SRE-rol is het weghalen van inefficiënties en het identificeren van dingen die gemakkelijk te automatiseren zijn. Tijdrovende taken kunnen worden gestopt en de efficiëntie kan worden verhoogd zonder zoveel handmatig werk.
SRE-praktijken hoeven niet alleen van toepassing te zijn op de technische industrie. Een cultuur van site reliability engineering kan worden uitgebreid naar e-commerce, klantenservice en productie.
DevOps is een methode voor het bouwen en leveren van goede software, waarbij softwareontwikkeling en -werking worden gecombineerd met de bedoeling om operationele en ontwikkelingsrollen samen te voegen. SRE wordt meestal meer gedreven door een ontwikkelingskant dan door de operationele kant van DevOps.
Meer informatie over DevOps
Lever moderne activiteiten voor DevOps- en SRE-teams
Linux-apparaten kunnen de benodigde technologie leveren voor een cloudgebaseerde ontwikkeling: De apparaten ondersteunen de integratie van de omgeving voor integratie, automatisering, ontwikkeling en levering. Kubernetes kan noodzakelijke Linux-apparaten automatiseren.
Er is geen enkele, uniforme toolset voor SRE. Maar het is van cruciaal belang om SRE-functies binnen een bedrijf samen met automatisering uit te bouwen voor schaalbaarheid en herhaalbaarheid.
ServiceNow biedt meer waarde door werk over meerdere teams te koppelen, hun microservices te registreren, waarneembare gegevens te correleren, betrouwbaarheidsgegevens binnen handbereik te brengen, wijzigingen te automatiseren en storingen te voorspellen, en dat allemaal terwijl uw bestaande tools intact blijven.
Maak uw volgende SRE-transformatieplan met ServiceNow.