Evaluation and implementation of Site Reliability Engineering (SRE) practices in an organization : an action research study
Saarinen, Mikael (2024-06-19)
Saarinen, Mikael
M. Saarinen
19.06.2024
© 2024 Mikael Saarinen. Ellei toisin mainita, uudelleenkäyttö on sallittu Creative Commons Attribution 4.0 International (CC-BY 4.0) -lisenssillä (https://creativecommons.org/licenses/by/4.0/). Uudelleenkäyttö on sallittua edellyttäen, että lähde mainitaan asianmukaisesti ja mahdolliset muutokset merkitään. Sellaisten osien käyttö tai jäljentäminen, jotka eivät ole tekijän tai tekijöiden omaisuutta, saattaa edellyttää lupaa suoraan asianomaisilta oikeudenhaltijoilta.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202406194766
https://urn.fi/URN:NBN:fi:oulu-202406194766
Tiivistelmä
Highly available and reliable software services are the backbone of our connected world. Ensuring reliability of a software services is crucial for organizations, as potential service disruptions could have serious implications in form of monetary losses or even as loss of human lives. To maintain highly reliable services, Google developed the discipline of Site Reliability Engineering (SRE) in 2003, which has since gained in importance due to the increase of complex software services. However, research on SRE has been minimal, especially in the context of adopting SRE practices into existing environments. For achieving high reliability SRE employs a set of principles and practices such as monitoring, capacity planning, incident response mechanics, and testing. This research investigates how limited set of SRE practices can be implemented in a real organizational environment and what is their effect on the reliability of service. It is guided by the Canonical Action Research (CAR) method, and SRE theory established with the Coat Hanger model as the theoretical framework under which the needs of the organization are mapped with semi-structured interviews. These needs are answered with implementing monitoring and capacity planning practices as capacity monitoring Grafana dashboards, and capacity optimizations to the context service. Evaluation of the results is done with semi-structured interviews. The research findings indicate that implementation of SRE practices requires commitment and inclusive working environment from the organization. Careful scoping and requirement mapping for the practice implementation is crucial. While the actual effect on reliability is non-direct, monitoring dashboards and capacity optimization of resources are proactive methods to ensure future reliability of the service. Established SRE theory was evaluated for the implemented practices and was supported by findings of the CAR intervention. The research was restricted through the limited scope of implemented practices and the short evaluation period. Future research could implement more practices to extend and evaluate established SRE theory. Nonetheless, this research provides a valuable contribution being one of the first studies to investigate SRE implementation in an organization and establishing preliminary theory for SRE practices. Hyvin saatavilla olevat ja toimintavarmat ohjelmistopalvelut ovat verkottuneen maailmamme selkäranka. Tämän myötä ohjelmistopalveluiden toimintavarmuuden takaaminen on organisaatioille ratkaisevan tärkeää, sillä mahdollisilla palvelukatkoksilla voi olla vakavia seurauksia rahallisten tappioiden muodossa tai jopa ihmishenkien menetyksenä. Takaakseen palveluidensa toimintavarmuuden Google kehitti vuonna 2003 Site Reliability Engineering (SRE) suuntauksen. Tämän suuntauksen käyttö on sittemmin yleistynyt merkittävästi ohjelmistokokonaisuuksien monimutkaistumisen myötä. SRE:tä koskeva tutkimus on kuitenkin ollut vähäistä, ja erityisesti kun on kyse SRE-käytäntöjen käyttöönottamisesta nykyisiin ympäristöihin. Korkean toimintavarmuuden saavuttamiseksi SRE:ssä käytetään useita periaatteita ja käytäntöjä, kuten seurantaa, kapasiteetin suunnittelua, häiriötilanteisiin vastaamismekaniikoita ja testausta. Tässä tutkimuksessa selvitetään miten rajallinen joukko SRE-käytäntöjä voidaan ottaa käyttöön oikeassa organisaatioympäristössä, ja mikä on niiden vaikutus ohjelmistopalvelun toimintavarmuuteen. Tutkimus hyödyntää Canonical Action Research (CAR) -menetelmää, ja Coat Hanger -mallin avulla luotua SRE-teoriaa teoreettisena viitekehyksenä, jonka mukaisesti organisaation tarpeet kartoitetaan teemahaastatteluilla. Näihin tarpeisiin vastataan toteuttamalla kapasiteetin seuranta kojelauta Grafanalla ja kapasiteetin optimointi konteksti palvelussa. Jälkikäteen tulokset arvioidaan teemahaastattelujen tulosten pohjalta. Tutkimustulokset osoittavat, että SRE-käytäntöjen toteuttaminen edellyttää sitoutumista ja osallistavaa työympäristöä organisaatiolta. Huolellinen vaatimusmäärittely ja tarpeiden kartoitus käytäntöjen toteuttamiseksi ovat ratkaisevassa osassa onnistumista. Vaikkakin todellinen vaikutus palvelun toimintavarmuuteen ei ole välitön, niin kapasiteetin seuranta ja kapasiteetin optimointi ovat ennakoivia menetelmiä toimintavarmuuden takaamiseksi tulevaisuudessa. Kehitetty SRE-teoria arvioitiin toteutettujen käytäntöjen osalta, ja CAR tutkimuksen havainnot tukivat teorian väittämiä. Tutkimusta rajoitti lähtökohtaisesti toteutettujen käytäntöjen rajallinen laajuus ja määrä, sekä lyhyt arviointijakso. Tulevassa tutkimuksessa tulisi ottaa käyttöön lisää käytäntöjä, jotta kehitettyä SRE-teoriaa voitaisiin arvioida ja laajentaa enemmän. Tästä huolimatta tämä tutkimus tarjoaa arvokkaan lähtökohdan tulevalle tutkimukselle, sillä se on yksi ensimmäisistä jossa tutkitaan SRE-käytäntöjen toteuttamista organisaatiossa ja se myös luo alustavan teorian SRE-käytännöistä.
Kokoelmat
- Avoin saatavuus [34516]