Llista de verificació de preparació de la producció

La traducció de l'article s'ha elaborat expressament per als alumnes del curs "Pràctiques i eines de DevOps", que comença avui!

Llista de verificació de preparació de la producció

Heu llançat mai un servei nou en producció? O potser vas participar en donar suport a aquests serveis? En cas afirmatiu, què et va motivar? Què és bo per a la producció i què és dolent? Com formeu els nous membres de l'equip sobre llançaments o manteniment dels serveis existents.

La majoria de les empreses acaben adoptant enfocaments del "salvatge oest" quan es tracta de pràctiques d'operació industrial. Cada equip decideix les seves pròpies eines i bones pràctiques mitjançant assaig i error. Però això sovint afecta no només l'èxit dels projectes, sinó també els enginyers.

L'assaig i error crea un entorn on assenyalar amb els dits i canviar de culpa són habituals. Amb aquest comportament, cada cop és més difícil aprendre dels errors i no tornar-los a repetir.

Organitzacions d'èxit:

  • adonar-se de la necessitat de directrius per a la producció,
  • estudiar les millors pràctiques,
  • començar debats sobre qüestions de preparació de la producció quan es desenvolupen nous sistemes o components,
  • garantir el compliment de les normes de preparació per a la producció.

La preparació per a la producció inclou un procés de "revisió". La revisió pot ser en forma d'una llista de verificació o d'un conjunt de preguntes. Les revisions es poden fer manualment, automàticament o ambdues coses. En lloc de llistes estàtiques de requisits, podeu crear plantilles de llista de verificació que es poden adaptar a necessitats específiques. D'aquesta manera, els enginyers poden tenir una manera d'heretar el coneixement i la flexibilitat suficient quan sigui necessari.

Quan comprovar que un servei està preparat per a la producció?

És útil realitzar una comprovació de la preparació de la producció no només immediatament abans del llançament, sinó també quan es transfereix a un altre equip d'operacions o a un nou empleat.

Comprova quan:

  • Esteu llançant un servei nou en producció.
  • Transfereix el funcionament del servei de producció a un altre equip, com ara SRE.
  • Transfereix l'operació del servei de producció a nous empleats.
  • Organitzar el suport tècnic.

Llista de verificació de preparació de la producció

Fa un temps, com a exemple, jo publicat llista de verificació per comprovar la preparació per a la producció. Tot i que aquesta llista es va originar amb els clients de Google Cloud, serà útil i aplicable fora de Google Cloud.

Disseny i desenvolupament

  • Desenvolupeu un procés de creació repetible que no requereixi accés a serveis externs i que no depengui de la fallada dels sistemes externs.
  • Durant el període de disseny i desenvolupament, definiu i definiu SLO per als vostres serveis.
  • Documenteu les expectatives de la disponibilitat dels serveis externs dels quals depeneu.
  • Eviteu un únic punt d'error eliminant les dependències d'un sol recurs global. Replica el recurs o utilitza una alternativa quan el recurs no estigui disponible (per exemple, un valor codificat).

Gestió de la configuració

  • La configuració estàtica, petita i no secreta es pot passar mitjançant paràmetres de línia d'ordres. Per a la resta, utilitzeu els serveis d'emmagatzematge de configuració.
  • Una configuració dinàmica ha de tenir una configuració alternativa en cas que el servei de configuració no estigui disponible.
  • La configuració de l'entorn de desenvolupament no ha d'estar relacionada amb la configuració de producció. En cas contrari, això pot comportar l'accés des de l'entorn de desenvolupament als serveis de producció, cosa que pot provocar problemes de privadesa i fuites de dades.
  • Documenteu què es pot configurar dinàmicament i descriu el comportament alternatiu si el sistema de lliurament de la configuració no està disponible.

Gestió de llançaments

  • Documenteu el procés de llançament amb detall. Descriu com les versions afecten els SLO (per exemple, augments temporals de la latència a causa de les falles de memòria cau).
  • Documentar alliberaments canaris.
  • Desenvolupar un pla d'anàlisi de llançaments canaris i, si és possible, mecanismes de retrocés automàtic.
  • Assegureu-vos que els rollbacks poden utilitzar els mateixos processos que els desplegaments.

Observabilitat

  • Assegureu-vos que es recull el conjunt de mètriques necessàries per a l'SLO.
  • Assegureu-vos que podeu diferenciar les dades del client i del servidor. Això és important per trobar les causes del mal funcionament.
  • Configura alertes per reduir els costos laborals. Per exemple, elimineu les alertes causades per operacions rutinàries.
  • Si feu servir Stackdriver, incloeu mètriques de la plataforma GCP als vostres taulers. Configureu alertes per a les dependències de GCP.
  • Propaga sempre les traces entrants. Fins i tot si no participeu en el rastreig, això permetrà que els serveis de nivell inferior depurin problemes en producció.

Protecció i seguretat

  • Assegureu-vos que totes les connexions externes estiguin xifrades.
  • Assegureu-vos que els vostres projectes de producció tinguin la configuració IAM correcta.
  • Utilitzeu xarxes per aïllar grups d'instàncies de màquines virtuals.
  • Utilitzeu una VPN per connectar-vos de manera segura a xarxes remotes.
  • Documentar i supervisar l'accés dels usuaris a les dades. Assegureu-vos que tots els accessos dels usuaris a les dades estiguin auditats i registrats.
  • Assegureu-vos que els punts finals de depuració estiguin restringits per ACL.
  • Desinfecta l'entrada de l'usuari. Configureu els límits de mida de càrrega útil per a l'entrada de l'usuari.
  • Assegureu-vos que el vostre servei pugui bloquejar selectivament el trànsit entrant per a usuaris individuals. Això bloquejarà les infraccions sense afectar altres usuaris.
  • Eviteu els punts finals externs que inicien moltes operacions internes.

Planificació de la capacitat

  • Documenteu com escala el vostre servei. Per exemple: nombre d'usuaris, mida de la càrrega útil entrant, nombre de missatges entrants.
  • Documenteu els requisits de recursos per al vostre servei. Per exemple: nombre d'instàncies de màquines virtuals dedicades, nombre d'instàncies de Spanner, maquinari especialitzat com ara GPU o TPU.
  • Limitacions dels recursos del document: tipus de recurs, regió, etc.
  • Restriccions de quota de document per crear nous recursos. Per exemple, limitar el nombre de sol·licituds d'API de GCE si utilitzeu l'API per crear instàncies noves.
  • Penseu en fer proves de càrrega per analitzar la degradació del rendiment.

Això és tot. Ens veiem a classe!

Font: www.habr.com

Afegeix comentari