Site reliability engineer
Wat is een site reliability engineer (SRE)?
Een site reliability engineer (SRE) is een IT-specialist die verantwoordelijk is voor het goed en degelijk laten en blijven functioneren van software en systemen. Een SRE zorgt er bijvoorbeeld voor dat een website 24 uur per dag bereikbaar en stabiel en veilig is en kan meegroeien met een toenemend aantal gebruikers.
Waar komt de term SRE vandaan?
De term site reliability engineering is in 2003 geïntroduceerd door Google, in de persoon van Ben Treynor Sloss. Die werd door de internetgrootmacht ingehuurd om een team van software engineers te leiden die een productieomgeving moesten runnen. Om de grootschalige systemen waarmee gewerkt werd te kunnen runnen en tegelijkertijd nieuwe features te ontwikkelen, waren er nieuwe denkwijzen nodig. Zo ontstond site reliability engineering.
Wat doet een site reliability engineer?
Een site reliability engineer zorgt ervoor dat computersystemen van of binnen een organisatie goed draaien en dat de veiligheid, stabiliteit en schaalbaarheid ervan geborgd zijn. Met ‘schaalbaarheid’ wordt gedoeld op het uitbreiden van het systeem wanneer het gebruikersaantal groeit. De SRE moet ervoor zorgen dat het systeem zich hier qua snelheid en verwerkings- en opslagcapaciteit aan aanpast.
Werkzaamheden van een site reliability engineer zijn onder andere:
- Ontwikkelen en beheren van schaalbare, veilige en stabiele systemen
- Onderzoek doen naar en analyseren van incidenten
- Maken van performance analyses en aan de hand daarvan verbetervoorstellen doen en implementeren
- Monitoren van prestaties en efficiëntie van systemen
- Risico’s inventariseren en managen
- Automatiseren van taken die voorheen door mensen werden gedaan
- Bouwen van geautomatiseerde service tools, logs en testomgevingen
- Selecteren van infrastructure tools
- Aanpassen en uitbreiden van systemen naar gebruikersaantallen
Doel van het werk van de site reliability engineer is de systemen zo efficiënt mogelijk te laten draaien en waar mogelijk processen en werkzaamheden te automatiseren, zodat de werklast van andere it-collega’s verlaagd wordt. Developers hoeven zich zo bijvoorbeeld alleen te richten op de ontwikkeling van nieuwe features en tools. Om dit mogelijk te maken, verdelen SRE’s hun tijd tussen enerzijds het beheer en oplossen van incidenten en anderzijds het ontwikkelen van systemen en software die helpen de betrouwbaarheid en prestaties te verhogen.
Systemen, tools en technieken waar SRE’s mee kunnen werken, zijn:
- Ruby, Python, C++, Bash, Java
- Node JS, React, TypeScript
- AWS, Azure
- Terraform, Cloud Formation, Ansible
- Kubernetes, Docker, Mesos
Waar werken site reliability engineers?
Site reliabilty engineers kunnen werken in grote organisaties die werken met grootschalige, complexe systemen, zoals banken, overheidsorganisaties of multinationals. Ook zijn er SRE’s die als zzp’er of via IT-detacherings en/of consultancybureau zoals Cloud Solutions ingehuurd worden door bedrijven en organisaties.
SRE’s werken veel samen met andere IT-professionals met verschillende achtergronden, zoals Java developers, Python developers of Ruby developers. Ook kunnen zij te maken krijgen met DevOps-engineers, Linux-engineers en PHP-developers.
Hoe word je site reliability engineer?
Met een achtergrond in de IT en ervaring met software of systemen kan iedereen in principe site reliability engineer worden. Je moet zowel kennis van beheer en operations hebben als van het bouwen, ontwikkelen en automatiseren van systemen. Door hier veel ervaring in op te doen, kun je het vak van site reliability engineering in rollen. Met een drive om veel te leren en te blijven leren kun je heel ver komen.
Vaak wordt wel om een opleiding gevraagd als je gaat solliciteren voor een functie van SRE. Aansluitende opleidingen zijn bijvoorbeeld:
- (Technische) Informatica (hbo/wo)
- Software Engineering en Development (hbo)
- System and Network Engineering (hbo)