0Pricing
DevOps Bootcamp · Lezione

Feature flag e rilasci progressivi

Separi il deployment dal rilascio usando feature flag, quindi renda disponibile gradualmente la nuova funzionalità e la disattivi immediatamente se qualcosa va storto.

Feature flag e rilasci progressivi è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 4 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.

Deploy e release

Un concetto importante del delivery avanzato è che eseguire il deploy del codice e rilasciare una funzionalità non sono la stessa cosa.

I feature flag consentono di distribuire il codice in produzione mantenendo una funzionalità disattivata finché non decide di abilitarla, per alcuni o per tutti gli utenti.

Che cos'è un feature flag

Un feature flag, o toggle, è una condizione nel codice che verifica un valore di configurazione per decidere se eseguire un determinato ramo di codice.

if (flags.isEnabled('new-checkout')) {
  renderNewCheckout();
} else {
  renderOldCheckout();
}

Perché i flag sono migliori dei branch

I feature branch di lunga durata causano merge difficili. I flag consentono di integrare continuamente piccole modifiche in main, mantenendo nascosta la funzionalità.

  • Pull request più piccole e sicure
  • Sviluppo trunk-based
  • Attivazione e disattivazione immediate senza un nuovo deploy

Tipi di flag

I flag hanno scopi diversi:

  • Release flag — nascondono il lavoro non completato
  • Ops flag — interruttori di emergenza per i sistemi rischiosi
  • Experiment flag — test A/B
  • Permission flag — abilitano le funzionalità per gli utenti premium

Conoscere il tipo aiuta a stabilirne la durata.

Regole di targeting

Le piattaforme per i flag consentono di stabilire chi può vedere una funzionalità: in base all'ID utente, al gruppo, alla regione o a una percentuale.

Questo consente un rollout progressivo controllato dalla configurazione invece che dal deploy di nuova infrastruttura.

Rollout percentuali

Un pattern comune consiste nell'abilitare inizialmente un flag per una piccola percentuale di utenti e poi aumentarla: 1%, quindi 10%, 50% e infine 100%.

A differenza di un canary, che suddivide il traffico a livello di infrastruttura, questo è un rollout logico controllato nella configurazione del codice.

// Pseudo targeting config
flag: new-checkout
rollout:
  percentage: 10
  attribute: userId

Interruttori di emergenza

Il principale vantaggio operativo è che, se una funzionalità gestita da un flag si comporta in modo anomalo, può disattivarla immediatamente senza eseguire un deploy di rollback.

Questo riduce drasticamente il tempo medio di ripristino rispetto al ripristino del codice e a un nuovo deploy.

Flag nella pipeline

Può integrare le modifiche ai flag nella CI/CD. Ad esempio, un passaggio del workflow può attivare un flag dopo un deploy completato correttamente oppure pianificare un aumento graduale.

  - name: Enable feature
    run: |
      curl -X PATCH https://flags.example.com/api/flags/new-checkout \
        -H "Authorization: Bearer ${{ secrets.FLAG_TOKEN }}" \
        -d '{"enabled": true}'

Disattivato e sicuro per impostazione predefinita

Progetti sempre i flag in modo che adottino un comportamento sicuro in caso di errore: se il servizio dei flag non è raggiungibile, il codice deve ricorrere al valore predefinito noto come sicuro, solitamente disattivato.

Un feature flag non dovrebbe mai diventare un singolo punto di errore.

const enabled = flags.isEnabled('new-checkout', { default: false });

Rimozione dei flag

I flag creano rami di codice alternativi. I flag obsoleti diventano debito tecnico e confondono chi legge.

Quando un release flag è stato distribuito completamente e si è dimostrato stabile, lo rimuova ed elimini il vecchio ramo di codice. Gestisca deliberatamente la durata dei flag.

Flag e pattern di deploy

I feature flag completano i deploy blue/green e canary. I pattern infrastrutturali spostano il traffico; i flag spostano la funzionalità.

Usandoli insieme, ottiene il rilascio più sicuro possibile: esegua il deploy senza attirare l'attenzione, mostri gradualmente la funzionalità e la disattivi immediatamente se necessario.

Verifica rapida

Verifichi la Sua comprensione dei feature flag.

Riepilogo

Ha imparato a separare il deploy dalla release con i feature flag.

  • I flag nascondono il codice dietro una condizione guidata dalla configurazione
  • Il targeting consente rollout percentuali progressivi
  • Gli interruttori di emergenza permettono un ripristino immediato senza un nuovo deploy
  • Progetti i flag in modo sicuro in caso di errore e li rimuova per evitare debito tecnico

Insieme ai deploy blue/green e canary, i flag completano il Suo kit di strumenti per il delivery avanzato.

Domande Frequenti

La lezione «Feature flag e rilasci progressivi» è gratuita?

Sì — il testo completo di «Feature flag e rilasci progressivi» è 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 «Feature flag e rilasci progressivi»?

Separi il deployment dal rilascio usando feature flag, quindi renda disponibile gradualmente la nuova funzionalità e la disattivi immediatamente se qualcosa va storto. 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 4 di 4.

Quanto tempo richiede la lezione «Feature flag e rilasci progressivi»?

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