Ček lista spremnosti za produkciju

Prevod članka je pripravljen posebej za študente tečaja «DevOps prakse in orodja», ki se začenja danes!

Ček lista spremnosti za produkciju

Ste kdaj izdali novo storitev v produkcijo? Ali ste se morda ukvarjali z vzdrževanjem takšnih storitev? Če da, po čem ste se ravnali? Kaj je dobro za produkcijo in kaj slabo? Kako usposabljate nove člane ekipe za sproščanje ali vzdrževanje obstoječih storitev?

Večina podjetij v praksi industrijske eksploatacije na koncu pride do pristopov “Divjega Zahoda”. Vsaka ekipa se s pomočjo poskusov in napak samostojno odloča za orodja in najboljše prakse. Toda to pogosto vpliva ne le na uspeh projektov, temveč tudi na inženirje.

Metoda poskusov in napak ustvarja okolje, v katerem je pogosto prisotno iskanje krivcev in prelaganje odgovornosti. Pri tovrstnem obnašanju postane vedno težje učiti se iz napak in jih ne ponavljati.

Uspešne organizacije:

  • se zavedajo potrebe po smernicah za produkcijo,
  • preučujejo najboljše prakse,
  • začnejo razpravo o vprašanjih pripravljenosti na produkcijo pri razvoju novih sistemov ali komponent,
  • zagotavljajo spoštovanje pravil priprave na produkcijo.

Priprava na produkcijo vključuje postopek “pregleda”. Pregled je lahko v obliki kontrolnega seznama ali niza vprašanj. Pregled se lahko izvede ročno, samodejno ali na oboje načine. Namesto statičnih seznamov zahtev lahko ustvarite predloge kontrolnih seznamov, ki jih prilagodite posebnim potrebam. Tako lahko inženirjem date način za pridobivanje znanja in zadostno fleksibilnost, ko jo potrebujejo.

Kdaj preveriti storitev za pripravljenost na produkcijo?

Preverjanje pripravljenosti za produkcijo je koristno izvajati ne le tik pred izdajo, temveč tudi ob predaji drugi ekipi za vzdrževanje ali novemu zaposlenemu.

Preverite, ko:

  • Izdajate novo storitev v produkcijo.
  • Predajate vzdrževanje produkcijske storitve drugi ekipi, kot je SRE.
  • Predajate vzdrževanje produkcijske storitve novim zaposlenim.
  • Organizirate tehnično podporo.

Kontrolni seznam preverjanja pripravljenosti na produkcijo

Nekaj časa nazaj, kot primer, sem je objavilo Čeklista za pripremu za produkciju. Iako je ova lista nastala tokom rada s klijentima Google Clouda, biće korisna i primenljiva van Google Clouda.

Dizajn i razvoj

  • Razvijte reproduktivni proces izgradnje koji ne zahteva pristup spoljnim uslugama i ne zavisi od kvarova spoljnih sistema.
  • Tokom faze dizajniranja i razvoja, definišite i postavite SLO za vaše usluge.
  • Dokumentujte očekivanja o dostupnosti spoljnih usluga od kojih zavisite.
  • Izbegavajte jedinstvenu tačku kvara uklanjanjem zavisnosti od jednog globalnog resursa. Replikušete resurs ili koristite rezervnu opciju kada resurs nije dostupan (na primer, unapred kodirana vrednost).

Upravljanje konfiguracijom

  • Statističku, malu i neosetljivu konfiguraciju možete proslediti kroz parametre komandne linije. Za sve ostalo koristite usluge za čuvanje konfiguracije.
  • Dinamička konfiguracija treba da ima rezervne postavke u slučaju nedostupnosti usluge konfiguracije.
  • Konfiguracija razvojne sredine ne bi trebala biti povezana s konfiguracijom produkcije. U suprotnom, to može dovesti do pristupa produkcijskim uslugama iz razvojne sredine, što može izazvati probleme s privatnošću i curenje podataka.
  • Dokumentujte ono što se može dinamički konfigurisati i opisujte rezervno ponašanje ako sistem za distribuciju konfiguracije postane nedostupan.

Upravljanje isporukom

  • Detaljno dokumentujte proces isporuke. Opisujte kako isporuke utiču na SLO (na primer, privremeno povećanje latencije zbog promašaja u kešu).
  • Dokumentujte kanarska izdanja.
  • Razvijte plan za analizu kanarskih izdanja i, kada je moguće, mehanizme automatskog povlačenja.
  • Uverite se da povlačenja mogu koristiti iste procese kao i implementacija.

Prikladnost za praćenje (Observability)

  • Uverite se da se prikuplja skup metrika potrebnih za SLO.
  • Uverite se da se može razlikovati između klijentskih i serverskih podataka. To je važno za otkrivanje uzroka kvarova.
  • Podesite upozorenja kako biste smanjili troškove rada. Na primer, uklonite upozorenja izazvana rutinskim operacijama.
  • Ako koristite Stackdriver, uključite GCP platforme metrike u svoje kontrolne table. Podesite upozorenja za GCP zavisnosti.
  • Vedno delite prihajajočo sleditev. Tudi če niste vključeni v sledenje, to omogoča storitvam nižje ravni odpravljanje težav v proizvodnji.

Zaščita in varnost

  • Poskrbite, da bodo vse zunanje povezave šifrirane.
  • Poskrbite, da imajo vaši proizvodni projekti pravilno nastavitev IAM.
  • Uporabite omrežja za izolacijo skupin primerkov virtualnih strojev.
  • Uporabite VPN za varno povezovanje z oddaljenimi omrežji.
  • Dokumentirajte in spremljajte dostop uporabnikov do podatkov. Poskrbite, da se bo vsak dostop uporabnikov do podatkov preverjal in beležil.
  • Poskrbite, da bodo končne točke za odpravljanje napak omejene z ACL.
  • Sanitizirajte uporabniški vnos. Nastavite omejitve velikosti uporabniškega vnosa.
  • Poskrbite, da lahko vaša storitev selektivno blokira prihajajoči promet za posamezne uporabnike. To omogoča blokiranje kršitev, ne da bi vplivali na druge uporabnike.
  • Izogibajte se zunanjim končnim točkam, ki sprožajo veliko notranjih operacij.

Načrtovanje zmogljivosti

  • Dokumentirajte, kako se vaša storitev širi. Na primer: število uporabnikov, velikost prihajajočega bremena, število prihajajočih sporočil.
  • Dokumentirajte zahteve po virih za vašo storitev. Na primer: število dodeljenih primerkov virtualnih strojev, število primerkov Spanner, specializirana oprema, kot sta GPU ali TPU.
  • Dokumentirajte omejitve virov: vrsta vira, regija itd.
  • Dokumentirajte omejitve kvot za ustvarjanje novih virov. Na primer, omejitev števila zahtevkov GCE API, če uporabljate API za ustvarjanje novih instanc.
  • Razmislite o izvedbi obremenitvenih testov za analizo upada zmogljivosti.

To je to. Se vidimo na predavanjih!

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster