Gamybos parengties kontrolinis sąrašas

Straipsnio vertimas buvo parengtas specialiai kurso studentams „DevOps praktika ir įrankiai“, kuris prasideda šiandien!

Gamybos parengties kontrolinis sąrašas

Ar kada nors išleidote naują paslaugą į gamybą? O gal prisidėjote prie tokių paslaugų rėmimo? Jei taip, kas jus motyvavo? Kas yra naudinga gamybai ir kas bloga? Kaip mokote naujus komandos narius apie esamų paslaugų išleidimą ar priežiūrą.

Daugelis įmonių galiausiai taiko „laukinių vakarų“ metodus, kai kalbama apie pramoninės veiklos praktiką. Kiekviena komanda pasirenka savo įrankius ir geriausią praktiką, taikydama bandymus ir klaidas. Tačiau tai dažnai turi įtakos ne tik projektų sėkmei, bet ir inžinieriams.

Bandymai ir klaidos sukuria aplinką, kurioje dažnas rodymas pirštais ir kaltės keitimas. Taip elgiantis darosi vis sunkiau mokytis iš klaidų ir jų nebekartoti.

Sėkmingos organizacijos:

  • suvokti, kad reikia gamybos gairių,
  • studijuoti geriausią praktiką,
  • pradėti diskusijas apie pasirengimo gamybai klausimus kuriant naujas sistemas ar komponentus,
  • užtikrinti paruošimo gamybai taisyklių laikymąsi.

Pasirengimas gamybai apima „peržiūros“ procesą. Apžvalga gali būti kontrolinio sąrašo arba klausimų rinkinio forma. Peržiūros gali būti atliekamos rankiniu būdu, automatiškai arba abu. Vietoj statinių reikalavimų sąrašų galite sudaryti kontrolinių sąrašų šablonus, kuriuos galima pritaikyti prie konkrečių poreikių. Tokiu būdu inžinieriams gali būti suteikta galimybė paveldėti žinias ir prireikus pakankamai lankstumo.

Kada patikrinti serviso pasirengimą gamybai?

Gamybos parengties patikrą pravartu atlikti ne tik prieš pat išleidimą, bet ir perduodant ją kitai operacijų komandai ar naujam darbuotojui.

Patikrinkite, kada:

  • Pradedate gaminti naują paslaugą.
  • Gamybos paslaugos veikimą perkeliate kitai komandai, pavyzdžiui, SRE.
  • Gamybos paslaugos veiklą perkeliate naujiems darbuotojams.
  • Organizuoti techninę pagalbą.

Gamybos parengties kontrolinis sąrašas

Prieš kurį laiką, pavyzdžiui, aš опубликовала kontrolinis pasirengimo gamybai bandymo sąrašas. Nors šį sąrašą sukūrė „Google Cloud“ klientai, jis bus naudingas ir taikomas ne „Google Cloud“.

Dizainas ir plėtra

  • Sukurkite pakartojamą kūrimo procesą, kuriam nereikia prieigos prie išorinių paslaugų ir kuris nepriklauso nuo išorinių sistemų gedimo.
  • Projektavimo ir kūrimo laikotarpiu apibrėžkite ir nustatykite savo paslaugų SLO.
  • Dokumentuokite lūkesčius dėl išorinių paslaugų, nuo kurių priklausote, prieinamumo.
  • Išvenkite vieno gedimo taško pašalindami priklausomybes nuo vieno pasaulinio ištekliaus. Pakartokite išteklius arba naudokite atsarginį variantą, kai išteklius nepasiekiamas (pavyzdžiui, užkoduota vertė).

