Un buon software che non si può rilasciare in sicurezza, o osservare una volta in esercizio, resta un rischio. Costruiamo la parte di delivery e di esercizio dei sistemi Java con la stessa cura del codice: automatizzata, riproducibile e proporzionata alle dimensioni del vostro team.
Integrazione e delivery continue
Pipeline con GitHub Actions, GitLab CI o gli strumenti che usate già: build veloci, test ai livelli giusti, scansione delle dipendenze e della sicurezza, artefatti versionati e deployment automatizzati, con passaggi di approvazione dove il vostro processo li richiede. L'obiettivo è un rilascio che chiunque nel team possa eseguire e annullare.
Container e architettura di deployment
Immagini Docker costruite per la JVM: a livelli, leggere, con impostazioni di memoria che rispettano i limiti del container. Deployment rolling o blue-green, migrazioni del database sicure da eseguire mentre la versione precedente serve ancora traffico, e ambienti descritti come codice. Lavoriamo con piattaforme basate su Kubernetes gestite dal vostro team o dal vostro provider; non ci presentiamo come specialisti di piattaforme Kubernetes, e molti carichi di lavoro non ne hanno bisogno.
Osservabilità
OpenTelemetry e Micrometer per metriche e trace, log strutturati in cui si può cercare e dashboard Grafana che mostrano le transazioni di business, non solo i grafici della CPU. Gli alert si basano sui sintomi che gli utenti noterebbero, così il tempo di reperibilità va ai problemi reali.
Cloudflare e Fly.io: cloud semplici e moderni
È la nostra specializzazione e uno degli aspetti che ci distinguono. Cloudflare per DNS, WAF, cache edge, Workers e Pages, object storage R2 e Turnstile; Fly.io per far girare servizi Java e Postgres vicino agli utenti, partendo da una sola immagine Docker, senza bisogno di un team di piattaforma. Insieme coprono gran parte di ciò che serve a un'azienda, con una frazione della configurazione, dei costi e del lock-in di un hyperscaler, e con un'infrastruttura che i vostri sviluppatori capiscono in un pomeriggio.
AWS, Azure e Google Cloud quando servono
Alcune aziende hanno scelto un hyperscaler, o hanno requisiti normativi e di residenza dei dati che portano lì. Lavoriamo anche in quei contesti: deployment, osservabilità e sicurezza su AWS, Azure o Google Cloud, insieme a provider di hosting svizzeri ed europei quando i dati devono restare in loco. Semplicemente preferiamo l'opzione più semplice ogni volta che soddisfa i requisiti, e spieghiamo i compromessi, compresi il lock-in e i costi nel tempo.
Supporto alla produzione e produttività degli sviluppatori
Runbook, analisi degli incidenti che portano a correzioni concrete e diagnostica della JVM in produzione. Sul lato sviluppo: ambienti locali che si avviano con un solo comando, Testcontainers al posto di database di test condivisi e build abbastanza veloci da essere eseguite davvero. Gli accordi di supporto li definiamo in modo esplicito; non offriamo un servizio di esercizio 24 ore su 24.