Kuidas ma nÀdal aega olin SRE-inseneri praktikant. Vahetuse tavadega tarkvarainseneri silmade lÀbi

Kuidas ma nÀdal aega olin SRE-inseneri praktikant. Vahetuse tavadega tarkvarainseneri silmade lÀbi

SRE-insener - praktikant

Alustuseks laske mul end tutvustada. Mina olen @tristan.read, esifront-end insener grupis Monitor::Health GitLab'is. Eelmisel nÀdalal sain vÔimaluse olla praktikant meie vahetuses olevate SRE-inseneride seas. EesmÀrk oli iga pÀev jÀlgida, kuidas vahetuse insener reageerib intsidentidele ning koguda reaalsest töökogemust. Soovime, et meie insenerid mÔistaksid paremini kasutajate vajadusi funktsioonide Monitor::Health.

Pidin nĂ€dal aega jĂ€rgima SRE-inseneri. See tĂ€hendab, et olin kohal vahetuse ĂŒleandmisel, jĂ€lgisin samu teatekanaleid ja reageerisin intsidentidele, kui neid ette tuli.

Intsidentide

NĂ€dala jooksul toimus 2 intsident.

1. KrĂŒptomĂŒntide kaevandus

KolmapĂ€eval registreeriti GitLab.com'is hĂŒppeline kasv kasutuses GitLab Runner'ikrĂŒptomĂŒndide kaevandamiseks runner'i minutite hĂ€lbimise tĂ”ttu. Intsidendiga tegeleti meie enda rikkumiste neutraliseerimise tööriista abil, mis peatab runner'i ĂŒlesanded ja eemaldab sellega seotud projekti ja konto.

Kui seda sĂŒndmust ei oleks mĂ€rgatud, oleks automaatne tööriist selle ĂŒles leidnud, kuid antud juhul mĂ€rkas rikkumist esimesena SRE-insener. Intsidendi kohta loodi ĂŒlesanne, kuid selle teave on suletud.

2. Rakenduste Canary ja Main jÔudluse langus

Intsident tekitas viivitusi ja tÔusnud veaarvu frekventsia canary ja main veebirakendustes GitLab.com. Rikkumisi toimus mitmes Apdexi vÀÀrtuses.

Avatud ĂŒlesanne intsidenti kohta: https://gitlab.com/gitlab-com/gl-infra/production/issues/1442

Olulised jÀreldused

Siin on mÔned punktid, mida ma nÀgin nÀdalase vahetuse ajal.

1. Teavitused on kĂ”ige kasulikud, kui nad kinni pĂŒĂŒavad normidest kĂ”rvalekaldeid.

Teavitused saab jagada mitmeks tĂŒĂŒbiks:

  • Teavitused, mis pĂ”hinevad kindlal lĂ€vendi vÀÀrtusel, nagu "toimus 10 5xx viga sekundis".
  • Teavitused, kus lĂ€vi on protsentuaalne vÀÀrtus, nagu "5xx vigade sagedus 10% ĂŒldisest pĂ€ringute mahust mÀÀratud ajavahemikus".
  • Teavitused, mis pĂ”hinevad ajaloolisel keskmisel vÀÀrtusel, nagu "5xx vead 90. protsendilisest".

Üldiselt on 2. ja 3. tĂŒĂŒpi teavitused vahetuste SRE-de jaoks kasulikumad, kuna need avavad protsessis normidest kĂ”rvalekaldeid.

2. Paljusid teavitusi ei edastata intsidentidena

SRE-insenerid tegelevad pideva teavituste vooga, millest paljusid ei ole tegelikult kriitilised.

Miks mitte piirduda teavitustega, mis on tĂ”eliselt olulised? Sellise lĂ€henemisega vĂ”ib siiski jÀÀda tuvastamata varased sĂŒmptomid, mis vĂ”ivad lumehelbena kasvades muutuda tĂ”eliseks probleemiks, mis toob kaasa suuri kahjusid.

SRE deĆŸuurimise ĂŒlesanne on mÀÀrata, millised teavitused rÀÀgivad tĂ”eliselt millestki tĂ”sisest ja kas neid tuleks eskaleerida ning hakkama saama. Kahtlustan, et see tuleneb ka teavituste jĂ€ikusest: oleks parem, kui sisse viidaks mitmeid tasemeid vĂ”i 'nutikaid' viise teavituste seadistamiseks vastavalt ĂŒlaltoodud olukorrale.

Funktsioonide pakkumine: https://gitlab.com/gitlab-org/gitlab/issues/42633

3. Meie deĆŸuurivad SRE-d kasutavad palju tööriistu

Sisemised:

  • GitLab infra projekt: siin elavad Runbook’id, deĆŸuurimise vahetused nĂ€dalaks, ĂŒlesanded intsidendi vastamiseks.
  • GitHubi probleemid: uurimine, arutelu ja hooldus jĂ€lgitakse samuti ĂŒlesannetes.
  • GitLab’i sildid: automatiseerimise ĂŒlesanded kĂ€ivituvad teatud silte jĂ€rgi, mille alusel robotid jĂ€lgivad ĂŒlesannete aktiivsust.

VĂ€lised:

  • PagerDuty: teavitused
  • Slack: siia suunatakse PagerDuty / AlertManager sĂ”numite voog. Integreerimine slashes-kĂ€skudega, et tĂ€ita mitmesuguseid ĂŒlesandeid, nĂ€iteks: sulgeda teavitus vĂ”i eskaleerida intsidendiks.
  • Grafana: metrikate visualiseerimine keskendudes pikaajalistele trendidele.
  • Kibana: annab visualiseerimise / otsingu logis, vĂ”imaluse sĂŒveneda konkreetsetesse sĂŒndmustesse.
  • Zoom: on pidevalt töötav 'arutelu tuba' Zoomis. See vĂ”imaldab SRE-inseneridel kiiresti arutada sĂŒndmusi, raiskamata vÀÀrtuslikku aega ruumi ja osalejate linkide loomisele.

Ja palju, palju muud.

4. GitLab.com jĂ€lgimine GitLab'i abil on ĂŒhtne tĂ”rke punkt

Kui GitLab.com-il esineb suur teenuste tÔrge, ei tahaks, et see mÔjutaks meie vÔimet probleemi lahendada. Seda saab leevendada, kÀivitades teise GitLabi instantsi GitLab.com-i haldamiseks. Tegelikult töötab see meil juba: https://ops.gitlab.net/.

5. Mitmeid funktsioone, mida vÔiks kaaluda GitLabi lisamiseks

  • Mitme kasutajaga ĂŒlesannete redigeerimine, sarnane Google Docs’ile. See aitaks intsidentide ĂŒlesannete puhul sĂŒndmuse kĂ€igus ning ka arutelude ĂŒlesannete puhul. MĂ”lemas olukorras vĂ”ib mitmel osalejal olla vajadus lisada midagi reaalajas.
  • Rohkem veebihukke ĂŒlesannete jaoks. Erinevate GitLabi töövoo samme seesmine kĂ€ivitamine aitab vĂ€hendada sĂ”ltuvust Slacki integratsioonidest. NĂ€iteks vĂ”imalus hĂ€ired PagerDuty-s lubada lĂ€bi GitLabi ĂŒlesande slashi kĂ€su.
    KokkuvÔte

SRE-inseneridel on palju vĂ€ljakutseid. Oleks tore nĂ€ha rohkem GitLabi tooteid nende probleemide lahendamiseks. Meie töötame juba mĂ”nede tootetĂ€ienduste kallal, mis lihtsustavad ĂŒlalnimetatud töövooge. Üksikasjad on saadaval Ops Product Vision jaotises.

Aastal 2020 laiendame meeskonda, et koguda kĂ”ik need suurepĂ€rased funktsioonid. Kui olete huvitatud, tutvuge palun tööpakkumistega, ja Ă€rge kartke ĂŒhendust vĂ”tta kellegagi meie meeskonnast mistahes kĂŒsimustes.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster