Tanqueu el cicle amb una millora verificada
CompletadaConvertiu les evidències de producció en requisits, proves, canvis controlats i resultats mesurats. Definiu què pot significar de manera responsable un programari que es millora a si mateix.
Publicat per TaigaCom escrivim
Comproveu què heu entèsUn agent redueix la latència de l'exportació ometent les comprovacions d'autorització. La mètrica de velocitat millora. Ha millorat el sistema?Feu l'exercici
Què aprendreu
- Connecteu una observació operativa amb un canvi d'enginyeria verificable.
- Separeu la recuperació en execució, la millora del flux de treball i l'entrenament del model.
- Mesureu una suposada millora sense afeblir-ne l'avaluació.
Definiu el cicle que voleu tancar
El programari produeix evidències durant l’ús: errors, retards, peticions de suport, incidents, troballes de manteniment i feina manual repetida. Un cicle de vida complet retorna aquestes evidències a les decisions d’enginyeria.
El programari que es millora a si mateix pot significar que l’automatització ajuda a identificar, proposar, implementar i verificar canvis. No vol dir necessàriament que un model s’entreni a si mateix. Indiqueu quina part canvia: codi de l’aplicació, configuració, proves, instruccions, flux de treball o paràmetres del model.
L’autorecuperació restableix una condició operativa coneguda. L’automillora canvia el sistema per obtenir un resultat millor en el futur. La segona afirmació requereix una comparació i protecció contra les regressions.
Seguiu una observació al llarg del cicle de vida
La seqüència següent és una proposta de mètode d’enginyeria. No afirma que cap producte faci tots els passos de manera autònoma.
| Etapa | Resultat requerit | Exemple fictici d’exportació |
|---|---|---|
| Observar | Evidències versionades amb l’abast i la incertesa | La memòria del procés de treball augmenta durant les exportacions grans |
| Diagnosticar | Causa comprovable i explicacions alternatives | Els buffers de files retinguts poden explicar l’augment de memòria |
| Especificar | Resultat desitjat i restriccions | Transmetre les files de manera progressiva sense canviar els permisos ni la sortida |
| Reproduir | Una prova que exposi la fallada original | Una exportació sintètica gran i representativa supera el límit |
| Canviar | Una correcció que es pugui revisar | Alliberar els buffers de les files ja processades durant la transmissió progressiva |
| Avaluar | Fallada anterior resolta; altres requisits preservats | Se superen la prova de memòria, la comparació de sortides i les comprovacions d’autorització i de reintents |
| Publicar | Exposició controlada amb criteris de recuperació | Desplegament limitat d’un artefacte identificat |
| Verificar | Evidències comparables de producció i un responsable | La memòria s’estabilitza mentre el funcionament correcte i la latència es mantenen acceptables |
Manteniu els enllaços entre aquests resultats. Una acció d’una revisió posterior a un incident que digui «millorar el monitoratge» és difícil de verificar. Un senyal definit, un responsable, un llindar i una resposta provada fan que es pugui comprovar quan s’ha completat.
Manteniu l’avaluació independent de la proposta
Un agent pot crear una correcció i proposar proves. L’equip encara ha d’examinar si aquestes proves detecten el problema original. Manteniu un conjunt d’avaluació versionat que el canvi no pugui afeblir de manera inadvertida.
Per a la fuita de memòria fictícia, compareu càrregues de treball i versions equivalents. Incloeu exportacions grans, cancel·lacions, reintents i casos de denegació d’accés. Feu servir dades sintètiques que representin les estructures pertinents sense exposar registres de clients.
Rebutgeu una exportació més ràpida si omet registres, evita l’autorització o supera el cost permès. Definiu aquestes restriccions abans d’optimitzar. Si no ho feu, el sistema pot millorar la mètrica triada mentre empitjora el servei.
Si canvieu les instruccions o el model d’un agent, avalueu-ne el comportament en tasques representatives i fallades conegudes. Manteniu disponible la versió anterior. Actualitzar les instruccions no és una evidència que el model subjacent hagi après d’un incident.
Publiqueu i mesureu el resultat
Una publicació canary exposa una població limitada a una versió candidata. Compareu els senyals del grup candidat i del grup de control, i definiu quan s’ha d’ampliar o aturar el desplegament. Un trànsit escàs o unes càrregues de treball diferents poden impedir una conclusió. Directrius sobre canary.
L’equip fictici registra una línia de base a partir d’una càrrega sintètica fixa. Prova la correcció, la publica dins d’un límit aprovat i comprova períodes de producció comparables. Si les evidències continuen sent insuficients, registra la incertesa en lloc de declarar una millora.
Mesureu també la feina manual repetida. L’automatització pot reduir les tasques operatives repetitives, però també necessita manteniment i gestió de fallades. Incloeu aquests costos quan valoreu el resultat. Directrius sobre tasques repetitives.
Feu que el registre de retorn sigui útil
Feu servir aquests camps per a l’exercici: observació i versió; línia de base; causa proposada; criteris d’acceptació; comprovacions de regressió; canvi i revisió; límit de publicació; resultat mesurat; responsable i revisió següent.
Maintaining de Taiga connecta les troballes dels repositoris amb la feina de correcció. Les iniciatives connecten un canvi previst amb la planificació i el lliurament. Aporten parts d’una cadena d’evidències. El responsable del vostre servei encara ha de verificar el desplegament i el resultat operatiu. Maintaining, Initiatives.
Una fàbrica de programari madura connecta aquesta feina entre productes. Manteniu visibles els drets de decisió i els criteris d’avaluació a mesura que augmenta l’automatització. La prova final és un servei millor i verificat, no un nombre més gran de canvis generats.
Feu l'exercici
Completeu el registre de retorn d'aquesta lliçó per a la fuita de memòria fictícia. Definiu una línia de base, una prova d'acceptació, comprovacions de regressió, un límit de publicació, un mesurament en producció i un responsable. Afegiu una regla per rebutjar una exportació més ràpida però menys correcta.
Descarrega la fitxa (Markdown)Desmarcar aquesta opció elimina tot el progrés desat en aquest navegador.
El progrés es queda en aquest navegador. Sense compte ni seguiment.
Fonts i lectures addicionals
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