Google Cloud amplia gli strumenti per sviluppatori e le capacità di analisi dei dati con l’intelligenza artificiale generativa

Google Cloud potenzia gli strumenti per sviluppatori e l'analisi dei dati con l'intelligenza artificiale generativa

Alla grande conferenza di Google Cloud di questa settimana, Google Next ’23, i dirigenti del colosso tecnologico hanno fatto numerosi annunci e dichiarazioni sul futuro per aiutare gli sviluppatori e i responsabili IT a pianificare le future implementazioni e innovazioni del cloud.

Il team editoriale di ENBLE si è mobilitato per esplorare la vasta gamma di annunci, che puoi trovare qui su ENBLE. Il mio compito era guardare il lavoro di Google nelle aree dello sviluppo, dei dati e dell’AI cloud. Qui, Google sta facendo molto per consentire agli sviluppatori di creare la prossima generazione di applicazioni basate su cloud e incorporare capacità di AI generative, quando appropriato.

Inoltre: Come Google sta potenziando la ricerca basata su AI

A maggio, al Google I/O, Google ha annunciato una nuova funzionalità chiamata Duet AI per gli sviluppatori. Le funzionalità per gli sviluppatori di Duet AI sono vagamente simili a quelle di GitHub AI-assisted Copilot di Microsoft, perché mirano ad aiutare gli sviluppatori a produrre codice sulla piattaforma cloud di Google.

Andando avanti fino ad oggi, al Google Next ’23, Google ha rafforzato il suo impegno su Duet AI e ha fornito ulteriori dettagli non solo su cosa può fare Duet AI, ma su come hanno ampliato la premessa originale.

Prima di approfondire alcune di queste capacità, chiariremo cosa potrebbe essere una fonte di confusione. Duet AI non è solo per gli sviluppatori. A maggio, Google ha anche annunciato Duet AI per Workspace, mostrando come può aiutare a creare presentazioni, prendere appunti durante le riunioni, aiutarti a scrivere documenti e altro ancora. Ciò su cui ci concentreremo qui è il “e altro ancora”, dove Google utilizza anche Duet AI per aiutare a scrivere codice e costruire progetti.

Duet AI per lo sviluppo cloud

A maggio, Google ha mostrato come Duet AI possa essere utilizzato per l’assistenza a livello di codice e chat. Da allora, i “sviluppatori fidati” (il loro termine) hanno testato la funzionalità e fornito feedback agli ingegneri di Google. Secondo Google, Duet AI è destinato a fornire supporto agli sviluppatori lungo l’intero ciclo di sviluppo, offrendo assistenza per la scrittura del codice, la citazione delle fonti, la copertura dei test, la progettazione e la pubblicazione delle API, la migrazione e la modernizzazione delle applicazioni, e altro ancora.

Inoltre: Il rinnovamento dell’IA di Google Workspace è finalmente qui. Scopri Duet AI per Workspace

Come sviluppatore, trovo molto interessante il fatto che Duet AI sia disponibile tramite plugin o estensioni in ambienti di codifica comuni. Questi includono l’IDE VSCode di Microsoft e gli IDE di JetBrains, come CLion, GoLand, IntelliJ, PyCharm, Rider e WebStorm. Questa integrazione rende lo strumento molto più pertinente, poiché Google non richiede ai programmatori di cambiare piattaforme per utilizzare lo strumento di assistenza.

Ecco dove brilla il potenziale dell’assistenza dell’IA. Ignoriamo il fatto che la codifica dell’IA tende ad essere poco affidabile e supponiamo che gli sviluppatori di Google miglioreranno le prestazioni nel tempo. In un post sul blog, Duet AI in Google Cloud Blog, Brad Calder, vicepresidente di Google Cloud Platform e infrastrutture tecniche, ha mostrato che un suggerimento in linguaggio naturale, come “Converti questa funzione in Go e usa Cloud SQL”, potrebbe essere utilizzato per riscrivere il codice in un nuovo linguaggio e aggiornare le API, tutto da una singola frase.

Inoltre: Google presenta Duet AI per affrontare nuove sfide di sicurezza informatica nel cloud

Gli sforzi di migrazione possono essere particolarmente impegnativi per gli sviluppatori. Nel mio caso, ho del vecchio codice scritto per PHP 5.6 che non è più compatibile con gli ambienti PHP 8.x attuali. Se lo facessi manualmente, affronterei settimane (o forse mesi) per trovare tutti i pezzi che devono essere convertiti per aggiornare quel codice. Ma se un’IA può farlo (senza rovinarlo), l’IA potrebbe potenzialmente ridurre il mio carico di lavoro di settimane o mesi. Questo è un vantaggio molto grande, perché libera gli sviluppatori per aggiungere nuove funzionalità e innovare, anziché – mentre le specifiche cambiano e le incompatibilità si manifestano come la ruggine sul metallo vecchio – passare il tempo a migrare e aggiornare lo stesso codice più e più volte.

