Condividi tramite


Case study: tre implementazioni di progettazione della piattaforma

Anche se esistono approcci diversi all'implementazione della progettazione della piattaforma con il modello di capacità di ingegneria della piattaforma, la ricerca degli utenti dimostra che la maggior parte dei clienti Microsoft rientra in uno dei tre segmenti di clienti: innovatori emergenti, generatore strategico e pioniere della piattaforma. Questo articolo illustra un case study per un cliente reale in ogni segmento. I nomi della società vengono rimossi per la privacy.

Innovatore emergente: compagnia assicurativa

Segmento del cliente Aree di interesse Dimensioni del team Tratti dell'organizzazione Frequenza
Innovatore emergente Sviluppo rapido dei prodotti, automazione dei processi manuali, gestione delle inefficienze 1-5 (dai team DevOps o dai team di infrastruttura cloud) Identifica i colli di bottiglia per migliorare il recapito, iniziando a realizzare la necessità di soluzioni a livello di organizzazione Secondo più comune

Una grande compagnia assicurativa si rende conto che hanno infrastrutture diverse distribuite in un grande stack tecnologico. Esistono più piattaforme e ambienti, e pochi modi per permettere agli sviluppatori di iniziare senza dover fare affidamento su altri team. L'azienda deve ridurre i costi crescenti della forza lavoro e avere sistemi più standardizzati.

Il punto di svolta era piuttosto diretto. Dato che sono disponibili più piattaforme di progettazione, più ambienti infra, tra cui funzionalità ibride, senza portale per sviluppatori self-service e tre enormi stack diversi nell'architettura, è stato necessario inserire qualcosa come Terraform o un giocatore di livello aziendale come GitLab o GitHub. Per gestire le piattaforme containerizzate end-to-end, abbiamo considerato OpenShift, Ansible per l'automazione del flusso di lavoro e Backstage come piattaforma per sviluppatori interni. Abbiamo fatto una valutazione massiccia per portare sinergie in un vasto stack tecnologico... Questo è un caso di costo molto semplice di ridurre la forza lavoro o la base di sviluppo del 30%." - Architetto capo, compagnia assicurativa

Sfida: Le sfide principali sono l'aumento dei costi del cloud, i problemi di conformità, la mancanza di competenze di progettazione dell'infrastruttura, i processi non allineati e la comunicazione del team incoerente.

La compagnia assicurativa prevede di implementare una piattaforma standardizzata per tutte le attività di sviluppo e distribuzione per promuovere la collaborazione, velocizzare la configurazione del progetto e semplificare la governance. L'azienda si concentra sulla crescita di tutti e cinque i principali driver di progettazione della piattaforma.

Grafico degli obiettivi di crescita dell'innovatore emergente.

Investimento: L'azienda collabora con un partner esterno per implementare la progettazione della piattaforma usando un modello di compilazione, funzionamento e trasferimento (BOT). Il partner esterno sviluppa e gestisce la piattaforma prima di trasferirla nuovamente all'organizzazione dopo aver acquisito le competenze e la capacità di gestirla internamente.

Adozione: Esiste una significativa resistenza interna all'adozione di nuove pratiche. Gli sviluppatori non vogliono passare dai metodi tradizionali ai set di strumenti e piattaforme più recenti. Per ovviare a questo problema, la leadership dell'organizzazione spinge l'adozione della progettazione della piattaforma legandola ai vantaggi della produttività e rendendola parte degli obiettivi dei dipendenti.

Governance: Il team EPD (Enterprise Planning and Deployment) è responsabile della conformità e della sicurezza. La struttura di governance centralizzata è intenzionale per mantenere la sicurezza elevata ed evitare vulnerabilità, rendendo il decentramento una sfida. C'è un push verso la democratizzazione della distribuzione agli sviluppatori, mantenendo al contempo i protocolli di governance per evitare violazioni dei dati e garantire la conformità. L'obiettivo è raggiungere un equilibrio tra sicurezza e agilità.