Konfigūracijos valdymas

  • Statinė, maža ir neslapta konfigūracija gali būti perduodama naudojant komandinės eilutės parametrus. Visa kitai naudokite konfigūracijos saugojimo paslaugas.
  • Dinaminė konfigūracija turi turėti atsarginius nustatymus, jei konfigūravimo paslauga nepasiekiama.
  • Kūrimo aplinkos konfigūracija neturėtų būti susijusi su gamybos konfigūracija. Priešingu atveju tai gali sukelti prieigą iš kūrimo aplinkos prie gamybos paslaugų, o tai gali sukelti privatumo problemų ir duomenų nutekėjimą.
  • Dokumentuokite, ką galima dinamiškai sukonfigūruoti, ir aprašykite atsarginę elgseną, jei konfigūracijos pateikimo sistema nepasiekiama.

Išleidimo valdymas

  • Išsamiai dokumentuokite išleidimo procesą. Apibūdinkite, kaip leidimai veikia SLO (pvz., laikinas delsos padidėjimas dėl talpyklos praleidimo).
  • Dokumentuokite kanarėlių leidimus.
  • Sukurkite kanarėlės išleidimo peržiūros planą ir, jei įmanoma, automatinius atšaukimo mechanizmus.
  • Įsitikinkite, kad atšaukimas gali naudoti tuos pačius procesus kaip ir diegimas.

Stebimumas

  • Užtikrinkite, kad būtų surinktas SLO reikalingas metrikos rinkinys.
  • Įsitikinkite, kad galite atskirti kliento ir serverio duomenis. Tai svarbu norint nustatyti gedimų priežastis.
  • Nustatykite įspėjimus, kad sumažintumėte darbo sąnaudas. Pavyzdžiui, pašalinkite įspėjimus, kuriuos sukelia įprastinės operacijos.
  • Jei naudojate „Stackdriver“, į savo prietaisų skydelius įtraukite GCP platformos metriką. Nustatykite įspėjimus apie GSP priklausomybes.
  • Visada skleiskite gaunamus pėdsakus. Net jei nedalyvaujate sekime, tai leis žemesnio lygio tarnyboms derinti gamybos problemas.

Apsauga ir saugumas

  • Įsitikinkite, kad visi išoriniai ryšiai yra užšifruoti.
  • Įsitikinkite, kad jūsų gamybos projektuose yra tinkama IAM sąranka.
  • Naudokite tinklus, kad atskirtumėte virtualių mašinų egzempliorių grupes.
  • Norėdami saugiai prisijungti prie nuotolinių tinklų, naudokite VPN.
  • Dokumentuokite ir stebėkite vartotojų prieigą prie duomenų. Užtikrinkite, kad visa vartotojo prieiga prie duomenų būtų patikrinta ir registruojama.
  • Įsitikinkite, kad derinimo galinius taškus riboja ACL.
  • Išvalykite vartotojo įvestį. Konfigūruokite naudotojo įvesties naudingojo krovinio dydžio apribojimus.
  • Įsitikinkite, kad jūsų paslauga gali pasirinktinai blokuoti atskirų vartotojų gaunamą srautą. Tai užblokuos pažeidimus nepaveikdamas kitų vartotojų.
  • Venkite išorinių galinių taškų, kurie inicijuoja daug vidinių operacijų.

Pajėgumų planavimas

  • Dokumentuokite, kaip vertinama jūsų paslauga. Pavyzdžiui: vartotojų skaičius, gaunamo naudingo krovinio dydis, gaunamų pranešimų skaičius.
  • Dokumentuokite savo paslaugos išteklių reikalavimus. Pavyzdžiui: skirtų virtualios mašinos egzempliorių skaičius, veržliarakčio egzempliorių skaičius, specializuota aparatinė įranga, pvz., GPU arba TPU.
  • Dokumento išteklių apribojimai: išteklių tipas, regionas ir kt.
  • Dokumentuokite kvotų apribojimus kuriant naujus išteklius. Pavyzdžiui, apriboti GCE API užklausų skaičių, jei naudojate API kurdami naujus egzempliorius.
  • Apsvarstykite galimybę atlikti apkrovos testus, kad galėtumėte analizuoti našumo pablogėjimą.

Tai viskas. Iki pasimatymo klasėje!

Šaltinis: www.habr.com

Добавить комментарий