L’IA nel Platform Engineering per Semplificare lo Sviluppo Software
Questo articolo è stato pubblicato in origine su The New Stack.
Immagina una soluzione software che impara e si adatta alle tue esigenze. Questa è la potenza delle applicazioni intelligenti alimentate dall’IA. Queste applicazioni intelligenti vanno oltre le funzionalità di base, utilizzando il machine learning (ML), l’elaborazione del linguaggio naturale e altre tecniche di IA all’avanguardia per personalizzare la vostra esperienza, fare previsioni e automatizzare le operazioni.
I miglioramenti che questo tipo di automazione offre a chi sviluppa e, in generale, alla developer experience, ci portano a un altro approccio innovativo: il platform engineering. Il Platform Engineering è una disciplina emergente che descrive il modo in cui le piattaforme software vengono progettate, sviluppate e mantenute per scalare DevOps su più team..
Naturalmente, le aziende chiedono a gran voce di sfruttare questo potenziale. Secondo Gartner, entro il 2027 il 75% delle organizzazioni passerà da più soluzioni specifiche a piattaforme DevOps per ottimizzare la distribuzione delle applicazioni, rispetto al 25% del 2023. Pertanto, molte organizzazioni stanno cercando di integrare l’IA all’interno del platform engineering per accelerare il time to market, migliorare il ciclo di sviluppo del software e la developer experience.
In questo articolo vedremo:
- L’ascesa delle piattaforme di sviluppo intelligenti.
- Il ciclo di vita dello sviluppo del software (SDLC) con integrazione dell’intelligenza artificiale nell’ambito del platform engineering.
- Vantaggi e sfide della platform engineering abilitata dall’IA.
L’ascesa delle piattaforme di sviluppo intelligenti
Secondo la Gartner Technology Adoption Roadmaps per i Leader IT, gli internal developer portal sono stati citati come la tecnologia più frequentemente sperimentata nel 2022-2024 per migliorare la developer experience. Un internal developer portal funge da interfaccia attraverso la quale chi sviluppa può scoprire e accedere alle funzionalità di un internal developer platform.
Sebbene questi portali offrano funzionalità self-service per migliorare la developer experience, c’è ancora una crescente richiesta di soluzioni che offrano efficienza, affidabilità, adattabilità e riduzione dei costi ottimali.
Molte organizzazioni si sono rivolte a piattaforme che sfruttano l’intelligenza artificiale per ottimizzare il processo di sviluppo delle operazioni IT. Di conseguenza, i team di platform engineering cercano ora piattaforme di sviluppo intelligenti in grado di automatizzare le attività, fornire documentazione generata dall’intelligenza artificiale, analizzare il codice alla ricerca di errori e persino generare codice o suggerimenti di sviluppo in base agli input.
Queste piattaforme intelligenti mirano a fornire una frictionless developer experience, in modalità self-service developer experience e con il minor dispendio possibile e stanno rapidamente diventando la spina dorsale della trasformazione digitale.
SDLC integrato con l’intelligenza artificiale nel Platform Engineering
Da quando l’IA e il ML sono entrati nello spazio tecnologico, l’uso dell’aumento dell’IA ha visto un notevole incremento in diversi strumenti e piattaforme di sviluppo, come GitHub’s Copilot, Google’s Bard e OpenAI. L’aumento dell’intelligenza artificiale si intreccia con l’intero ciclo di vita dello sviluppo del software, dalla pianificazione, alla progettazione, allo sviluppo, ai test, alla distribuzione e alla manutenzione continua, per consentire agli sviluppatori di creare applicazioni in modo più efficace e rapido. Vediamo alcuni esempi.
Generazione e ottimizzazione del codice con intelligenza artificiale
Le piattaforme di IA e ML stanno aumentando ogni aspetto del ciclo di sviluppo del software, consentendo ai team di sviluppo di automatizzare un’ampia gamma di attività, aumentando la produttività, riducendo i costi e offrendo nuove opportunità di crescita. Ciò è evidente nello sviluppo di software guidato dall’intelligenza artificiale che sfrutta modelli linguistici avanzati (LLM) e algoritmi di ML che mostrano notevoli capacità di generazione di codice, revisione del codice e test per migliorare la developer experience.
I modelli di intelligenza artificiale addestrati con queste tecniche di deep learning e con enormi set di dati agiscono spesso come assistenti di codifica personalizzati e collaboratori intelligenti, fornendo intuizioni, suggerimenti e automazione per ottimizzare lo sviluppo. Questo è vantaggioso per gli ingegneri che si concentrano principalmente sulla progettazione e sulla costruzione di piattaforme efficienti e affidabili per team di sviluppo e di prodotto. Consentire all’intelligenza artificiale di accedere all’ambiente degli sviluppatori – codice sorgente, issue tracker e documentazione accessibile – può aiutare il platform team a creare una internal developer platform più efficace.
Gestione intelligente dell’infrastruttura
Le piattaforme integrate con l’intelligenza artificiale accelereranno, scaleranno, automatizzeranno e ottimizzeranno l’SDLC e le infrastrutture a ogni livello. Per esempio, le piattaforme con intelligenza artificiale sono ora utilizzate per semplificare il modo in cui le organizzazioni ottimizzano le risorse di elaborazione, archiviazione e rete. Dalla potenza di calcolo alla gestione dello storage e all’ottimizzazione della rete, consentono alle organizzazioni di mettere a punto le proprie operazioni, migliorare le prestazioni richieste e gestire le complessità della moderna infrastruttura IT.
Integrazione e analisi dei dati basate sull’intelligenza artificiale
L’IA e il ML stanno trasformando il modo in cui i dati vengono preparati, gestiti e ingeriti, automatizzando i processi relativi ai dati e introducendo agilità ed efficienza nell’analisi di ampie serie di dati. Incorporare le funzionalità di IA nell’integrazione dei dati fornisce una soluzione pronta per automatizzare la preparazione dei dati. I sistemi di intelligenza artificiale possono utilizzare natural language processing (NLP) per analizzare le descrizioni delle fonti di dati, le query degli utenti e i metadati per migliorare la scoperta dei dati.
Developer Experience personalizzata
Le piattaforme abilitate all’intelligenza artificiale automatizzano le attività di routine e forniscono suggerimenti intelligenti per il codice, facendo risparmiare tempo agli sviluppatori e migliorando la creatività e l’innovazione. Di conseguenza, un numero sempre maggiore di developer desidera sfruttare l’intelligenza artificiale per aumentare l’efficienza della codifica e la capacità di risolvere i problemi. Ciò è evidente nella GitHub’s 2023 survey, che rivela l’impatto dell’IA sulla developer experience.
Vantaggi e sfide del Platform Engineering abilitata dall’intelligenza artificiale
L’integrazione dell’intelligenza artificiale nell’SDLC offre interessanti possibilità di aumentare la produttività e la soddisfazione per i team di sviluppo e di piattaforma. Tuttavia, come per ogni cosa, ci sono anche dei contro.
Vediamo entrambi i lati.
Pro
- Poiché analizzano facilmente i feedback dei clienti, i dati di utilizzo e altre fonti di dati rilevanti, le piattaforme potenziate dall’intelligenza artificiale consentono alle aziende, alle piattaforme e ai team di sviluppo di prendere decisioni basate su dati più precisi.
- Forniscono approfondimenti e monitoraggio delle prestazioni in tempo reale per le applicazioni, suggerendo miglioramenti per qualsiasi problema che potrebbe verificarsi.
- Le piattaforme integrate con l’intelligenza artificiale automatizzano alcune attività, come l’analisi dei dati e il test dei prodotti, riducendo così la necessità di risorse umane nel processo di sviluppo dei prodotti.
- Le piattaforme abilitate all’intelligenza artificiale migliorano la discovery e l’efficienza dell’ambiente di sviluppo, fornendo supporto a sviluppatori, platform engineer e manager.
Contro
È fondamentale riconoscere che l’IA comporta alcune limitazioni accanto a questi vantaggi. Le persone incaricate di implementare l’IA nel platform engineering devono avere una profonda comprensione dei problemi di sicurezza che l’IA può introdurre. Tali problemi possono essere intrinsecamente legati alla qualità e all’affidabilità dei dati di partenza che hanno formato il modello. Ad esempio, se il modello è stato addestrato utilizzando codice e modelli considerati robusti e sicuri e poi viene trovato un bug zero-day su quel codice, tutte le applicazioni costruite con l’aiuto di quel modello sono vulnerabili.
I problemi di sicurezza possono anche essere legati a un uso improprio dell’IA. Ad esempio, un membro del team che sta lavorando a un nuovo microservizio costruito in un linguaggio con cui ha poca dimestichezza potrebbe chiedere all’IA di tradurre una funzione da un linguaggio diverso senza fornire all’IA il contesto e senza sapere che la funzione è un antipattern per il linguaggio di destinazione.
Per ridurre questi rischi, i platform engineer devono:
- Costruire un solido sistema di monitoraggio dei problemi di sicurezza;
- Essere pronti a gestire i problemi di sicurezza quando si verificano;
- Lavorare continuamente per perfezionare i dati di origine, eliminando e risolvendo i problemi noti;
- Addestrare l’IA in base alle nuove best practice e alle esigenze aziendali;
- Creare golden path che impediscano ai processi critici di essere interamente gestiti dall’IA senza la supervisione umana.
Conclusione
Il platform engineering e l’intelligenza artificiale sono nuove ondate di innovazione tecnologica che possono trasformare in modo massiccio il modo in cui i team di sviluppo lavorano. Stanno determinando un cambiamento fondamentale nel modo in cui le organizzazioni approcciano la consegna del software nell’attuale SDLC. Pertanto, molte organizzazioni sono desiderose di cogliere questa tendenza del settore per aumentare i propri vantaggi competitivi e la produttività, risparmiare denaro e migliorare la developer experience.
Se sei alla ricerca della soluzione giusta per costruire la tua internal developer platform (IDP), per mettere ordine nelle vostre applicazioni cloud native e migliorare la produttività di chi sviluppa, esplora Mia-Platform.

