Focus DevOps di Adaptavist per il 2024
Condividi sui social
Focus DevOps di Adaptavist per il 2024
Matt Saunders
15 gennaio 2024
13 min di lettura
Matt Saunders
15 gennaio 2024
13 min di lettura
Il 2023 è stato un anno impegnativo per Adaptavist: abbiamo aiutato i nostri clienti a incrementare la loro maturità DevOps attraverso processi migliori e mediante l’integrazione di strumenti potenti in grado di supportare i loro sforzi per apportare valore in modo rapido e sicuro. Nel frattempo, ci siamo tenuti al passo con le tendenze e le tecnologie emergenti, per vedere come queste possono supportare le organizzazioni con cui stiamo già lavorando e quelle con cui collaboreremo presto.
L’IA generativa ha dominato il 2023 e abbiamo visto che iniziano a prendere forma nuovi utilizzi di questa tecnologia in un contesto DevOps. Altre aree di tendenza dell’anno sono state la continua ascesa del cloud computing, che ha reso molto più facile l’implementazione e la scalabilità per le organizzazioni, e un ulteriore "spostamento a sinistra" (shift-left), quando DevSecOps è diventata una tecnica mainstream per garantire che il software implementato fosse sicuro e protetto.
Quindi, quali sono le prospettive per DevOps? Dall’IA e FinOps alla creazione della migliore esperienza per gli sviluppatori, c’è molto DevOps sul fuoco per il 2024. Diamo un’occhiata a come ci aspettiamo che queste tendenze si sviluppino nel prossimo anno e cos’altro potrebbe emergere che vale la pena tenere d’occhio per rimanere un passo avanti rispetto alla concorrenza…
1. IA e ML
Per noi di Adaptavist, il 2023 è stato un anno in cui l’IA generativa ha avuto un grande successo e abbiamo iniziato a valutare come fare il miglior uso di questa nuova tecnica rivoluzionaria. Le prime ipotesi suggerivano che a questo punto avremmo migliorato la produttività degli sviluppatori facendo scrivere tutto il codice da un chatbot, ma nel 2024 vedremo un approccio più graduale. Sebbene l’uso dell’IA per scrivere codice completo e corretto in qualsiasi occasione sia uno scenario ancora lontano, l’integrazione dei chatbot negli IDE sta già iniziando e consente agli sviluppatori di sfruttare i suggerimenti appresi dalle macchine per scrivere e migliorare il codice. Ci si aspetta di assistere all’ascesa dell’IA generativa in un contesto DevOps, mentre i team esplorano l’uso dell’IA e del ML in molte aree.
Test e QA
L’automazione ha già contribuito a velocizzare i test, rendendoli più ripetibili e scalabili. Inoltre, strumenti di intelligenza artificiale ben integrati portano l’automazione a fare un ulteriore passo avanti. La scrittura di test unitari è un compito a volte ripetitivo, ma di vitale importanza, che può essere trascurato. Per questo è un’uso ideale dell’IA generativa per la scrittura di codice di test coerente e pertinente che migliora la copertura dei test. Ciò consentirà di incorporare maggiormente il feedback nel lifecycle dello sviluppo man mano che questi strumenti diventano disponibili e più diffusi negli IDE. Analizzando i dati di test e identificando i modelli, gli strumenti di IA possono creare nuovi casi di test più efficaci e mirati verso aree in cui è più probabile che si verifichino problemi.
Monitoraggio e osservabilità
Sebbene sia abbastanza semplice vedere se un servizio è "attivo" o "inattivo", gli strumenti contemporanei utilizzano tecniche di machine learning per rilevare anomalie nei dati sulle prestazioni, il che potrebbe essere indicativo di un potenziale problema. L’IA offre una soluzione basata sui dati piuttosto che sull’esperienza o sul proprio intuito; analizza i modelli passati, cercando le tendenze che altrimenti potrebbero passare inosservate e facendo previsioni intelligenti sulla domanda imminente in modo da evitare risorse eccessive o insufficienti;
permette di ottenere anche informazioni in tempo reale che altrimenti sfuggirebbero ai metodi di monitoraggio tradizionali; ottimizza la gestione degli incidenti, che vengono classificati in base alla loro gravità, e consente di risparmiare tempo e risorse per individuare le cause principali. Vedremo che le organizzazioni utilizzeranno IA e ML per analizzare i dati di log insieme ad altre metriche per individuare i problemi.
2. FinOps
L’ascesa del cloud computing è continuata nel 2023, ma con la crescita di questo settore multimiliardario sono aumentate le preoccupazioni sui costi. Il cloud computing è una spesa operativa enorme per la maggior parte delle aziende, ma il modello di spesa variabile significa che è difficile evitare gli sprechi del cloud e ottenere risparmi significativi. Ad esempio, i fondatori di Basecamp si sono allontanati dal cloud computing e sono tornati al data center. Anche se non ci aspettiamo che questa tendenza di ritorno al cloud cresca enormemente, dimostra un maggiore rigore nei confronti dei costi, una preoccupazione per chiunque utilizzi il cloud computing a qualsiasi livello.
In questo segmento si evolveranno anche gli strumenti. I vecchi strumenti di gestione dei costi si basano molto sul tagging per allocare i costi del cloud, ma l’adozione del tagging si è rivelata difficile in molte aziende, soprattutto quando si cerca di allocare i costi delle risorse condivise. Gli strumenti per analizzare questi costi sono in costante evoluzione e ne vedremo sempre di più man mano che le aziende faranno conciliare un approccio finanziario rivolto a “spendere il meno possibile” con una comprensione più approfondita del ritorno sull’investimento dei costi del cloud. Il fatto che FinOps sia emersa recentemente come pratica definita rafforza la nostra comprensione comune delle sfumature in questo settore.
Quando usate insieme alle migliori prassi e a una cultura FinOps, piattaforme come CloudZerooffrono a tutti le informazioni necessarie per gestire i costi del cloud in modo proattivo. Una spesa cloud efficace, supportata da un processo decisionale interfunzionale, può generare entrate, consentirti di velocizzare il lancio dei prodotti, farti avere vantaggi competitivi e garantire che tutti capiscano la ragione per cui si fa un investimento (o perché non lo si fa).
3. Platform engineering
Il modo in cui viene realizzata una piattaforma è cruciale nel mondo del DevOps e offre un’infrastruttura fondamentale che accelera lo sviluppo e l’implementazione del software e risolve i problemi di cooperazione tra sviluppatori e operatori.
È un cliché riferirsi ai progettisti della piattaforma qualificati da poco come a quelli che solo l’anno scorso erano ingegneri dedicati dell’affidabilità del sito, e che l’anno prima erano ingegneri DevOps. Ma così come il ruolo di ingegnere dell’affidabilità del sito comunica un significato aggiunto, piuttosto che un semplice rimaneggiamento di “ingegneri DevOps”, le cose si evolvono man mano che la progettazione della piattaforma diventa una pratica a sé stante.
Nel panorama contemporaneo del DevOps, i team di platform engineering offrono sempre più spesso servizi “di impianto”, in cui forniscono i componenti e l’infrastruttura fondamentali perché lo sviluppo e l’implementazione siano fluidi. Questo approccio permette ai team di sviluppo di concentrarsi sulle proprie responsabilità principali senza finire sovraccaricati dalle complessità di gestione dell’infrastruttura.
Nel 2024, il significato del platform engineering per i team di DevOps verrà definito con più cura, mentre le grandi organizzazioni svilupperanno capacità ed esigenze di servizio distinte che i soli prodotti cloud standard non saranno in grado di soddisfare. C’è da aspettarsi un aumento dell’attenzione al self-service per sviluppatori incentrato sul prodotto. Un punto chiave qui sarà il modo in cui i team interni raccoglieranno richieste e feedback dai clienti interni, mentre i team della piattaforma si dedicheranno ad aggiungere valore tattico piuttosto che replicare servizi che si possono acquistare da altre parti.
C’è da aspettarsi ci siano cambiamenti nella progettazione organizzativa, con team più allineati al flusso come promosso dalle Team Topologies emergenti. L’ingegnerizzazione dei servizi “di impianto”, puntando all’efficacia di questi team, aumenterà l’indipendenza e l’efficienza nell’ambito di queste specializzazioni, promuovendo un ambiente più fluido e collaborativo.
L’emergere di standard nel platform engineering è ormai un aspetto critico di questa disciplina. Secondo Gartner®“entro il 2026, l’80% delle grandi aziende di ingegneria del software istituirà team di platform engineering come fornitori interni di servizi, componenti e strumenti riutilizzabili per la distribuzione delle applicazioni. Il platform engineering alla fine risolverà il problema centrale della cooperazione tra sviluppatori e operatori di software”.1
L’emergere di standard nel platform engineering è ormai un aspetto critico di questa disciplina. Secondo Gartner®“entro il 2026, l’80% delle grandi aziende di ingegneria del software istituirà team di platform engineering come fornitori interni di servizi, componenti e strumenti riutilizzabili per la distribuzione delle applicazioni. Il platform engineering alla fine risolverà il problema centrale della cooperazione tra sviluppatori e operatori di software”.1
4. L’esperienza degli sviluppatori
Le organizzazioni altamente performanti sono consapevoli del fatto che concentrarsi sull’esperienza degli sviluppatori, fornendo loro gli strumenti e i processi giusti per prosperare, è il segreto per produrre software di qualità in modo affidabile e rapido. Quasi tre quarti delle aziende migliora la propria produttività migliorando DevEx, con ulteriori effetti tra cui l’aumento delle entrate e della soddisfazione dei clienti.
Gli ecosistemi che forniscono piattaforme di sviluppo interne continueranno ad evolversi in prodotti come venue.sh, mentre i team DevOps impareranno da framework come Backstage per aiutare a loro volta gli sviluppatori. I team interessati all’innovazione inizieranno a sfruttare nuove tecniche. Un ottimo esempio ne è l’utilizzo dell’IDP per avviare rapidamente nuove iniziative di programmazione con l’aiuto di impalcature concordate per l’infrastruttura cloud. Un altro esempio è l’utilizzo di un catalogo di servizi che danno accesso immediato ai microservizi disponibili. Questi team hanno capito che permettere un percorso senza ostacoli per la scrittura e l’implementazione del codice è un requisito chiave.
5. Ambienti di sviluppo cloud
Gli ambienti di sviluppo cloud offrono scalabilità e capacità di collaborazione, ma gli sviluppatori spesso preferirebbero l’immediatezza e il ciclo di feedback forniti negli ambienti locali. Come possiamo colmare questo divario?
C’è da aspettarsi che gli ambienti di sviluppo si spostino ancora più velocemente verso il cloud. Gli sviluppatori sono abituati a un ambiente di sviluppo locale reattivo e personalizzato per loro e ora, con l’innovativa offerta di IDE basati sul Web, inizieranno a trovarlo nel cloud. L’esecuzione nel cloud renderà più semplice anche l’integrazione più profonda con i servizi ausiliari utilizzati durante la compilazione, come la scansione della sicurezza e le integrazioni generative dell’IA. Il fatto che i team centralizzati siano in grado di sfruttare un controllo più stretto di questi ambienti a fini di sicurezza e audit farà sì che ne aumenti l’adozione in questo settore.
Inoltre, si ridurrà il divario tra ambienti di compilazione e ambienti di distribuzione, con servizi come Gitpod e GitLab che offrono ambienti di sviluppo cloud completi che si collegano direttamente ai cluster Kubernetes per implementazioni semplici e standardizzate.
Nonostante molte attività di sviluppo si stiano rapidamente avvicinando al cloud, gli strumenti di sviluppo locale continuano a migliorare e a guadagnare terreno. Strumenti come la telepresenza, che consente agli sviluppatori di fare test in un ambiente di sviluppo simile a quello di produzione, collegando localmente la copia del servizio alle dipendenze remote, sarà fondamentale in questo caso. La telepresenza può aiutare nella transizione allo sviluppo nel cloud grazie alla riduzione dell’attrito e alla manutenzione del cruciale ciclo di feedback rapido offerto dallo sviluppo locale.
E c’è molto altro ancora. Vuoi chiederci consulenza sulle prossime novità in DevOps e altre pratiche di sviluppo software? Hai bisogno di assistenza per configurare nuovi strumenti o tecniche? È tutto pronto per far leva sul DevOps nel 2024? Siamo qui per aiutarti.
Contattaci per saperne di più!
1Articolo di Gartner, “What Is Platform Engineering?” Ha collaborato: Lori Perri, 26 ottobre del 2023.
GARTNER è un marchio registrato e un marchio di servizio di Gartner, Inc. e/o delle sue affiliate negli Stati Uniti e a livello internazionale ed è stato utilizzato nel presente documento previa autorizzazione. Tutti i diritti riservati.
Scritto da
Matt Saunders
Lead DevOps
Grazie alla sua pregressa esperienza come amministratore di sistema Linux, Matt è un'autorità in tutto ciò che riguarda DevOps. In Adaptavist e non solo, è un sostenitore dei metodi di lavoro di DevOps, aiutando i team a massimizzare le persone, le procedure e la tecnologia per fornire software in modo efficiente e sicuro.