Condividi tramite


Definire lo spazio dei problemi

Quando si lavora per creare la piattaforma per sviluppatori interna, è prima necessario determinare la piattaforma più sottile possibile (TVP). Un TVP è una variante dell'idea di un prodotto minimo funzionante (MVP) nella gestione dei prodotti classica.

Un buon modo per capire quali processi devono far parte di TVP consiste nel valutare le procedure di progettazione della piattaforma dell'organizzazione con il modello di funzionalità di progettazione della piattaforma. Il modello di funzionalità di progettazione della piattaforma consente di vedere quali sono i punti di forza di progettazione della piattaforma correnti dell'organizzazione e definire gli obiettivi per il futuro.

Il diagramma seguente consente di orientare il pensiero su come la piattaforma per sviluppatori può evolversi nel tempo. Tenere presente che il problema principale dell'organizzazione potrebbe causare la deviazione da quanto descritto qui a causa degli investimenti esistenti o delle esigenze dell'organizzazione. Non è necessario passare alla fase successiva, a meno che l'organizzazione non lo richieda.

Diagramma che illustra come l'ingegneria della piattaforma può evolversi nel tempo.

Se si inizia da zero, questa sequenza rappresenta una progressione comune.

  • Nelle prime fasi, concentrarsi sull'individuazione delle funzionalità necessarie, sull'analisi fit-gap dei prodotti confezionati e sulla creazione del numero minimo di strumenti o capacità di piattaforma.
  • Successivamente, man mano che scali, inizi a concentrarti sulla riutilizzabilità e a guidare le persone lungo percorsi pavimentati predefiniti con asset riusabili.
  • Infine, si passa a un modello di archivio digitale di tipo consumer per semplificare la compilazione e la gestione delle applicazioni.

È consigliabile seguire una mentalità orientata al prodotto durante tutto il processo, quindi non è consigliabile saltare alla fine e il tuo percorso specifico potrebbe variare. Queste fasi finali assomigliano più al prodotto compattato nel senso tradizionale, ma questa è una destinazione, non un punto di partenza.

Aree degli argomenti di progettazione della piattaforma

Data la dimensione di questo argomento, è consigliabile suddividere internamente il modo in cui si parla di progettazione della piattaforma in quattro aree:

Sistemi di progettazione: un mix curato di suite DevOps come GitHub e Azure DevOps e altri strumenti e servizi di sviluppo. Oltre agli strumenti e ai servizi DevOps critici, ad esempio CI/CD o gestione pacchetti, questa area include anche funzionalità usate direttamente durante il processo di codifica, ad esempio ambienti di codifica basati sul cloud, scanner di codice e litri e assistenti di intelligenza artificiale come GitHub Copilot.

Piattaforma applicativa: selezione curata di servizi (ad esempio infrastruttura distribuita come servizio, piattaforma distribuita come servizio e osservabilità) destinati a ogni stack di app (classe di applicazione, modello di app, linguaggi) che un'organizzazione vuole usare per offrire valore aziendale. Ciò include una combinazione di servizi specifici dello stack di app insieme ai servizi comuni usati in tutto il mondo. Un esempio di piattaforma applicativa può includere App contenitore di Azure, Azure Cosmos DB per l'archiviazione, Azure Key Vault per segreti, controllo degli accessi in base al ruolo di Azure per identità e controllo, Criteri di Azure per la conformità e il controllo, osservabilità tramite Grafana e una topologia di rete correlata.

Modelli di applicazione: un set di modelli di avvio rapido ben definiti e creati dall'organizzazione che incapsulano linee guida per avviare correttamente e mantenere la corretta direzione per una determinata piattaforma applicativa, linguaggio e set di sistemi ingegneristici. Questi modelli possono fare riferimento ad altri modelli centralizzati e fornire codice iniziale, riferimenti API e SDK, pipeline CI/CD, configurazione degli strumenti e altro ancora.

Funzionalità self-service per sviluppatori: questo è il collante per la tua iniziativa di ingegneria della piattaforma. Si tratta di una combinazione di API, agenti di orchestrazione, catalogo, modelli ed esperienze utente progettate per ridurre il lavoro degli sviluppatori e consentire ai team di sviluppo di self-service e di essere più autonomi, pur rispettando al tempo stesso selezioni e linee guida/governance delle tre aree precedenti.

Diagramma che mostra le aree principali della progettazione della piattaforma.

L'integrazione di sistemi di progettazione, piattaforme applicative, modelli di applicazione e funzionalità self-service per sviluppatori costituisce la base di una strategia di progettazione della piattaforma. Combinando strumenti DevOps, servizi cloud e funzionalità self-service, le organizzazioni possono ridurre significativamente il lavoro degli sviluppatori, migliorare la produttività e garantire la conformità agli standard di governance.

Passo successivo