Nel recente Java Developer Productivity Report 2022 di Perforce, i dati rivelano che i team di sviluppo non hanno ancora sfruttato appieno il potenziale dei microservizi e delle pratiche di Continuous Integration/Continuous Deployment (CI/CD). I risultati indicano che gli sviluppatori spesso scoprono che queste tecnologie diminuiscono la produttività piuttosto che migliorarla.
Il 42% degli utenti di CI/CD ha riportato tempi di completamento della build superiori a cinque minuti, con la risposta più frequente (33%) che si riferisce a tempi di build superiori a 10 minuti. Un sostanziale 35% degli intervistati impegna il codice più di cinque volte al giorno. Questo tempo di inattività si accumula rapidamente, influenzando la produttività per periodi prolungati.
La classifica della tecnologia CI/CD vede Jenkins (46%) come chiaro favorito, seguito da GitHub Actions (16%), Bamboo (7%), TeamCity (4%), CircleCI (3%) e Travis CI ( 1%).
Inoltre, il 61% degli sviluppatori intervistati ha osservato un aumento del tempo di avvio delle proprie applicazioni basate su microservizi nell'ultimo anno. Tra questi sviluppatori, il 13% ha registrato un aumento di oltre il 50%, il 30% ha registrato un aumento del 10-50% e il 17% ha registrato un aumento dello 0-10%. Complessivamente, il 60% degli intervistati ha notato un aumento dei tempi di avvio rispetto al 35% che non ha documentato alcun cambiamento.
In risposta ai risultati, Rod Cope, CTO di Perforce Software, ha commentato che i team che adottano CI/CD e microservizi incontrano ancora ostacoli legati al tempo sprecato in lunghi tempi di commit e ridistribuzione. Cope ha sottolineato che le aziende devono dare la priorità a dotare i propri team Java degli strumenti appropriati per evitare difficoltà di reclutamento e ridurre il morale degli sviluppatori. Altrimenti, gli sviluppatori possono optare per organizzazioni che soddisfano le loro preferenze sul set di strumenti.
Per quanto riguarda gli utenti delle applicazioni di microservizi, il rapporto di Perforce indica tempi di ridistribuzione altrettanto elevati. Un allarmante 44% di questi utenti ha segnalato tempi di ridistribuzione di almeno cinque minuti. Curtis Johnson, Product Manager di JRebel by Perforce, ha sottolineato l'importanza di implementare strumenti adeguati per contrastare questo problema e massimizzare i vantaggi dell'architettura dei microservizi per le applicazioni Java.
Ai partecipanti è stato chiesto come avrebbero allocato un ulteriore 10% di tempo disponibile durante i giorni lavorativi. Solo il 4% ha menzionato attività ricreative, mentre la maggioranza ha dato priorità a risposte funzionali come l'aggiunta di nuove funzionalità (28%), il miglioramento delle prestazioni dell'applicazione (20%) o il miglioramento della copertura dei test (19%). Altre aree di interesse includevano il miglioramento dei processi di sviluppo (17%), l'avvio di nuovi progetti (6%) e l'anticipo delle date di lancio (6%).
Lo studio mostra inoltre che il 44% degli intervistati dispone attualmente di applicazioni completamente basate su microservizi, il 44% sta passando ai microservizi, il 10% sta discutendo la possibilità e solo il 2% ha provato senza successo. Nel regno dei framework applicativi di microservizi, Spring Boot ha un tasso di adozione dominante del 74%.
Per quanto riguarda il numero di microservizi nelle applicazioni primarie degli sviluppatori, il 30% ha dichiarato di averne 1-5, il 24% di averne 5-10, il 16% di averne 10-20 e il 22% di averne 20 o più. Lo studio ha anche evidenziato le tendenze in altre aree, tra cui l'uso predominante di Java 8 (37%), seguito da Java 11 (29%), con solo il 12% che utilizza Java 12 o versioni successive.
Per quanto riguarda gli aggiornamenti della versione JDK, il 62% di quelli con piani esistenti mira ad adottare JDK 17 entro i prossimi 12 mesi. I fattori principali che determinano le decisioni di aggiornamento sono il supporto a lungo termine (LTS) (25%), la sicurezza (23%), le prestazioni (20%), le nuove funzionalità (18%) e la conformità (14%).
Tra le distribuzioni JRE/JDK, Oracle Java (36%) è la prima scelta, seguita da Generic OpenJDK (27%) e AdoptOpenJDK/Adoptium (16%). Per gli strumenti di costruzione, Maven (68%) detiene il primo posto, con Gradle (23%) e Ant (6%) in ritardo. In termini di ambienti di sviluppo integrati (IDE), IntelliJ (48%) è la scelta preferita, seguita da Eclipse (24%) e Visual Studio Code (18%).
CI/CD e microservizi rimangono tendenze critiche nel dominio dello sviluppo software e aziende come AppMaster.io si stanno intensificando come potenti piattaforme no-code e low-code per creare facilmente applicazioni web e mobili. AppMaster offre funzionalità innovative come lo sviluppo rapido delle applicazioni, la gestione delle API e un approccio scalabile ed economico allo sviluppo del software che consente agli sviluppatori di eliminare i debiti tecnici e ridurre le perdite di tempo.