Vai al contenuto principale

Cos’è Hibernation

Hibernation (sospensione automatica) di Laravel Cloud è la vecchia funzionalità che manda l’ambiente in stato sospeso quando non riceve richieste HTTP per un certo periodo.
Nel nuovo Flex compute attuale, il Scale to Zero più veloce viene usato come suo successore.
L’Hibernation di Legacy Flex permette di interrompere la fatturazione del compute durante la sospensione, ma il ripristino dopo una richiesta HTTP richiede tipicamente 5-20 secondi. Con il nuovo Scale to Zero l’avvio è ridotto a meno di 500ms e, anche durante lo sleep, l’ambiente si avvia automaticamente per task pianificati ed elaborazione della coda.
Se inizi ora con Laravel Cloud, la scelta più sicura è ragionare tenendo come base Scale to Zero invece di Hibernation. Per un quadro complessivo, comprensivo di Managed Queues e nuovi piani tariffari, consulta Laravel Cloud — la panoramica completa del PaaS dedicato a Laravel.

Cosa cambia con Scale to Zero

Con Scale to Zero del nuovo Flex compute, molti dei problemi del vecchio Hibernation sono risolti.
AspettoVecchio HibernationNuovo Scale to Zero
Ripristino su richiesta HTTP5-20 secondiMeno di 500ms
Scheduled TasksNon gira durante la sospensioneSi avvia ed esegue automaticamente anche durante lo sleep
Elaborazione codeNon gira durante la sospensioneSi avvia automaticamente durante lo sleep. È consigliato l’uso di Managed Queues
Uso raccomandatoRisparmio in vecchi ambienti FlexConfigurazione standard attuale
Il vecchio Hibernation aveva il problema che, durante la sospensione, task schedulati e coda non giravano. Scale to Zero risolve questo aspetto e, per l’elaborazione della coda, con Managed Queues si può proseguire in sicurezza anche mentre l’App cluster dorme.

Procedura di abilitazione del vecchio Hibernation

1

Apri l'App compute cluster

Nella dashboard del canvas infrastrutturale dell’ambiente, clicca l’App compute cluster.
2

Abilita Hibernation

Attiva il toggle Hibernation.
3

Salva e ridispiega

Clicca Save and Redeploy per applicare le modifiche.
Modificare la configurazione da solo non abilita la funzione. Save and Redeploy è obbligatorio.
Se vuoi abilitarlo da zero in un ambiente attuale, usa il toggle Scale to Zero dell’App compute cluster. Le limitazioni sotto elencate riguardano principalmente il vecchio Hibernation / Legacy Flex.

Limitazioni durante la sospensione del vecchio Hibernation

Quando Hibernation è abilitato e l’ambiente è sospeso, le funzionalità seguenti non funzionano.
FunzionalitàComportamento durante la sospensione
Elaborazione richieste HTTPInterrotta (viene elaborata dopo il ripristino)
Task SchedulerNon eseguito
Queue WorkerNon eseguito
Processi in background personalizzatiNon eseguiti
Al ripristino dalla sospensione, queste elaborazioni riprendono automaticamente. Tuttavia, i job pianificati che “sarebbero dovuti arrivare” durante la sospensione non vengono eseguiti a ritroso.
Inoltre, Hibernation ha le seguenti limitazioni.
  • La sospensione è possibile solo su Flex compute. Su Pro compute non si può abilitare Hibernation.
  • La sospensione avviene a livello di ambiente. Se il cluster App si sospende, si sospendono anche tutti i Worker cluster nello stesso ambiente.

Cause di ripristino non desiderato

Se arriva una richiesta HTTP, l’ambiente si ripristina automaticamente, ma il ripristino può accadere anche per richieste non intenzionali.
  • Bot e crawler — motori di ricerca e scanner di sicurezza che effettuano crawl automatici delle pagine
  • Anteprime link di Slack o Teams — le app di messaggistica accedono per recuperare la thumbnail del link
  • Scansioni WordPress — scansioni automatiche che cercano ambienti WordPress accedendo per esempio a /wp-admin
  • Attacchi che cercano file .php — scansioni automatiche che puntano direttamente ai file PHP
Al dominio *.laravel.cloud di Laravel Cloud viene aggiunto l’header X-Robots-Tag: noindex, nofollow per evitare l’indicizzazione, ma una volta scoperto il dominio non può essere impedito del tutto. Sui domini personalizzati l’header noindex non viene aggiunto.
Usare un nome di dominio il più possibile complesso riduce il rischio che i bot scoprano il vanity domain.

Prevenire i ripristini inutili con Path Blocking

Path Blocking è una funzionalità che, per richieste su determinate estensioni o percorsi, le blocca senza elaborarle mantenendo lo stato di sospensione. Impedisce risvegli inutili dovuti a scansioni WordPress o attacchi verso file PHP. Estensioni e percorsi bloccati per impostazione predefinita sono i seguenti. Estensioni bloccate:
.php, .php3, .php4, .php5, .php6, .php7, .php8,
.phtml, .pht, .phps, .env, .git
Percorsi bloccati:
/wp-admin, /wp-content, /wp-includes, /wp-json
Queste richieste ricevono risposta senza risvegliare l’app, anche se l’ambiente è sospeso.
Il normale routing di Laravel non usa richieste con estensione .php, quindi bloccarle non ha effetti sul funzionamento dell’app.

Usi adatti e non adatti al vecchio Hibernation

Usi adatti

  • Ambienti di staging e sviluppo — non serve la disponibilità continua, si abbattono molto i costi
  • Blog personali e portfolio — usi con traffico limitato
  • App demo o di test — è sufficiente il ripristino solo quando serve
  • Strumenti interni a bassa frequenza — orari di utilizzo limitati

Usi non adatti

  • Usi con task scheduling — durante la sospensione schedule:run non gira
  • Usi che richiedono job in coda periodici — durante la sospensione anche la coda si ferma
  • Ambienti di produzione che non tollerano latenza di avvio — il ripristino richiede 5-20 secondi
  • App che usano WebSocket — la connessione non può essere mantenuta e la sospensione può essere ritardata
Se vuoi eseguire regolarmente processi con lo scheduler (invio email, aggregazioni di dati, ecc.), abilitare Hibernation impedisce l’esecuzione di quei processi. Per questi usi devi disattivare Hibernation o progettare un sistema che invii richieste da uno scheduler esterno (per esempio GitHub Actions) per mantenere sveglio l’ambiente.
Con il nuovo Scale to Zero questi vincoli sono attenuati. Gli Scheduled Tasks vengono eseguiti automaticamente anche durante lo sleep e l’elaborazione della coda, con Managed Queues, non risente della sospensione dell’App cluster.

Conclusioni

Hibernation può ancora servire a contenere i costi in Legacy Flex, ma oggi Scale to Zero è più pratico.
  • In Legacy Flex si paga solo il tempo attivo. La sospensione automatica avviene dopo il timeout.
  • Il tempo di ripristino del vecchio Hibernation è 5-20 secondi.
  • Il nuovo Scale to Zero si avvia in meno di 500ms.
  • Con Scale to Zero, Scheduled Tasks e Managed Queues funzionano anche durante lo sleep.
  • Path Blocking previene ripristini inutili causati dai bot.
  • Supportato solo su Flex compute.

Pagine correlate

Scheduling

Verifica la configurazione del Task Scheduler e il comportamento su Laravel Cloud.

Code

Verifica la configurazione del Queue Worker e il funzionamento in Laravel Cloud.

Panoramica di Laravel Cloud

Riassunto di Managed Queues, Scale to Zero e nuovi piani tariffari.
Ultima modifica il 13 luglio 2026