Lista kontrolluese e gatishmërisë së prodhimit

Përkthimi i artikullit u përgatit posaçërisht për studentët e kursit "Praktikat dhe mjetet e DevOps", e cila fillon sot!

Lista kontrolluese e gatishmërisë së prodhimit

A keni lëshuar ndonjëherë një shërbim të ri në prodhim? Apo ndoshta keni qenë të përfshirë në mbështetjen e shërbimeve të tilla? Nëse po, çfarë ju motivoi? Çfarë është e mirë për prodhimin dhe çfarë është e keqe? Si i trajnoni anëtarët e rinj të ekipit për lëshimet ose mirëmbajtjen e shërbimeve ekzistuese.

Shumica e kompanive përfundojnë duke adoptuar qasjet e "Perëndimit të Egër" kur bëhet fjalë për praktikat e funksionimit industrial. Çdo ekip vendos për mjetet e veta dhe praktikat më të mira përmes provave dhe gabimeve. Por kjo shpesh ndikon jo vetëm në suksesin e projekteve, por edhe tek inxhinierët.

Prova dhe gabimi krijon një mjedis ku vënia në gisht dhe zhvendosja e fajit janë të zakonshme. Me këtë sjellje, bëhet gjithnjë e më e vështirë të mësosh nga gabimet dhe të mos i përsërisësh më.

Organizata të suksesshme:

  • kuptojnë nevojën për udhëzime për prodhimin,
  • studioni praktikat më të mira,
  • të fillojë diskutimet mbi çështjet e gatishmërisë së prodhimit kur zhvillohen sisteme ose komponentë të rinj,
  • të sigurojë respektimin e rregullave të përgatitjes për prodhim.

Përgatitja për prodhim përfshin një proces "rishikimi". Rishikimi mund të jetë në formën e një liste kontrolli ose një grup pyetjesh. Rishikimet mund të bëhen manualisht, automatikisht ose të dyja. Në vend të listave statike të kërkesave, ju mund të bëni shabllone të listave kontrolluese që mund të përshtaten me nevoja specifike. Në këtë mënyrë, inxhinierëve mund t'u jepet një mënyrë për të trashëguar njohuri dhe fleksibilitet të mjaftueshëm kur kërkohet.

Kur të kontrolloni një shërbim për gatishmërinë për prodhim?

Është e dobishme të kryeni një kontroll të gatishmërisë së prodhimit jo vetëm menjëherë para lëshimit, por edhe kur e transferoni atë te një ekip tjetër operativ ose një punonjës të ri.

Kontrolloni kur:

  • Ju po lëshoni një shërbim të ri në prodhim.
  • Ju transferoni funksionimin e shërbimit të prodhimit te një ekip tjetër, siç është SRE.
  • Ju transferoni funksionimin e shërbimit të prodhimit tek punonjësit e rinj.
  • Organizoni mbështetje teknike.

Lista kontrolluese e gatishmërisë së prodhimit

Disa kohë më parë, si shembull, unë botuar listë kontrolli për testimin e gatishmërisë për prodhim. Edhe pse kjo listë e ka origjinën nga klientët e Google Cloud, ajo do të jetë e dobishme dhe e zbatueshme jashtë Google Cloud.

Dizajn dhe zhvillim

  • Zhvilloni një proces ndërtimi të përsëritshëm që nuk kërkon akses në shërbime të jashtme dhe nuk varet nga dështimi i sistemeve të jashtme.
  • Gjatë periudhës së projektimit dhe zhvillimit, përcaktoni dhe vendosni SLO për shërbimet tuaja.
  • Dokumentoni pritjet për disponueshmërinë e shërbimeve të jashtme nga të cilat vareni.
  • Shmangni një pikë të vetme dështimi duke hequr varësitë nga një burim i vetëm global. Përsëriteni burimin ose përdorni një kthim prapa kur burimi nuk është i disponueshëm (për shembull, një vlerë e koduar në formë të fortë).

Menaxhimi i konfigurimit

  • Konfigurimi statik, i vogël dhe jo sekret mund të kalohet përmes parametrave të linjës së komandës. Për çdo gjë tjetër, përdorni shërbimet e ruajtjes së konfigurimit.
  • Një konfigurim dinamik duhet të ketë cilësime kthimi në rast se shërbimi i konfigurimit nuk është i disponueshëm.
  • Konfigurimi i mjedisit të zhvillimit nuk duhet të lidhet me konfigurimin e prodhimit. Përndryshe, kjo mund të çojë në akses nga mjedisi i zhvillimit te shërbimet e prodhimit, gjë që mund të shkaktojë probleme të privatësisë dhe rrjedhje të të dhënave.
  • Dokumentoni atë që mund të konfigurohet në mënyrë dinamike dhe përshkruani sjelljen e kthimit nëse sistemi i dorëzimit të konfigurimit nuk është i disponueshëm.

Menaxhimi i lëshimit

  • Dokumentoni në detaje procesin e lëshimit. Përshkruani se si lëshimet ndikojnë në SLO (për shembull, rritje të përkohshme të vonesës për shkak të mungesës së cache-it).
  • Dokumentoni lëshimet e kanarinave.
  • Zhvilloni një plan rishikimi të lëshimit të kanarinës dhe, nëse është e mundur, mekanizma automatikë të rikthimit.
  • Sigurohuni që rikthimet mund të përdorin të njëjtat procese si vendosjet.

Vëzhgueshmëria

  • Sigurohuni që grupi i matjeve të kërkuara për SLO është mbledhur.
  • Sigurohuni që mund të bëni dallimin midis të dhënave të klientit dhe serverit. Kjo është e rëndësishme për të gjetur shkaqet e keqfunksionimeve.
  • Vendosni alarme për të ulur kostot e punës. Për shembull, hiqni sinjalizimet e shkaktuara nga operacionet rutinë.
  • Nëse përdorni Stackdriver, atëherë përfshini matjet e platformës GCP në panelet tuaja. Konfiguro sinjalizimet për varësitë e GCP.
  • Gjithmonë përhapni gjurmët hyrëse. Edhe nëse nuk jeni të përfshirë në gjurmim, kjo do të lejojë shërbimet e nivelit më të ulët të korrigjojnë problemet në prodhim.

Mbrojtje dhe siguri

  • Sigurohuni që të gjitha lidhjet e jashtme të jenë të koduara.
  • Sigurohuni që projektet tuaja të prodhimit të kenë konfigurimin e saktë të IAM.
  • Përdorni rrjetet për të izoluar grupet e instancave të makinave virtuale.
  • Përdorni një VPN për t'u lidhur në mënyrë të sigurt me rrjetet në distancë.
  • Dokumentoni dhe monitoroni aksesin e përdoruesit në të dhëna. Sigurohuni që e gjithë aksesi i përdoruesit në të dhëna të auditohet dhe të regjistrohet.
  • Sigurohuni që pikat fundore të korrigjimit të gabimeve janë të kufizuara nga ACL.
  • Sanitizoni hyrjen e përdoruesit. Konfiguro kufijtë e madhësisë së ngarkesës për hyrjen e përdoruesit.
  • Sigurohuni që shërbimi juaj mund të bllokojë në mënyrë selektive trafikun në hyrje për përdoruesit individualë. Kjo do të bllokojë shkeljet pa prekur përdoruesit e tjerë.
  • Shmangni pikat fundore të jashtme që iniciojnë shumë operacione të brendshme.

Planifikimi i kapaciteteve

  • Dokumentoni shkallën e shkallës së shërbimit tuaj. Për shembull: numri i përdoruesve, madhësia e ngarkesës hyrëse, numri i mesazheve hyrëse.
  • Dokumentoni kërkesat e burimeve për shërbimin tuaj. Për shembull: numri i rasteve të dedikuara të makinës virtuale, numri i rasteve të Spanner, hardueri i specializuar si GPU ose TPU.
  • Kufizimet e burimeve të dokumentit: lloji i burimit, rajoni, etj.
  • Dokumentoni kufizimet e kuotave për krijimin e burimeve të reja. Për shembull, kufizimi i numrit të kërkesave të GCE API nëse përdorni API për të krijuar instanca të reja.
  • Merrni parasysh ekzekutimin e testeve të ngarkesës për të analizuar degradimin e performancës.

Kjo eshte e gjitha. Shihemi në klasë!

Burimi: www.habr.com

Shto një koment