Il fornitore di software Java Azul Systems ha recentemente rilasciato le build Azul Zulu di OpenJDK con il supporto di Coordinated Restore at Checkpoint (CRaC). Questa nuova funzionalità dovrebbe migliorare notevolmente i tempi di avvio e riscaldamento di Java.
Il progetto OpenJDK CRaC consente a un'applicazione in esecuzione di entrare in pausa, scattare un'istantanea del suo stato e, se necessario, riavviarla su un'altra macchina. Azul offre le build Azul Zulu di OpenJDK con CRaC per Java 17 su piattaforme Linux x64. La release è scaricabile gratuitamente dal sito web di Azul e può essere utilizzata per scopi di sviluppo, prototipazione e produzione, afferma l'azienda. Azul prevede inoltre di introdurre in futuro le funzionalità CRaC per altre versioni di Java. CRaC, progettato per consentire alle applicazioni Java di avviarsi istantaneamente e alla massima velocità, include un'API Java che consente il coordinamento delle risorse durante le operazioni di checkpoint e ripristino. CRaC è adatto a funzioni serverless, container, microservizi e altri casi d'uso.
Sfruttando CRaC, i tempi di avvio e riscaldamento delle applicazioni Java possono essere ridotti da secondi o minuti a pochi millisecondi. L'approccio CRaC prevede la messa in pausa di un'applicazione, l'acquisizione di un'istantanea del suo stato e della sua memoria e il successivo riavvio, anche su una macchina completamente diversa. Un checkpoint CRaC produce l'immagine dell'intero processo applicativo, compresi stato e memoria. Al momento del ripristino, lo stato dell'applicazione viene ricaricato e l'esecuzione riprende dal punto in cui è stato inizialmente creato il checkpoint.
In precedenza, i metodi per gestire i tempi lenti di avvio e riscaldamento di Java includevano il bilanciamento del carico, la containerizzazione, il caching, il pre-caricamento, la pre-ottimizzazione e la preinizializzazione del codice dell'applicazione. Tuttavia, queste misure mancano di efficienza e spesso comportano un notevole sovraccarico dell'infrastruttura, aumentando così i costi e riducendo l'efficienza operativa e degli sviluppatori. Inoltre, altri approcci, come la compilazione ahead-of-time, non riescono a offrire una compatibilità completa con le specifiche Java e soffrono di una riduzione delle prestazioni di runtime.
Nell'ambito di no-code e low-code, la piattaforma di AppMaster offre uno sviluppo rapido ed efficiente di applicazioni backend, web e mobili. Ciò la rende uno strumento prezioso in un mondo in cui è sempre più importante migliorare i tempi di avvio e le prestazioni su sistemi e piattaforme diverse. Prendete in considerazione l'idea di provare AppMaster Studio per uno sviluppo più rapido delle applicazioni e una perfetta integrazione con i vari sistemi.