SITE RELIABILITY ENGINEER (SRE): wat zijn ze en hoe werken ze?

SITE BETROUWBAARHEID INGENIEUR

Site Reliability Engineering (SRE) maakt gebruik van software-engineering om taken van IT-activiteiten te automatiseren, zoals productiesysteembeheer, wijzigingsbeheer, reactie op incidenten en noodhulp die systeembeheerders (sysadmins) anders handmatig zouden uitvoeren. Lees verder voor meer informatie over de functieomschrijving, rol, salaris en certificering van een Site Reliability Engineer.

Het achterliggende idee van SRE is dat het automatiseren van toezicht op enorme softwaresystemen met behulp van softwarecode een meer schaalbare en langetermijnoplossing is dan handmatige interventie, vooral als dergelijke systemen groeien of naar de cloud verhuizen.

SRE kan ook het conflict dat van nature ontstaat tussen ontwikkelteams, die voortdurend nieuwe of bijgewerkte software in productie willen brengen, en operationele teams, die geen nieuwe software of updates willen uitbrengen, aanzienlijk verminderen of elimineren, tenzij ze er zeker van zijn dat ze gewonnen hebben. geen storingen of andere operationele problemen veroorzaken. Als gevolg hiervan, zelfs als SRE niet nodig is voor DevOps, volgt het nauw de concepten van DevOps en kan het DevOps helpen slagen.

Ben Treynor Sloss, vice-president engineering bij Google, wordt gecrediteerd voor het ontwikkelen van het idee van SRE. Hij staat erom bekend te zeggen dat "SRE is wat er gebeurt als je een software-engineer vraagt ​​om een ​​operationeel team te ontwerpen."

Site Reliability Engineer

Een Site Reliability Engineer is een softwareontwikkelaar met kennis van IT-operaties - iemand die kan coderen en die ook weet hoe hij 'het licht aan moet houden' in een groot IT-systeem.

Site-reliability-engineers besteden het grootste deel van hun tijd aan het maken van code die handmatige IT-bewerkingen en systeembeheertaken automatiseert, zoals het analyseren van logboeken, het afstemmen van prestaties, het toepassen van patches, het testen van productieomgevingen, het reageren op incidenten en het uitvoeren van autopsie. Na verloop van tijd hopen ze veel meer tijd aan het laatste te besteden en veel minder tijd aan het eerste.

