DevOps-kulttuurin suosion räjähdysmäisesti kasvaessa, Google omaksui oman menetelmänsä kehittää ja hallita sovelluspalveluita. Syntyi Site Reliability Engineering eli SRE. Tänä päivänä SRE:tä käyttävät Googlen lisäksi muun muassa Amazon, Netflix ja Microsoft.
SRE:n ohjaavat periaatteet: mittaa, korjaa, automatisoi
Kehitystyön ohjaaminen riskejä hallitsemalla
Sen sijaan, että yritettäisiin optimoida jokaisen järjestelmän luotettavuutta loputtomiin, SRE hyväksyy järjestelmien toimivan määriteltyjen palvelutasotavoitteiden (Service Level Objective, SLO) puitteissa. (Esimerkiksi palvelun tavoite on olla alhaalla maksimissaan 3 minuuttia kuukaudessa.)
Mitä matalampi palvelutason tavoite on, sitä enemmän kehitystiimillä on varaa tuottaa virheitä muutoksia julkaistessa. Jos tavoitteissa ei pysytä, vain virheitä korjaavat toimenpiteet sallitaan.
Mittaaminen
Jotta riskejä voidaan hallita, tarvitaan keino mitata, kuinka hyvin palvelu pysyy sille määriteltyjen tavoitteiden sisällä. Mittaus voidaan pohjata palveluista saatavaan metriikka- ja lokidataan.
Ylläpitotehtävien automatisointi
SRE:ssä palvelujen ylläpito nähdään ensisijaisesti sovelluskehityshaasteena. Tavoitteena on automatisoida mahdollisimman moni ylläpitotehtävistä, sen sijaan, että kehittäjät itse käsin korjaisivat palveluissa havaitut häiriöt. Ilman automatisointia ylläpitäjien määrää olisi kasvatettava palvelun järjestelmien kasvaessa. Tilannetta voidaan hallita asettamalla raja puurtamiselle (engl. toil), eli manuaalisille ylläpitotehtäville.
Esimerkiksi Googlen SRE-kehittäjät saavat puurtaa enintään puolet kehitykseen käytettävästä ajasta, loput ajasta on hyödynnettävä automatisointiin. Näin varmistetaan, että palvelu kehittyy jatkuvasti eteenpäin eikä jää jumiin vikojen korjaamiseen.
SRE:n periaatteiden ympärille on rakentunut mittava kokoelma käytäntöjä niin tuotanto-ongelmien tehokkaaseen ratkaisemiseen kuin luotettavien ja itsekorjautuvien järjestelmien kehittämiseen.
Vuonna 2016 julkaistu kirja, Site Reliability Engineering, kertoo Googlen näkemyksen SRE:stä ja kuinka Google hyödyntää SRE:iä heidän sovelluspalveluiden kehityksessä.
Miten DevOps ja SRE eroavat toisistaan?
DevOps voidaan nähdä ideologiana, jolla digitaalisia palveluja tuotetaan siten, että ohjelmiston kehitykseen, asennukseen, testaukseen ja ylläpitoon liittyviä tehtäviä automatisoidaan ja samalla poistetaan eri yksiköiden väliset siilot.
Site Reliability Engineering eli SRE ei varsinaisesti ole DevOpsin kanssa kilpaileva vaihtoehto, vaan pikemminkin DevOpsin periaatteita noudattava konkreettinen toteutus. DevOps on siis väljä ylätason malli ja SRE hyväksi havaittu tapa toteuttaa sitä käytännössä. SRE:ssä on kiinnitetty huomiota erityisesti toimintamallin ja järjestelmien skaalautuvuuteen ja luotettavuuteen.
Eli lyhyesti, DevOps kertoo, mitä on tehtävä ja SRE taas osoittaa, miten se tehdään käytännössä.
Katso ohesta Googlen tuottama video siitä, miten DevOps ja SRE eroavat toisistaan:
Haluatko oppia lisää? Tervetuloa Site Reliability Engineering (SRE) Foundation℠ -valmennukseen. Seuraavat toteutuspäivät ja kurssin kuvauksen löydät Oppista:
Tutustu tästä ja ilmoittaudu mukaan!
“Kurssi antaa osallistujille käytäntöjä, menetelmiä ja työkaluja, joiden avulla saadaan yhteinen kommunikaatio luotettavuuden ja vakauden vastuuhenkilöille”
– Lauri Humina, valmentaja
Wakarun SRE-valmentajina toimivat johtaja Lauri Humina AMP Finlandilta ja Executive Consultant Lari Peltoniemi Wakarulta.
APM Finland on osa Wakarua.
Wakaru tarjoaa vuosien kokemuksella parhaita käytäntöjä ja teknologiapalveluita asiakkaidemme liiketoiminnan ja henkilöstön jatkuvan kehittämisen tueksi. Asiakasyrityksemme lukeutuvat Suomen top 100 suurimpiin yrityksiin. Vuosittain valmennamme yli 2500 ammattilaista palvelujohtamisen ja projektijohtamisen edelläkävijöiksi. Olemme sertifioitu ja hyväksytty koulutusorganisaatio (ATO). Asiakastyytyväisyytemme on korkea – lähes 100 % asiakkaistamme suosittelisi palveluitamme myös kollegalleen.
valmennus@wakaru.fi