Mi az az SRE, és miért fontos?

Befejeződött

A legjobb az elején kezdeni. Kezdjük egy alapvető kérdéssel: „Mit jelent a Site Reliability Engineering?” Erre a kérdésre számos válasz van, köztük az, amelyet gyakran idéz az a személy, aki a kifejezést megalkotta (Ben Treynor Sloss a Google-nél), de a legpraktikusabb válasz, amit kínálhatunk:

A Site Reliability Engineering olyan szoftvermérnöki szemlélet, amelynek a célja, hogy fenntarthatóan biztosítsa egy szervezet rendszereinek, szolgáltatásainak és termékeinek megfelelő szintű megbízhatóságát.

A későbbiekben további meghatározásokat is számba veszünk majd, de egyelőre induljunk ki innen. Ennek a definíciónak három fontos része van, amelyeket ki kell csomagolnunk, amelyek egyenesen a "Miért számít?" kérdésre segítenek választ találni.

Megbízhatóság

Az SRE lényeges eleme (és a név középső tagja) a megbízhatóság (Reliability). A meghatározásban nem a „megfelelő szintű teljesítmény”, a „megfelelő szintű hatékonyság”, a „megfelelő szintű stabilitás”, vagy akár a „megfelelő szintű bevétel” szerepel. A definíció a „megfelelő szintű megbízhatóságot” említi. Miért?

Most röviden bemutatjuk. Vegyük például ezt a képernyőképet. Mit gondolsz, mit mutat? Ne lépjen tovább, amíg nem tippelt, vagy fel nem adta. Megjegyzés: ha nehéz nagyon sok részletet észlelni ebben a képen, ami rendben van, akkor tökéletesen jelenik meg a böngészőben.

A blank screenshot representing a PHP app that fails to load.

Ez a kép egy (egyéb hibakeresési támogatás nélküli), meghibásodott PHP-alkalmazásról készült képernyőkép. Java-alkalmazások esetén a következőhöz hasonló képet láthat:

A screenshot of failed java app with HTTPS Status 500 error.

Miért vesszük most ezeket a példákat? Mindkét példa egy olyan alkalmazást mutat be, amelynek létrehozására egy vállalat rengeteg időt, energiát és erőforrást áldozott. Ha azonban az alkalmazás nem működik megfelelően – nem működőképes, amikor az ügyfél hozzá szeretne férni, azaz nem megbízható – akkor nem sok haszna van, különösen a vállalat számára. Sőt, a megbízhatóság hiánya tényleges kárt is okozhat a vállalatnak (hírnév, anyagiak, szerződéses feltételek, munkamorál stb. szempontjából).

Ez a fontosság az, amiért az SRE úgy dönt, hogy a megbízhatóságra összpontosít, mint alapvető tulajdonság, talán a szolgáltatás, a rendszer vagy a termék alapvető tulajdonsága. A megbízhatóság sok mindent magában foglalhat (ahogy később tárgyaljuk), de térjünk át a definíció második fontos részére.

A megbízhatóság megfelelő szintjei

Lehet, hogy első olvasásra nem volt szembetűnő, de egy másik fontos kifejezést is ki kell emelnünk a meghatározásból:

A Site Reliability Engineering olyan szoftvermérnöki szemlélet, amelynek a célja, hogy fenntarthatóan biztosítsa egy szervezet rendszereinek, szolgáltatásainak és termékeinek megfelelő szintű megbízhatóságát.

Hogy miért ilyen fontos ez a szó?

Az SRE világában fontos megfigyelés, hogy kevés olyan rendszer és szolgáltatás van, amelyeknek 100%-ig megbízhatónak kell lenniük. Ez alól kivételt képeznek az élet-halál helyzetekhez, például repüléshez vagy orvosi eszközökhöz kapcsolódó rendszerek.

Valójában kevés olyan helyzet van, ahol még kívánatos is. A nagyobb megbízhatóság eléréséhez szükséges erőfeszítés és erőforrások (és ezáltal költségek) a kívánt megbízhatóság szintjének emelkedésével meredeken nőnek. Egy másik módszer, üldözve a megbízhatóság nem kell az idő és a pénzpazarlás. A megfelelő szintű megbízhatóságot kell biztosítania a rendszere, szolgáltatásai és termékei számára.

Ennek a szintnek az üzleti igényeknek és a gyakorlati elvárásoknak is meg kell felelnie. Előfordulhat például, hogy ügyfeleink olyan hálózaton keresztül csatlakoznak Önhöz, amely nem 100%-ig megbízható (tegyük fel, hogy az idő 90%-át teszi ki). Az erőfeszítés és a pénz elköltése annak érdekében, hogy a szolgáltatás 95%-os megbízhatósága definíció szerint idő- és pénzpazarlás. A megfelelő szintű megbízhatóságot kell biztosítania a rendszere, szolgáltatásai és termékei számára.

Az SRE ezt a gyakorlati szemléletet viszi tovább egy lépéssel. Ha most már arra gondolhatunk, hogy a megbízhatóság kívánatos szintje van, van valami, amit meg kell tennünk, ha sikeresek vagyunk az értekezleten, vagy túllépjük ezt a szintet? Illetve mit tehet akkor, ha nem éri el? Ezeket a kérdéseket a modul későbbi részében válaszoljuk meg.

Fenntartható megvalósítás

A definíciónk utolsó szava, amelyet a továbblépés előtt ki kell emelni, a fenntarthatóság. Fenntartható módon az emberek szerepére utal. Létfontosságú, hogy fenntartható üzemeltetési gyakorlatot hozzunk létre. Kapcsolatok megbízható rendszereket, szolgáltatásokat és termékeket hozhat létre. Ha nem teszünk meg mindent, hogy a munkánk fenntartható legyen. Ha minden este 3:00-kor felébresztjük az embereinket egy oldallal, és nem adunk nekik időt a családjukkal. Ha nincs lehetőségük arra, hogy magukra fordíthassák az idejüket. Akkor kizárt, hogy megbízható rendszereket építsenek. Az SRE kulcsfontosságúnak tartja, hogy egy olyan üzemeltetési gyakorlatot valósítsunk meg, amely az idő múlásával fenntartható, így az emberek képesek a lehető legjobban elérhetővé tenni a munkájukat.

Tesztelje tudását

1.

Az SRE egy szolgáltatás, rendszer vagy termék mely tulajdonságára fókuszál elsősorban?

2.

Az SRE milyen szintű megbízhatóság biztosítására törekszik a legtöbb szolgáltatás, rendszer és termék esetében?