Op een hoger niveau fungeert het SRE-team als een schakel tussen de ontwikkelings- en operationele teams, waardoor het ontwikkelingsteam nieuwe software of nieuwe functies zo snel mogelijk kan uitbrengen en tegelijkertijd een overeengekomen acceptabel niveau van IT-operationele prestaties en foutrisico kan garanderen onder de service level agreements (SLA's) die het bedrijf heeft met zijn klanten. Het SRE-team helpt de ontwikkelings- en operationele teams bij het vaststellen van operationele normen op basis van hun expertise en een schat aan operationele gegevens.

Serviceniveau-indicatoren (SLI's)

De serviceniveaus van systemen worden gemeten met behulp van maatregelen zoals beschikbaarheid (uptime) en latentie.

SLO's of doelstellingen op serviceniveau

Indicatoren voor het meten van overeengekomen serviceniveaus zijn onder meer:

Verkeerde budgetten

Gedurende de langste periode kan een systeem defect raken of onder de verwachtingen presteren zonder de contractuele verplichtingen van de SLA te schenden. Het engineeringteam voor site-reliability gebruikt het foutenbudget, dat meer is dan alleen een maatstaf, om automatisch het innovatietempo van een bedrijf in evenwicht te brengen met de betrouwbaarheid van zijn services.

Functieomschrijving Site Reliability Engineer

De functiebeschrijving van de Site Reliability Engineer moedigt vaak sollicitaties aan van mensen met verschillende achtergronden, zoals software-engineers met operationele ervaring, systeembeheerders met programmeerexpertise, IT-operations-specialisten met codeerervaring, systeemarchitecten en productieautomatiseringsmanagers.

Het bewaken, automatiseren en verbeteren van de prestaties, beschikbaarheid en betrouwbaarheid van softwaresystemen binnen een organisatie zijn de taken van een SRE. Ze hebben de taak om problemen te voorkomen, de infrastructuur te beheren, efficiënte monitoringmethoden te ontwikkelen en ervoor te zorgen dat computersystemen probleemloos werken.

Hoe schrijf je een functiebeschrijving van een site-reliability engineer

Het is eenvoudiger om de taakomschrijving van een site Reliability Engineer op te stellen als de algemene verantwoordelijkheden en competenties van de functie eenmaal zijn geïdentificeerd.

‍Het zou helpen als je je concentreert op het communiceren van de kritieke elementen van de functie, zoals:

  • Rotatie van oproepbaar personeel voor proactieve reactie op incidenten
  • Maak actielogboeken na gebeurtenissen zodat geautomatiseerde oplossingen kunnen worden ontwikkeld voor incidentrespons.
  • SRE-tools worden gebruikt om de infrastructuur te monitoren en tools worden indien nodig aanbevolen.
  • Creëer mechanismen voor reactie op incidenten en bewaking van alarmen.
  • Verbeter teamwerk en operationele procedures
  • Automatisering van CI/CD-pijplijninfrastructuur door middel van codering
  • Behoud de betrouwbaarheid door de fundamentele infrastructuur te plannen, te bouwen en bij te werken terwijl de oplossing schaalt.
  • Sterke programmeermogelijkheden en diepgaande systeemkennis moeten worden getoond.
  • Breng culturele veranderingen aan om de basis te leggen voor proceshervormingen.

De technische vereisten van de functie moeten in balans zijn met de zachte vaardigheden die nodig zijn om te slagen in de functie, zoals beschreven in de functiebeschrijving.

Site Reliability Engineer Rol

Het is belangrijk om op te merken dat de rol van een site Reliability Engineer zelden eerstejaars vereist en dat enige praktische ervaring vereist is. De functie vereist een strategisch en praktisch begrip van tal van verschillende functies, wat niet kan worden bereikt door puur academisch leren.

De functie van een Site Reliability Engineer vermeldt de volgende taken en verantwoordelijkheden:

#1. Expertise op het gebied van softwareontwikkeling

Traditionele IT- en productsitemanagers, die afhankelijk zijn van handmatige en iteratieve procedures, hebben een duurzamere en intelligentere vervanging in SRE's. Ze moeten bruikbare en specifiek ontworpen software maken om het huidige systeem te verbeteren. Een site-reliability-engineer kan bijvoorbeeld worden belast met het vanuit het niets bouwen van een platform voor geautomatiseerde waarschuwingen op wearables. Operations zijn tenslotte een softwareprobleem, een basisprincipe in site reliability engineering. Daarom moeten SRE's kennis hebben van softwareontwikkeling en vertrouwd zijn met populaire scripttalen.

#2. Mogelijkheid om incidentescalatie en probleemoplossing te ondersteunen

Automatisering of een menselijke helpdesk met basisvaardigheden is doorgaans in staat om IT-infrastructuurincidenten op niveau één af te handelen. Site Reliability Engineering-teams moeten klaar zijn voor escalaties en moeilijkere probleemoplossing, omdat niet alle problemen snel kunnen worden opgelost. Wanneer interventies op niveau één en niveau twee een probleem in de productieomgeving niet oplossen, escaleert een incident. SRE's komen op een hoger niveau binnen, zodat ze geavanceerde oplossingen kunnen implementeren voor urgente problemen. Om soortgelijke escalaties in de toekomst te voorkomen, moeten ze ook het voorval registreren en geautomatiseerde reacties creëren.

#3. Het vastleggen van procedures en informatie

Cross-functionele experts van verschillende afdelingen, waaronder softwareontwikkeling, IT-operaties, servicehelpdesk niveau één en niveau twee ondersteuning, enz., zullen regelmatig samenwerken met site Reliability Engineers. Dit betekent dat individuen in de loop van de tijd een aanzienlijke hoeveelheid informatie ontwikkelen die vaak ongedocumenteerd is. Zonder documentatie blijven afdelingen in silo's opereren en zijn alleen bepaalde mensen gekwalificeerd om bepaalde taken uit te voeren. De plicht om interne documentatie, draaiboeken en andere gecentraliseerde kennisopslagplaatsen te maken die de huidige teams en aankomende ingehuurde middelen kunnen helpen, is als gevolg daarvan aan SRE's gegeven.

#4. Evaluatie van incidenten na oplossing 

Een 'postmortale cultuur' is een van de belangrijkste principes van een site Reliability Engineer. Dit houdt in dat een issue of incident niet automatisch wordt afgesloten nadat het is opgelost. In plaats daarvan kijken SRE's naar de details en omstandigheden die tot een incident hebben geleid zonder de schuld aan te wijzen om de infrastructuur in de toekomst te verbeteren en uitval als gevolg van de hoofdoorzaak te voorkomen. Een goed geschreven autopsiedocument dat de belangrijke details bevat, is nodig voor het uitvoeren van autopsiebeoordelingen. Tijd en datums, namen van belanghebbenden, impact op gebruikers en inkomsten, hoofdoorzaken, geleerde lessen en actiepunten zullen allemaal in de paper worden opgenomen.

#5. Belastingbeheer

De processen en methoden die worden gebruikt om het aanbod van datacenterbronnen in evenwicht te brengen met het verkeer en de servicevraag, worden load management genoemd. Verschillende omstandigheden, zoals een piek in de vraag als gevolg van onverwachte markttrends of fysieke ongevallen, kunnen ertoe leiden dat de beschikbaarheid van de service op elk moment wordt onderbroken. Hoewel ze begrijpen dat 100% uptime nooit fysiek haalbaar is, streven experts naar sitebetrouwbaarheid ernaar om zoveel mogelijk servicebeschikbaarheid te garanderen. Ze moeten strategieën gebruiken die ingrijpen als een automatische oplossing mislukt, zoals kill-schakelaars en handmatige overrides. SRE's hebben vaak de leiding over een driedelig load management systeem dat load balancing, load shedding en auto-scaling omvat.

#6. Kennis van gegevensverwerkingssystemen

Om te voldoen aan de drie behoeften van veel verkeer en diensten met hoge bandbreedte, zijn efficiënte dataverwerkingspijplijnen essentieel. Een hedendaags bedrijf gebruikt gegevens uit tal van bronnen, waaronder big data. Om applicatiefuncties aan te sturen of besluitvorming te begeleiden, moeten site-reliability-engineers gegevensverwerkingspijplijnen creëren die deze gefragmenteerde en ongeordende datasets omzetten in georganiseerde informatie. Gebruiksproblemen kunnen het gevolg zijn van vertragingen of defecten in de pijplijn en veel tijd en werk vergen om op te lossen. De verantwoordelijkheid van een SRE is om deze risico's te verminderen en het hoogste niveau van servicebeschikbaarheid te bieden voor applicaties die afhankelijk zijn van pijplijnen voor gegevensverwerking.

#7. Expertise in configuratieontwerp

Softwaresystemen moeten regelmatig goed worden opgezet omdat ze niet rigide zijn en voortdurend veranderen om te voldoen aan verkeers- en zakelijke behoeften. Configuratiebeheer voor softwareproducten, datasets en de productiesystemen die services uitvoeren, maakt deel uit van de SRE-functie. Bij het ontwerp van de configuratie moeten twee elementen de hoogste prioriteit krijgen: eenvoud voor toekomstige SRE-teams om het systeem met zo min mogelijk werk aan te passen en betrouwbaarheid zodat gebruikers kunnen genieten van hoge beschikbaarheid en ononderbroken applicatieservices. Site Reliability Engineers kunnen tools maken om te helpen bij het maken en beheren van configuraties in deze situatie.

#8. Capaciteit om werklasten opnieuw in evenwicht te brengen 

Elke ingenieur in een SRE-team heeft precies de juiste hoeveelheid werk om zijn vaardigheden en capaciteiten te benutten. Niemand wordt dus overbelast. Een taakonbalans kan echter het gevolg zijn van veranderingen in bronnen, vakanties en andere onderbrekingen. Aangezien SRE's de bedrijfskritische infrastructuur beheren die zelfs geen dag onderbreking kan verdragen, is dit een serieuze uitdaging. Ingenieurs overbelasten zichzelf vaak, worden afgeleid door kleine klusjes en besteden minder tijd aan ontwikkeling die waarde toevoegt wanneer er een tekort aan arbeidskrachten is. Om de werkdruk te beheren, moeten ze in staat zijn teams te herstructureren, tools aan te passen of beide tegelijk te doen.

Site Reliability Engineer Salaris

We kunnen met vertrouwen stellen dat site-reliability-engineers niet alleen voor veel verantwoordelijk zijn, maar dat elke organisatie die een complete digitale catastrofe wil voorkomen, moet profiteren van hun talent en vaardigheden. Een andere manier om het te zeggen is dat een betrouwbaarheidsingenieur van een site veel geld kan verdienen als salaris. Zoals bij elk loondebat, zijn de factoren die de grootste invloed hebben op hoeveel u kunt verdienen uw ervaring, locatie en bedrijf.

Volgens ZipRecruiter is het gemiddelde jaarsalaris voor een Site Reliability Engineer in de VS $130,238.
Het gemiddelde cijfer, inclusief andere inkomsten, is $ 236,000, volgens een uitschieter. Gremlin heeft inkomens gezien die oplopen tot $ 450,000 per jaar.

Certificering Site Reliability Engineer

Het bewijs van de vaardigheden en kennis van een SRE is de Site Reliability Engineer-certificering die GSDC aanbiedt. Het bewijst dat de aanvrager in staat is om SRE-technieken, praktijken en concepten te gebruiken om problemen in de echte wereld op te lossen.

Voor professionals die hun kansen op een baan willen verbeteren en hun carrière willen laten groeien op het gebied van site reliability engineering, is de Site Reliability Engineer-certificering cruciaal. Het geeft de kandidaat een concurrentievoordeel op de arbeidsmarkt en toont zijn toewijding aan levenslang leren en groei.

De certificering van een Site Reliability Engineer kan ook nuttig zijn voor organisaties die ervoor willen zorgen dat hun SRE's in staat zijn om complexe systemen te beheren en te onderhouden. Het garandeert dat de kandidaat betrouwbare systemen kan creëren, bouwen en uitvoeren die voldoen aan de noodzakelijke serviceniveaudoelen of deze overtreffen.

In de huidige snelle en gecompliceerde technologische omgeving is de certificering van een Site Reliability Engineer van GSDC een grote troef voor zowel particulieren als ondernemingen.

Het verifieert de capaciteiten en kennis van een SRE en toont een toewijding aan betrouwbaarheid, schaalbaarheid en prestaties.

Waar past SRE in jouw team?

De rollen en plichten van Site Reliability Engineers zijn essentieel voor de voortdurende verbetering van de mensen, processen en technologie van elke organisatie. Site Reliability Engineering biedt veel voordelen op het gebied van snelheid en betrouwbaarheid, of uw team nu al een volwaardige DevOps-cultuur heeft aangenomen of nog bezig is met de verandering.

SRE bevindt zich natuurlijk op het snijvlak van software-engineering, operaties en ondersteuning. SRE is de ideale combinatie van vaardigheden om de band tussen IT en ontwikkelaars te versterken, wat resulteert in snellere feedbackcycli, beter teamwerk en betrouwbaardere software.

Is SRE een goedbetaalde baan?

Het gemiddelde jaarsalaris voor een Site Reliability Engineer in de VS is $103,480, volgens Glassdoor [1]. SRE's kunnen ook een extra vergoeding van $ 22,321 ontvangen, zoals bonussen of winstdeling, voor een jaarsalaris van $ 125,801.

Coderen Site Reliability Engineers?

SRE's zullen veel tijd besteden aan het schrijven van code en het maken van tools waarmee ingenieurs met de infrastructuur kunnen communiceren. Een SRE kan bijvoorbeeld betrouwbaarheidsrapporten produceren die rekening houden met de prestaties op lange termijn.

Heb je een diploma nodig voor SRE?

Als je als Site Reliability Engineer aan de slag wilt, moet je een bacheloropleiding hebben afgerond. Werkgevers geven meestal de voorkeur aan mensen met een diploma in informatica. Dit houdt in dat de nadruk van je vwo-opleiding op computers en computerkennis komt te liggen.

Samengevat

Welke voordelen kan Site Reliability Engineering bieden? We denken dat het een samenhangend metateam is, een samenwerking tussen teams die ervoor zorgt dat iedereen samenwerkt aan hetzelfde doel. We leven in een verbonden samenleving waar technologie ons verbetert in plaats van ons te vervreemden. Bij softwareontwikkeling is niets anders.

Site Reliability Engineers hebben een mate van vrijheid en onafhankelijkheid die ze niet vaak zien in andere beroepen, wat een ander belangrijk aspect van SRE is. Dit is het beroep voor jou als je het leuk vindt om experimenten uit te voeren of organisatiestructuren te veranderen om de betrouwbaarheid van systemen te verbeteren. Bovendien maak je hoogstwaarschijnlijk een groot verschil in het leven van je collega's, en dat is geen geringe prestatie.

Bovendien leer je over het hele scala aan IT-activiteiten en softwareontwikkelingsdisciplines. Dit houdt in dat je niet alleen diverse teams bij elkaar brengt, maar ook voortdurend je vaardigheden uitbreidt. Je wordt er niet alleen beter van als ontwikkelaar, maar ook als manager.

Referenties:

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *

Dit vind je misschien ook leuk