Quando serve un computer intero, lo accendi dentro il progetto.
Un processo che deve stare in ascolto, un lavoro pesante, un linguaggio che non è quello dell'applicazione. Si dichiara in una cartella del progetto, si accende, e dorme da sé quando nessuno le parla — perché il silenzio non si paga.
Un file, una macchina che dorme, una che si sveglia
- DichiariIl manifestomachine.json
- La piattaformaLa fa somigliare al filecrea, riavvia, ricuoce l'immagineDormedopo i minuti di silenzio che dici tu
- Qualcuno bussaSi svegliain un paio di secondi
Non è un server da amministrare: è una parte del progetto
Non ci sono chiavi SSH da distribuire, immagini da caricare in un registro, indirizzi da annotare. C'è un file che dice com'è fatta la macchina, e la macchina diventa quello. La sezione VM si accende con la modalità avanzata.
È una cartella del progetto
Un file che dice com'è fatta e accanto il codice che ci gira dentro. La macchina è il derivato: la piattaforma guarda quella cartella e la fa somigliare a quello che c'è scritto — la crea, la riavvia, ricuoce l'immagine, e toglie o ferma quelle che nessun file dichiara. Ce n'è una per ambiente: la ricetta è la stessa, e solo la taglia, il disco e il sonno possono cambiare in produzione. La produzione cambia con la pubblicazione.
Dentro ci gira quello che vuoi
Un linguaggio che non è quello dell'applicazione, un programma che deve stare in ascolto, una libreria che vuole essere installata sul sistema. La ricetta dell'immagine è una lista di pacchetti, e la cuoce la piattaforma.
E parla col tuo progetto
La macchina riceve una credenziale sua e da lì raggiunge i dati del progetto, i documenti privati e la verifica degli accessi. Nessuna chiave da inventare, nessun indirizzo da tenere aggiornato: se rinomini il progetto, la macchina lo scopre da sé.
Con un disco che sopravvive
Quello che scrivi sul volume resta fra un riavvio e l'altro. Tutto il resto no — ed è la cosa che sorprende, quindi la piattaforma lo dice sulla card della macchina invece di lasciartelo scoprire riavviando.
Dorme quando nessuno la usa, e si sveglia da sé
Passati i minuti che dici tu senza che nessuno le parli, la macchina si addormenta. Alla prima connessione si risveglia in un paio di secondi — chi sta bussando aspetta quello, e non si accorge di niente. Non è uno sconto: è che il tempo in cui non serve non esiste.
Condivisi: costano poco e bastano per quasi tutto — un servizio che risponde, un lavoro che gira ogni tanto.
Si addormenta da sé quando nessuno le parla e si risveglia alla prima connessione, in un paio di secondi. Il tempo in cui non serve non lo paghi: è il sonno, non uno sconto.
{
"region": "fra",
"size": {
"cpuKind": "shared",
"cpus": 2,
"memoryMb": 2048
},
"diskGb": 10,
"sleep": {
"enabled": true,
"afterMin": 3
}
}Il manifesto qui accanto è esattamente quello che finisce nel progetto. Cambiare il sonno non riavvia la macchina: è una riga del registro, non una parte della sua configurazione.
Cosa si raggiunge — ed è anche il firewall
Le porte non sono una configurazione di rete: sono l'elenco di cosa la macchina offre. Dichiararne una la apre; non dichiararla la chiude. E per ognuna si dice chi può bussare.
Il web
Una porta HTTP e la macchina risponde su un suo indirizzo, col certificato già a posto.
Le connessioni grezze
Un server di gioco, un protocollo tuo: una porta TCP o UDP, e la piattaforma te ne assegna una pubblica. Una macchina con una porta grezza non dorme, a meno che tu non lo dica.
L'indirizzo nudo
Se il tuo protocollo lo prevede, la piattaforma pubblica il record che fa bastare l'indirizzo senza la porta scritta a mano.
Ed è anche il firewall
Quello che non è dichiarato non si raggiunge. Non c'è una seconda schermata di regole da tenere allineata: l'elenco delle porte è l'elenco di cosa esiste.
I segreti non stanno nel manifesto
Nel file ci sono i NOMI; i valori stanno fra i segreti del progetto e arrivano nell'ambiente della macchina. Il manifesto si può guardare, mostrare e mettere in un backup senza pensarci.
E il codice può stare nell'immagine
Cotto dentro, con le sue dipendenze già pronte: la macchina si risveglia e c'è già tutto, senza ritirare niente e senza compilare all'avvio.
Sei viste sulla stessa macchina
Una macchina è la cosa più opaca che un progetto può avere: gira da sola, da un'altra parte, e quando non risponde non lo dice. Queste sei viste sono la risposta a quello.
Panoramica
Com'è fatta, con cosa parte, chi la raggiunge, quanto costa l'ora.
Consumi
Processore, memoria e quota rubata dal vicino, con il consiglio se la taglia è giusta.
Impostazioni
Tutto il manifesto, per moduli, senza passare dal codice.
Terminale
Un comando alla volta, con la sua uscita. La macchina si sveglia per eseguirlo.
Log
Quello che dice il processo, e cosa le è successo — dove «uccisa per memoria» è scritto così, non come un numero.
Codice
Il manifesto e i file della macchina, nell'editor del progetto.
Lo stato, in un pallino
Accesa, si sta accendendo, dorme, spenta — che è anche la risposta a «sto pagando o no».
Il consiglio sulla taglia
Le misure vengono dal fornitore, non da un programma dentro la macchina, e diventano un verdetto: va bene, è troppo grande, è troppo piccola.
E la storia del conto
Quanto è costata mese per mese, e dove sta andando questo.
E il manifesto si compila a mano, ma non si scrive
Aprendo una macchina, «Impostazioni» è il suo machine.json diviso per moduli: la taglia coi processori e la memoria, il sonno con dopo quanto silenzio, il disco, le porte, i segreti. Ogni riquadro dice anche cosa costa quella scelta — la taglia porta la tariffa oraria da sveglia e da sempre accesa, e il sonno dice quanto sono le ore in cui non la usa nessuno.
È la stessa macchina di prima, aperta. Il file esiste ed è nel progetto — questa schermata lo scrive al posto tuo, e la sezione Codice te lo fa vedere com'è. Per la produzione scrive la sezione prod del file, e il cambio arriva con la prossima pubblicazione.
A cosa NON serve una macchina
Offrirla come risposta a tutto è il modo più veloce di far spendere male: due casi in cui la strada giusta è un'altra.
Non è dove si compila
Compilare su una macchina vuol dire pagare un computer sveglio mentre compila, dimensionarlo sul momento più grasso invece che sul servizio, e perdere la catena di strumenti a ogni riavvio. Quello che produce un pacchetto sta in un repository, e lo costruiscono i runner di GitHub.
E non serve per l'applicazione
Le azioni, i lavori periodici e le code del progetto girano già sulla piattaforma, senza che tu accenda niente. Una macchina serve quando quello che devi far girare non è un'azione: un processo che sta in ascolto, un programma di qualcun altro, un mondo da tenere in piedi.
E il codice del progetto le parla
Dalla parte dell'applicazione una macchina è un oggetto come gli altri: una richiesta la sveglia e le chiede qualcosa, e un file che produce si porta fra i documenti del progetto. E dalla sua parte, con una chiave sua, può chiamare le azioni del progetto. Chi lo scrive è lo stesso agente che scrive il resto.
Accendine una, e lasciala dormire.
Una macchina si crea in un minuto e si distrugge in uno. Quello che non serve non resta accosto a consumare.



