Autore: Edoardo Bellocchi
Come cambia lo sviluppo software per sposare il cloud? E come garantire alle nuove applicazioni performance e sicurezza? Come noto, nel panorama dello sviluppo software moderno, l'approccio cloud-nativo ha assunto un ruolo di rilievo, ridefinendo il modo in cui le applicazioni vengono progettate, sviluppate e distribuite. L'utilizzo di tecnologie come container, microservizi e pratiche DevOps ha trasformato radicalmente il processo di sviluppo, rendendolo più flessibile, scalabile e orientato al cloud.
Ma in che modo containerizzazione, microservizi, DevOps e altre pratiche concorrono nel creare applicazioni agili, scalabili e resilienti? Oppure, detto in altre parole, fino a che punto lo spostamento verso il cloud computing sta trasformando lo sviluppo delle applicazioni?
Inquadrando il fenomeno, George Mironescu, Associate Research Director di IDC Europe, evidenzia che “il paradigma nativo del cloud è diventato un elemento centrale nello sviluppo software moderno, trasformando la progettazione, lo sviluppo e il rilascio delle applicazioni. L'adozione di tecnologie come i container e i microservizi, insieme alle metodologie DevOps, ha rivoluzionato il processo di sviluppo, migliorando flessibilità, scalabilità e compatibilità con il cloud”.
A fronte di questo, man mano che i modelli basati su cloud guadagnano importanza nello sviluppo delle applicazioni, emergono quindi nuove tecniche, tecnologie e strumenti: secondo lo studio “IDC European DevOps and Modern App Delivery Survey, September 2023”, oggi si assiste a “un aumento dell'importanza dei team di piattaforma per abilitare i team di sviluppo a guidare uno sviluppo delle app più rapido e anche meno monotono per chi se ne occupa”.
Questo comprende, sempre secondo la survey IDC, elementi quali "i flussi di lavoro migliorati, l'empowerment degli sviluppatori in modalità self-service, un'automazione più profonda degli strumenti e il consolidamento delle architetture. Dal punto di vista degli strumenti, vediamo ancora investimenti più approfonditi in ambienti e soluzioni ben consolidati come la gestione delle API, ma anche investimenti in ambienti di data engineering centrati sul cloud, serverless e microservizi”.
In questo scenario, prosegue IDC, “la sicurezza rimane una preoccupazione chiave nello sviluppo moderno delle app e le aziende dedicano molta attenzione a quanto ben filtrata e curata sia la supply chain del software, nonché a quanto ben governato sia il ciclo di vita dello sviluppo del software. Vediamo sicuramente un'alta attenzione dedicata a razionalizzare queste aree e a aumentare la prontezza in ambito DevSecOps”.
Analizzando più da vicino le sfide che si trovano ad affrontare oggi le aziende nello sviluppo lo sviluppo delle app anche utilizzando il cloud, IDC ne identifica tra le altre “lavorare attraverso compiti e processi manuali; comprendere o gestire le relazioni e le dipendenze del codice; lavorare in sincronia con altri team; restare aggiornati sulle ultime innovazioni nei progetti open source o sui lanci di prodotti da parte dei fornitori; gestire i reparti tecnici”, evidenziando che è “particolarmente difficile monitorare e osservare gli ambienti cloud nativi, a causa della dinamicità dell'ambiente, ossia la velocità e il volume degli eventi da monitorare e comprendere”.
È anche per questo che, osserva sempre IDC, le aziende “danno priorità a vari aspetti nel loro sviluppo software per affrontare la complessità che i team incontrano lavorando con codici cloud nativi o con vecchi codebase”, citando in particolare “stabilire le priorità all'architettura e al design delle app cloud native e dell’infrastruttura di sistema; ottimizzare gli strumenti, la piattaforma o l'infrastruttura per lo sviluppo e il deployment; lavorare per unificare l'esperienza degli sviluppatori e ridurre i passaggi di contesto per consentire un maggiore focus per i team di sviluppo; lavorare per modernizzare l'architettura delle app e ridurre la presenza di codice legacy in modo che i team di sviluppo integrino il cloud native in modo più efficace con i sistemi esistenti”.
Nelle pagine di questo Speciale, le risposte alle nostre due domande:
Nello sviluppo delle app, il modello cloud è sempre più vincente, ma quali tecniche, tecnologie e strumenti di sviluppo innovativi si vanno affermando?
Quali le sfide principali che le aziende clienti si trovano ad affrontare nell’ambito dello sviluppo delle applicazioni e come vengono soddisfatte?