Provisioning: L'azienda migliora l'efficienza e riduce i tempi di provisioning adottando un modello più integrato e a libero servizio. La potenziale riduzione del tempo e delle risorse spese per il provisioning è un fattore chiave per la modifica.

Interfacce: L'organizzazione adotta Backstage per la sua flessibilità open source, l'efficacia dei costi e la familiarità degli sviluppatori. Cortex è stato anche considerato. La decisione di scegliere Backstage è stata guidata dalle funzionalità di integrazione e costi.

Misurazioni e feedback: È stato difficile passare a un sistema di feedback più significativo perché l'azienda ha un sistema di misurazione legacy e deve allineare le metriche tecniche agli indicatori KPI aziendali. L'azienda prevede di lavorare sull'allineamento delle attività di progettazione con i risultati aziendali per un approccio di misurazione più integrato. Durante questa transizione, l'azienda aggiunge strumenti e piattaforme che forniscono analisi e osservabilità in tempo reale.

Costruttore strategico: istituto finanziario

Segmento del cliente Aree di interesse Dimensioni del team Tratti dell'organizzazione Frequenza
Costruttore strategico Collaborazione, riduzione dello sforzo ridondante, soluzioni condivise, standardizzazione, gestione dei costi 1-15 esperti tecnici (sviluppatori e specialisti dell'infrastruttura) La leadership considera gli sviluppatori come clienti, funzionalità di progettazione della piattaforma parzialmente integrate (self-service non completamente adottate) Più comune

L'istituto finanziario è a un livello medio di maturità di DevOps, con alcuni artefatti centrali riutilizzabili, linee guida standardizzate e automazione di base gestita tramite codice. L'organizzazione ha raggiunto un punto in cui le dimensioni dei team di sviluppo e la diversità degli strumenti e delle procedure creano costi significativi. L'istituto aveva migliaia di strumenti personalizzati usati in tutta l'azienda e molte esigenze organizzative complesse. La banca prevede di offrire agli sviluppatori un "percorso d'oro" per migliorare la produttività che ha flessibilità incorporata evitando un approccio unico adatto a tutti.

"Quindi l'idea era che mostreremo loro [sviluppatori] che questo [percorso d'oro] è un modo per fare la cosa che migliorerà la vostra produttività, ma questo non è l'unico modo. Giusto? Quindi volevamo lasciare spazio sufficiente affinché lo sviluppatore si sentisse in grado di apportare modifiche a questo percorso che stiamo indicando loro. Quindi, quando questi percorsi vengono definiti nel team CTO, la domanda è sempre, quali sono i percorsi da definire che funzioneranno per la maggior parte delle persone della banca? Come ho detto, siamo molto complessi. Ci sono migliaia di strumenti usati in tutta la banca. Così una taglia unica è sempre stato il problema più grande." - Direttore esecutivo, istituto finanziario

Sfida: La loro sfida principale è costituita da costi elevati e inefficienze dovute a numerosi strumenti e procedure diversi. L'azienda vuole assicurarsi che la piattaforma soddisfi le esigenze specifiche di ogni team senza causare problemi o essere un approccio eccessivamente direttiva che potrebbe ostacolare l'adozione. L'istituto finanziario non dispone inoltre delle competenze necessarie per sviluppare soluzioni di piattaforma personalizzate interne.

L'istituto finanziario prevede di concentrarsi sulla crescita per tre fattori chiave: adozione, governance e provisioning e gestione delle risorse. La banca vuole aumentare l'adozione della soluzione di progettazione della piattaforma, integrare meglio la governance e creare strumenti di provisioning delle risorse automatizzati.

Grafico degli obiettivi di crescita di Strategic Builders.

Investimento: L'istituto finanziario ha un team di ingegneria centrale con 120 persone distribuite in più sedi in tutto il mondo. Circa 20 membri costituiscono un centro di eccellenza (COE). Il team COE implementa le procedure consigliate di progettazione, la piattaforma e le procedure DevOps in tutte le altre divisioni aziendali.

Adozione: Il team di progettazione della piattaforma si concentra sull'applicazione dei criteri impostati dal team COE per guidare le operazioni di progettazione. L'azienda prevede anche di motivare i team con metriche delle prestazioni visibili pubblicamente. In generale, la banca vuole aumentare l'utilizzo della piattaforma senza basarsi su direttive e metriche rigorose. Tuttavia, affrontano sfide nell'upskilling del team COE per gestire la varietà di tecnologie usate tra i team di progettazione. Un ostacolo importante è la preoccupazione che la piattaforma potrebbe non soddisfare le esigenze specifiche dei singoli team, causando potenzialmente problemi.

Governance: La soluzione di progettazione della piattaforma è un portale sviluppato internamente che funge da hub centrale per gli sviluppatori, che offre strumenti, guide, standard di codifica e video. La soluzione include un quiz sui requisiti aziendali minimi (MERS) per garantire la conformità prima dell'inizio della codifica. Il portale include una versione di Stack Overflow per il supporto, i profili tecnici certificati e un percorso di onboarding per acquisire familiarità con gli standard e gli strumenti per i nuovi sviluppatori. L'azienda prevede di semplificare la gestione delle risorse e integrare la governance nel ciclo di vita di sviluppo, rimuovendo colli di bottiglia e attirando i migliori talenti tecnici con un set di strumenti moderno.

Provisioning: Il team COE ha creato "percorsi ottimali" per gli sviluppatori per aumentare la produttività mantenendo al tempo stesso la flessibilità. L'obiettivo è offrire un percorso efficiente consentendo al tempo stesso la personalizzazione. Quando si progettano questi percorsi, il team CTO mira a soddisfare la maggior parte degli sviluppatori, ma la complessità della banca, con migliaia di strumenti in uso, rende l'implementazione di un approccio standardizzato. Per ridimensionare la piattaforma, l'organizzazione prevede di implementare il provisioning automatizzato delle risorse per soddisfare le diverse esigenze dei diversi team di progettazione.

Interfacce: Il portale per sviluppatori interno è stato creato principalmente internamente. Viene definita internamente come portale DevOps, anche se include funzioni di progettazione della piattaforma più ampie oltre a DevOps. Il portale funge da risorsa centralizzata per gli sviluppatori e include vari strumenti, materiali di apprendimento, video e training, nonché l'accesso agli strumenti di automazione, guide self-starter e immagini in contenitori per lo sviluppo. Il portale è integrato anche con strumenti di sicurezza come Sonatype per l'analisi del codice e include un registro di immagini approvate e codice boilerplate.

Misurazioni e feedback: Il team COE è aperto al feedback e lo sollecita attivamente dai team di progettazione. Gli evangelisti e ambasciatori dello sviluppo raccolgono feedback anche per conto del team del COE. Il processo di feedback è principalmente informale.

Pioniere della piattaforma: Società software

Segmento del cliente Aree di interesse Dimensioni del team Tratti dell'organizzazione Frequenza
Pioniere della piattaforma Trattare gli sviluppatori come clienti, gestire la piattaforma come prodotto, un'esperienza di sviluppo avanzata 16+ con gruppi specializzati Enfatizza la responsabilità, la responsabilizzazione e l'innovazione, promuove il self-service e il minimo cambiamento di contesto Meno comune

La società di software è a un livello elevato di maturità DevOps. Gli sviluppatori dell'azienda possono effettuare il provisioning automatico dei servizi cloud in conformità alle linee guida aziendali. Il team di grandi piattaforme dell'azienda con oltre 250 membri ha sviluppato con successo soluzioni di progettazione della piattaforma personalizzate per l'organizzazione. L'azienda prevede di indagare su come continuare a migliorare la propria organizzazione tramite la progettazione della piattaforma in futuro.

"Come facciamo a consentire ai nostri sviluppatori di offrire software migliore più velocemente e (più economico)?.. Dobbiamo ancora indagare e investire in quello che potrebbe essere quella soluzione ideale che potrebbe funzionare per la nostra strategia multicloud... esiste un sistema che può essere ridimensionato in base alle diverse esigenze degli sviluppatori?.. Si usano soluzioni di intelligenza artificiale generative e basate sull'intelligenza artificiale integrate per la documentazione e l'individuazione delle informazioni. Il nostro obiettivo è quello di rendere gli sviluppatori responsabili." - Senior Engineering Leader, società di software

Sfida: La sfida principale dell'azienda consiste nel capire come continuare a perfezionare le proprie già solide procedure di progettazione della piattaforma in modi che consentono di risparmiare denaro, esplorare l'intelligenza artificiale generativa, aumentare l'adozione e lavorare per un ambiente multicloud.

L'azienda software prevede di concentrarsi sulla crescita per quattro fattori chiave: investimenti, adozione, provisioning e gestione e interfacce. L'azienda di software opera già a un livello avanzato di ingegneria delle piattaforme e desidera continuare. L'azienda prevede di esplorare i modi per integrare l'IA generativa (con governance), aumentare l'adozione della piattaforma e implementare cicli di feedback basati sulle metriche.

Grafico degli obiettivi di crescita di Platform Pioneers.

Investimento: La piattaforma è finanziata e supportata tramite una collaborazione tra gli uffici CTO e CFO. Un team di piattaforma dedicato, formato da risorse riallocate, include da 250 a 280 membri come architetti e ingegneri. Il team supervisiona calcolo, runtime, CI/CD, strumenti e osservabilità, con particolare attenzione all'efficienza dei costi. Stanno esplorando l'IA generativa per la scalabilità dell'infrastruttura, ma sono necessari ulteriori investimenti e ricerche.

Adozione: Gli sviluppatori hanno inizialmente adottato la piattaforma principalmente per l'ottimizzazione e l'efficienza dei costi, guidata dalla pandemia. Campagne interne, tra cui hackathon, promuovono la piattaforma, mostrando vantaggi come informazioni dettagliate sulla maturità del servizio. Il team della piattaforma ha avuto difficoltà a convincere alcuni team a passare dalle configurazioni esistenti alla piattaforma.

Governance: Il modello di governance per la piattaforma è strutturato intorno a un team centrale della piattaforma che gestisce gli elementi principali. I singoli team di servizio contribuiscono ai plug-in. È disponibile un processo di revisione per tutti i contributi per verificare che siano allineati agli standard dell'organizzazione e soddisfino esigenze più ampie. Il team della piattaforma gestisce un catalogo di servizi e una mappa dei servizi per tenere traccia dei metadati e delle dipendenze, che consentono di garantire la responsabilità e la gestione delle risorse. Inoltre, è stato stabilito un organismo di governance dedicato specificamente per le applicazioni di intelligenza artificiale per gestire il loro uso e garantire la conformità agli standard.

Provisioning: Il team della piattaforma fornisce una piattaforma centralizzata e flessibile per la creazione, distribuzione e gestione delle risorse. La piattaforma è basata su Kubernetes e usa Argo CD per CI/CD. Lo strumento offre modelli personalizzati e flussi di lavoro predefiniti. La piattaforma include una home page per sviluppatori in cui gli utenti possono gestire il ciclo di vita dell'infrastruttura dal provisioning alla distribuzione. Teams contribuisce ai plug-in personalizzati per migliorare le funzionalità. L'obiettivo è gestire facilmente l'infrastruttura multicloud con una piattaforma scalabile.

Interfacce: Gli sviluppatori usano la home page dello sviluppatore nella piattaforma per gestire l'infrastruttura, il provisioning e l'intero ciclo di vita di sviluppo. L'architettura basata su plug-in della piattaforma consente la personalizzazione, mentre l'intelligenza artificiale generativa migliora la documentazione e la ricerca.

Misurazioni e feedback: L'organizzazione raccoglie feedback tramite sondaggi e usa metriche come DORA (frequenza di distribuzione, lead time, frequenza degli errori di modifica e tempo medio per il ripristino) per valutare l'efficacia della piattaforma. Per individuare colli di bottiglia e migliorare i risultati, queste metriche sono classificate in agilità e stabilità.