Convalida migrazione

Sposta il traffico solo dopo il passaggio di comportamenti, sicurezza, prestazioni, osservabilità e cancelli di rollback.

Prima del cutover, effettuare le operazioni di convalida riportate di seguito.

  1. Ripeti gli eventi acquisiti e confronta gli output, gli errori, i codici di stato, le intestazioni, lo schema del corpo, i metadati degli oggetti, le scritture a valle, gli effetti collaterali, i log e il comportamento degli allarmi.
  2. Esegui test di carico e guasti che coprono la durata p95/p99, la durata massima, l'headroom di memoria, i percorsi sensibili all'avvio freddo, il picco di concorrenza, il backlog o l'età della coda, i tempeste di nuovo tentativo, i limiti di frequenza a valle e i sintomi di capacità.
  3. Test di payload con formato errato, eventi duplicati, messaggi avvelenati, indisponibilità a valle, negazione delle autorizzazioni, rotazione segreta, errore di rete, comportamento di timeout, prevenzione dei loop e condizioni di rollback.

Passaggio alle funzioni OCI

Sposta il traffico solo dopo il passaggio di comportamenti, sicurezza, prestazioni, osservabilità e cancelli di rollback.

Per passare alle funzioni OCI, effettuare le operazioni riportate di seguito.

  1. Verificare che siano stati superati i controlli di convalida funzionali, prestazionali, di sicurezza e operativi.
  2. Registrare il proprietario del cutover, il proprietario del rollback, i criteri di riuscita, i trigger di rollback e il tempo di recupero previsto.
  3. Bloccare le modifiche dell'applicazione non correlate durante la finestra di cutover.
  4. Passare una parte limitata e osservabile del carico di lavoro alle funzioni OCI, ove possibile.
  5. Monitora gli output aziendali, gli errori, i timeout, la latenza, la limitazione, il backlog e gli errori a valle.
  6. Aumentare il traffico solo dopo il periodo di osservazione concordato.
  7. Arrestare il cutover ed eseguire il piano di rollback se un criterio di successo richiesto non riesce.
  8. Avviare l'ondata di migrazione successiva solo dopo che i proprietari dell'applicazione e delle operazioni hanno accettato i risultati della produzione.

Se l'instradamento basato su percentuale non è disponibile, limitare l'esposizione iniziale in base a trigger, bucket, coda, area o altro limite del carico di lavoro controllato.

Convalida dopo migrazione

Verificare che il carico di lavoro migrato soddisfi i requisiti di architettura, comportamento, prestazioni, sicurezza e operazioni.

Per eseguire la convalida dopo la migrazione, effettuare le operazioni riportate di seguito.

  1. Il ruolo del carico di lavoro, l'inventario di origine, l'architettura di destinazione, le alternative, la valutazione dei rischi, i limiti del servizio e il comportamento di richiamo della destinazione sono documentati.
  2. Gli inventari di trigger, dipendenza, sicurezza, networking e operazioni sono sufficientemente completi da consentire a un revisore di riprodurre la decisione di destinazione.
  3. Gli eventi acquisiti producono codici di stato, intestazioni, schema del corpo, metadati degli oggetti, scritture a valle, effetti collaterali, log e comportamento degli errori.
  4. Ogni trigger dispone di test per il formato del payload, i nuovi tentativi, l'errore, l'ordine, il comportamento in batch, l'idempotenza, la consegna duplicata, l'instradamento di lettera morta o errore e i messaggi avvelenati, se applicabile.
  5. durata p95/p99, durata massima, spazio di memoria, percorsi sensibili all'avvio a freddo, concorrenza di picco, durata backlog o code, conteggio timeout, comportamento throttle o 429 e limiti di frequenza a valle soddisfano i requisiti del carico di lavoro.
  6. I controlli di concorrenza proteggono i sistemi a valle ed evitano tempeste di nuovi tentativi o crescita del backlog illimitato.
  7. Le chiamate di servizio consentite hanno esito positivo e i percorsi negati non riescono in sicurezza. I segreti non sono presenti in codice sorgente, immagini, log, dump dell'ambiente, output CI, stack trace o messaggi di errore.
  8. Le dipendenze private ed esterne necessarie sono raggiungibili tramite percorsi di rete approvati. Log, metriche, allarmi, dashboard, trace, runbook, trigger di rollback, proprietario, passi, tempo di recupero previsto e approvazioni finali vengono completati prima degli spostamenti del traffico.

Informazioni su problemi di migrazione e mitigazioni comuni

Evita questi errori comuni di progettazione, integrazione e operazioni della migrazione.
  • Creare tutte le funzioni Lambda uguali: classificare ogni funzione in base al ruolo, al trigger, alle dipendenze, al comportamento runtime, al profilo di traffico e alle esigenze operative prima di scegliere la destinazione.
  • Scelta anticipata delle funzioni OCI: convalida del payload, del timeout, della memoria, della dipendenza, del richiamo, della concorrenza, del networking e dell'integrazione prima del codice di rifattorizzazione.
  • Supponendo che i payload degli eventi siano identici: creare un adattatore handler OCI e ripetere gli eventi di origine acquisiti prima di connettere i trigger di produzione.
  • Ignoramento dei livelli e delle dipendenze native: crea le dipendenze all'interno dell'immagine della funzione OCI o dell'immagine di base condivisa, quindi testa la dimensione dell'immagine, l'avvio, le librerie native e le versioni delle dipendenze.
  • La traduzione di IAM è troppo ampia: mappa le azioni di runtime osservate ai criteri OCI con meno privilegi e testa i percorsi negati, non solo l'accesso happy-path.
  • La semantica della coda o del flusso è diversa: progetta l'idempotenza esplicita, riprova, guasto parziale, destinazione degli errori, gestione degli ordini e della backpressure.
  • Gli eventi oggetto causano loop: utilizzare prefissi o filtri di input e output separati e convalidare il funzionamento di creazione, aggiornamento, eliminazione, nuovo tentativo, duplicazione e prevenzione loop.
  • Le operazioni vengono posticipate: consentono di abilitare log, metriche, allarmi, dashboard, runbook, test degli errori e controlli di rollback prima che il traffico di produzione si sposti.