Google sta anche introducendo ciò che chiamano “generazione di codice consapevole del contesto”. Anche qui, non confondiamoci. Normalmente, il termine “consapevole del contesto” si riferisce a un’attività di AI basata su ciò che è attualmente sullo schermo. Il riempimento consapevole del contesto in Photoshop riempie le texture basandosi sulle texture circostanti. Il codice consapevole del contesto dovrebbe essere in grado di generare codice in base a ciò che è presente nella funzione corrente. Tuttavia, l’uso del termine da parte di Google si riferisce al contesto aziendale, non al contesto sullo schermo.

Calder dice: “Abbiamo iniziato a lavorare con alcune aziende selezionate per consentire a Duet Al di essere personalizzato con conoscenze specifiche dell’organizzazione dalle loro librerie e dalla base di codice per generare suggerimenti di codice consapevoli del contesto.” Questo approccio significa che se la tua organizzazione ha le sue librerie, Duet AI potrebbe essere abbastanza intelligente da incorporare quella conoscenza istituzionale. Naturalmente, non è ancora chiaro cosa significhi “aziende selezionate” e se questa sarà una funzionalità rilasciata ampiamente.

Inoltre: Incontra il programmatore post-AI: più creativo, più orientato al business

Un’altra caratteristica interessante è che Duet AI può aiutare i programmatori a pubblicare API utilizzando prompt di linguaggio naturale. Ancora una volta, quando funziona, questo potrebbe essere un enorme risparmio di tempo.

Duet AI per database e analisi dei dati nel cloud

Google ha una lunga lista di servizi enormi per la gestione dei dati e dei database. Al Google Next ’23, l’azienda ha indicato che sta integrando Duet AI nella maggior parte di essi.

È molto facile perdersi nei dettagli quando si parla delle varie offerte di gestione dei dati di Google, quindi per scopi di questo articolo, fornirò un riassunto molto semplice di ciascuno.

  • Cloud Spanner: Un servizio di database distribuito globalmente, fortemente coerente, che offre alta disponibilità e scalabilità, progettato per le imprese che necessitano di una portata globale e di un’integrità transazionale elevata.
  • AlloyDB: Un servizio di database specializzato e completamente gestito su Google Cloud Platform che si concentra sugli utenti di PostgreSQL, ideale per coloro che necessitano di una soluzione specifica per PostgreSQL.
  • Cloud SQL: Un versatile servizio di database relazionale completamente gestito che supporta vari tipi di database come PostgreSQL, MySQL e MS SQL, adatto a una vasta gamma di applicazioni e dimensioni aziendali.
  • BigQuery: Un data warehouse serverless, altamente scalabile ed economico, progettato per l’agilità aziendale, perfetto per coloro che hanno bisogno di eseguire query rapide simili a SQL su grandi set di dati.

Google ha annunciato che Duet AI supporta ora Cloud Spanner. Duet AI può scrivere codice che gestisce e interroga i dati utilizzando il linguaggio naturale. Il post sul blog mostra un esempio di query in linguaggio naturale, “scrivi una query per mostrare tutti i dati nella tabella dei messaggi”, che genera automaticamente il SQL, che gli utenti possono quindi testare e modificare.

Inoltre: L’altro problema è finalmente caduto sul mio piano di archiviazione cloud aziendale di Google

L’azienda afferma che Duet AI sarà anche disponibile per AlloyDB e Cloud SQL, senza specificare ancora una data di consegna. Google offre un servizio Duet AI per migrare Oracle su AlloyDB e Oracle su Cloud SQL-for-PostgreSQL entro la fine dell’anno. Se l’ultima frase ti entusiasma, allora sei un cliente potenziale per questo nuovo servizio di intelligenza artificiale. Ci si può aspettare che altri sistemi legacy beneficino di questo tipo di migrazioni in futuro.

Spostarsi verso il basso anziché verso sinistra

Okay, è ora di parlare di altre parole di tendenza. Nel mondo del DevOps, il termine “spostamento verso sinistra” si applica al trasferimento delle fasi successive del processo come QA e revisioni di sicurezza più avanti nel processo di sviluppo, in modo che siano incorporate nella progettazione e valutazione di un progetto.

L’idea è di spostare le attività che si trovano più avanti nella linea temporale del progetto in un punto precedente. Poiché le linee temporali sono cronologicamente da sinistra a destra, lo spostamento verso sinistra, quindi, significa farlo in anticipo.

Google sta sostenendo la pratica dello “spostamento verso il basso”. L’idea è stata introdotta in un post sul blog di Richard Seroter, direttore di strategia e coinvolgimento esterno di Google. Il paradigma delle linee temporali qui si rompe, perché, ovviamente, le linee orizzontali non hanno profondità.

Inoltre: L’IA cambierà per sempre il ruolo dei programmatori. Ecco perché è una buona notizia

