0Pricing
DevOps Bootcamp · Lezione

Rollback e disaster recovery

Progetti e implementi procedure efficaci di rollback e piani di disaster recovery nelle pipeline CI/CD.

Rollback e disaster recovery è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

Si verificano problemi imprevisti

Lo sviluppo software non procede sempre senza intoppi. A volte le nuove distribuzioni introducono bug o compromettono funzionalità esistenti. È qui che entrano in gioco i rollback e il ripristino di emergenza.

Sono fondamentali per mantenere la stabilità del sistema e la fiducia degli utenti.

Comprendere i rollback

Un rollback è il processo di ripristino di un sistema o di un'applicazione a uno stato precedente e stabile dopo una distribuzione problematica. È simile a un pulsante "Annulla" per le modifiche recenti.

I rollback vengono in genere avviati rapidamente per ridurre al minimo l'impatto di un rilascio difettoso e ripristinare il normale funzionamento.

Approcci comuni al rollback

Esistono diversi modi per eseguire un rollback, a seconda della strategia di distribuzione:

  • Ripristino del codice: distribuire la versione precedente del codice dell'applicazione, già verificata come funzionante.
  • Spostamento del traffico: reindirizzare il traffico degli utenti dalla nuova versione difettosa a quella precedente.
  • Rollback del database: ripristinare le modifiche allo schema o ai dati del database, spesso la parte più complessa.

Automatizzare i rollback con Actions

GitHub Actions può automatizzare le procedure di rollback. Potete creare workflow che si attivano in risposta a eventi specifici (come un avvio manuale) per ridistribuire un rilascio precedente e stabile oppure ripristinare le modifiche all'infrastruttura.

Questo garantisce un processo di rollback rapido, coerente e meno soggetto a errori, riducendo gli errori umani durante le situazioni di stress.

Workflow per un rollback manuale

Ecco come potreste configurare un trigger manuale per distribuire una specifica versione precedente (ad esempio un tag o un hash di commit). Questo workflow riceve un input version dall'utente.

name: Manual Rollback Deployment

on:
  workflow_dispatch:
    inputs:
      version:
        description: 'Tag or commit hash to deploy'
        required: true
        default: 'main'

jobs:
  rollback:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          ref: ${{ github.event.inputs.version }}

      - name: Deploy previous version
        run: |
          echo "Deploying version: ${{ github.event.inputs.version }}"
          # Add your specific deployment commands here
          # e.g., helm upgrade, kubectl apply, etc.

Oltre i rollback: ripristino di emergenza

Il ripristino di emergenza (DR) è una strategia più ampia per recuperare sistemi e dati dopo un evento catastrofico. Potrebbe trattarsi di un'interruzione del data center, di una calamità naturale o di un grave attacco informatico.

A differenza di un rollback, che corregge una distribuzione errata, il DR mira a ripristinare il servizio completo dopo un guasto totale del sistema o la perdita dell'ambiente primario.

Pianificare il DR nella CI/CD

Quando pianificate il DR nelle pipeline CI/CD, considerate quanto segue:

  • Backup: eseguire regolarmente il backup di dati, configurazioni e artefatti.
  • Ridondanza: distribuire in più regioni o zone di disponibilità.
  • Workflow di ripristino: workflow dedicati per ripristinare i servizi dai backup o distribuirli su una nuova infrastruttura.
  • Test: verificare periodicamente il piano di DR per assicurarsi che funzioni quando necessario.

Archiviare gli artefatti di build per il ripristino

GitHub Actions può archiviare gli artefatti di build, fondamentali per il DR. Possono includere file binari compilati, immagini Docker o manifest di distribuzione. Potete caricarli durante una build completata correttamente.

Questi artefatti possono poi essere scaricati e distribuiti come parte di un workflow di DR in un nuovo ambiente.

name: Build and Archive Artifacts

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Build application
        run: |
          echo "Building app..."
          mkdir -p build_output
          echo "App version 1.0.0" > build_output/app.txt

      - name: Upload build artifact
        uses: actions/upload-artifact@v4
        with:
          name: application-build
          path: build_output/

Verifica: rollback o DR

La distribuzione di una nuova funzionalità ha causato un bug critico, rendendo l'applicazione inaccessibile. Quale strategia viene utilizzata principalmente per risolvere rapidamente questo problema specifico e ripristinare il servizio?

Rollback e DR: concetti chiave

In questa lezione abbiamo esaminato i concetti fondamentali di rollback e ripristino di emergenza. Abbiamo appreso che i rollback ripristinano rapidamente le distribuzioni errate, mentre il ripristino di emergenza consiste nel ripristinare i sistemi dopo guasti gravi.

GitHub Actions può contribuire in modo significativo ad automatizzare entrambi i processi, garantendo la resilienza delle applicazioni e interruzioni minime per gli utenti.

Domande Frequenti

La lezione «Rollback e disaster recovery» è gratuita?

Sì — il testo completo di «Rollback e disaster recovery» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Rollback e disaster recovery»?

Progetti e implementi procedure efficaci di rollback e piani di disaster recovery nelle pipeline CI/CD. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Rollback e disaster recovery»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Deploy Blue/Green
  2. Rilasci Canary con Actions
  3. Rollback e disaster recovery
  4. Feature flag e rilasci progressivi
← Torna a DevOps Bootcamp