Non pensarci troppo. Se inizi a cercare di analizzare letteralmente le parole di tendenza tecnologica, l’idea che il cloud risieda in enormi data center non avrà alcun senso. Capisci semplicemente che i termini sono costruiti su altre idee (come la forma del cloud che spesso viene disegnata sui diagrammi di rete). In questo caso, Seroter sta spingendo l’idea che lo spostamento dovrebbe avvenire in una direzione diversa.

La sua premessa è che lo spostamento verso sinistra comporta un maggiore carico di lavoro per i programmatori, che sono già oberati e impegnati. Invece, raccomanda che i carichi di lavoro siano spostati verso il basso, dai programmatori verso le loro piattaforme di sviluppo. L’idea è, essenzialmente, lasciare che il software faccia il lavoro.

Come puoi immaginare, lasciare che il software faccia il lavoro è praticamente una dichiarazione di missione per l’IA generativa. E questo, finalmente, ora che abbiamo contesto, ci porta ai prossimi annunci di Google: uno sforzo generale per supportare l’esperienza degli sviluppatori.

Google ha annunciato una serie di sforzi di “riduzione”:

  • Jump Start Solutions: Queste sono soluzioni di applicazioni e infrastrutture che sono essenzialmente punti di partenza preconfezionati per i progetti, con l’assistenza fornita dalle capacità di AI generativa.
  • Duet AI per il completamento del codice e la chat: Abbiamo parlato di questo sforzo sopra, ed è inteso a scaricare il lavoro dagli sviluppatori all’AI.
  • Riduzione dell’interoperabilità: Google ha annunciato la disponibilità generale di Application Integration, un’offerta di piattaforma di integrazione senza codice, che contiene un’interfaccia drag-and-drop per collegare i servizi insieme. Pensateci come a un Zapier per i progetti cloud di livello enterprise. Google ha anche annunciato che Duet AI aiuterà anche qui.
  • Stazioni di lavoro in cloud: Sebbene questa capacità sia presente da un po’ di tempo, Google sta mettendo in evidenza che l’utilizzo del suo servizio di desktop virtuale può “spostare il carico di provisioning, scalabilità, gestione e sicurezza degli ambienti di sviluppo sulla piattaforma”.

Il pensiero di David

Google ha molte iniziative nel campo degli sviluppatori e dei dati, ma tutte saranno probabilmente informate, o presto saranno informate, dall’assistenza generata dall’AI. Che si tratti di un copilota, come Duet AI, o di uno strumento guidato dall’AI per aiutare a “ridurre” lo sforzo nella piattaforma, la maggior parte di questi sforzi, se funzionano, saranno sicuramente un vantaggio per gli sviluppatori.

Da un lato, questo è estremamente eccitante. Molta programmazione è un peso puro. Aggiornare per risolvere incompatibilità, creare test funzionali e trovare bug sono compiti sicuramente poco divertenti. Le migrazioni e le conversioni richiedono un’enorme quantità di tempo e raramente portano a molte nuove funzionalità.

Per uno dei miei progetti, ho passato probabilmente l’80% del mio tempo a fare conversioni perché le piattaforme di commercio su cui si basa il progetto sono cambiate nel corso degli anni. Ho effettivamente trascorso meno del 20% del mio tempo ad aggiungere funzionalità e capacità. Se anche il 25% del mio carico di migrazione e conversione potesse essere delegato a un’AI, potrei raddoppiare l’output delle nuove funzionalità. Questo è enorme.

Inoltre: L’AI potrebbe automatizzare il 25% di tutti i lavori. Ecco quali sono più (e meno) a rischio

Ma ecco “d’altra parte”. La mia preoccupazione è che, mentre spostiamo sempre più il carico di programmazione sulla piattaforma, sull’AI, capiremo sempre meno come funziona tutto. Ciò significa che quando c’è un bug (e ci sarà), o se l’AI fa qualcosa di stupido (e lo farà), sarà molto più difficile analizzare il codice generato dal computer per trovare e risolvere il problema.

Mi viene in mente un vecchio detto di Rumpelstiltskin, interpretato dall’inimitabile Robert Carlyle nella serie TV di fantasia “Once Upon a Time”. Quando gli veniva chiesto di fare qualcosa di magico per risolvere un problema o un altro, Rumpel diceva: “Ogni magia ha un prezzo, caro.”

Questo è il mio pensiero conclusivo mentre guardiamo tutte le funzionalità di supporto AI che Google e altre aziende stanno presentando agli sviluppatori: “Ogni magia ha un prezzo, caro.”

La magia dell’AI è davvero fantastica, ma assicuriamoci di non lasciare che riduca la nostra capacità di mantenere e migliorare il nostro codice. Un moltiplicatore di forza non è una scusa per arrugginirsi o introdurre codice non mantenibile dagli esseri umani.


Puoi seguire gli aggiornamenti dei miei progetti quotidiani sui social media. Assicurati di iscriverti alla mia newsletter settimanale su Substack e di seguirmi su Twitter su @DavidGewirtz, su Facebook su Facebook.com/DavidGewirtz, su Instagram su Instagram.com/DavidGewirtz e su YouTube su YouTube.com/DavidGewirtzTV.