Principi per la creazione di una piattaforma di sviluppo interna - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Principi per la creazione di una piattaforma di sviluppo interna

Adotta una mentalità legata al prodotto

Un principio chiave per il successo consiste nel considerare la piattaforma di sviluppo interna come una normale applicazione o un prodotto dotato di una serie di funzionalità e di una tabella di marcia. Questo ti aiuta a definire l'insieme di strumenti e processi che la tua piattaforma di sviluppo interna offrirà. Inoltre, aiuta a identificare come misurare il successo dell'adozione delle funzionalità della piattaforma, ad esempio il miglioramento del ciclo di distribuzione del software o la riduzione della quantità di incidenti operativi. Adottando una mentalità di prodotto, puoi quantificare il valore fornito dalla piattaforma di sviluppo interna e assicurarti che stia raggiungendo i tuoi obiettivi originali.

Concentrati sui tuoi clienti

Un altro principio importante è identificare chi sono i clienti della piattaforma di sviluppo interna. Fondamentalmente, i tuoi clienti sono i tuoi sviluppatori. Comprendere i clienti è molto importante perché l'obiettivo della piattaforma è soddisfare le esigenze degli sviluppatori e soddisfarli ovunque si trovino. Ciò significa che la roadmap della piattaforma deve essere allineata. Assegna priorità alle funzionalità in base alle esigenze dei tuoi sviluppatori.

Fornisci funzionalità self-service su richiesta e automaticamente

Un altro principio di successo è che la piattaforma dovrebbe nascondere qualsiasi complessità agli sviluppatori fornendo le proprie funzionalità attraverso un meccanismo self-service. Che il team utilizzi un provider cloud o un servizio di elaborazione come Amazon Elastic Kubernetes Service (Amazon EKS), gli sviluppatori non dovrebbero interessarsi a questi dettagli. La piattaforma di sviluppo interna deve fornire un'interfaccia semplice, come un'interfaccia utente grafica (GUI), un'API o un'interfaccia a riga di comando (CLI) che aiuti gli sviluppatori a fornire valore. Per fornire un meccanismo self-service efficace, è importante iniziare con la progettazione del modello corretta. Il modello deve includere i parametri minimi necessari per automatizzare la distribuzione delle funzionalità. Dovrebbe automatizzare i processi di test che aiutano gli sviluppatori a soddisfare i requisiti di qualità e sicurezza e dovrebbe inoltre fornire feedback sulle metriche chiave dopo l'implementazione delle funzionalità.

Un meccanismo self-service aiuta a ridurre il carico cognitivo per gli sviluppatori. Riduce il numero di servizi e strumenti che gli sviluppatori devono utilizzare per l'implementazione in produzione. La semplificazione dell'esperienza utente consente di commercializzare la piattaforma a più team. È importante assicurarsi che la piattaforma di sviluppo interna sia disponibile su richiesta, ogni volta che gli sviluppatori desiderano utilizzarla. Quindi, devi prepararti a scalare la piattaforma di sviluppo interna man mano che assumi più team.

Rendi l'utilizzo opzionale e abilita l'uso di funzionalità specifiche

Non tutti i team possono utilizzare la piattaforma di sviluppo interna il primo giorno. Ad esempio, alcuni team stanno modernizzando i propri carichi di lavoro utilizzando container, mentre altri utilizzano soluzioni serverless. La piattaforma di sviluppo interna supporta inizialmente un unico percorso e nel tempo vengono sviluppate altre funzionalità. Sfrutta la piattaforma e le sue funzionalità opzionali fino a quando la piattaforma non sarà scalabile e i modelli più maturi non saranno pronti a servire i tuoi sviluppatori.

Ciò non significa che i team non possano utilizzare la piattaforma di sviluppo interna. Alcuni team possono ancora gestire i propri strumenti e processi e adottare anche una funzionalità specifica della piattaforma di sviluppo interna. Ad esempio, i team potrebbero adottare una pipeline CI/CD per preparare l'infrastruttura per loro. La piattaforma offre valore riducendo il tempo necessario per gestire l'infrastruttura e aiutando gli sviluppatori a concentrarsi sul codice applicativo.

Definisci percorsi dorati in linea con i tuoi standard di sicurezza

I percorsi dorati sono la funzionalità fondamentale che la piattaforma di sviluppo interna dovrebbe fornire. Questo perché i golden path includono le migliori pratiche e gli standard che aiutano gli sviluppatori a iniziare in pochi minuti. I percorsi privilegiati semplificano l'esperienza del ciclo di vita dello sviluppo del software (SDLC), dallo sviluppo all'osservabilità. Automatizzano la maggior parte delle funzionalità utilizzate dagli sviluppatori, come gli archivi di codice sorgente, i test, l'implementazione e l'osservabilità.

Tuttavia, i percorsi dorati non consistono solo nel fornire modelli automatizzati. Forniscono inoltre una governance per aiutare gli sviluppatori a distribuire i carichi di lavoro in modo sicuro e conforme ai requisiti di conformità organizzativi. Una delle principali sfide per gli sviluppatori è affrontare la sicurezza nelle prime fasi del ciclo di vita dello sviluppo. Pertanto, è importante eliminare questa sfida includendo la scansione e policy-as-code gli strumenti di sicurezza come fasi del percorso ideale. Ciò può fornire un feedback tempestivo agli sviluppatori e fornire un quadro di governance per le implementazioni.

Quando progettate un percorso aureo, non complicate inutilmente il processo. L'obiettivo non è automatizzare ogni fase dell'SDLC fin dall'inizio. L'obiettivo è fornire un livello di astrazione in grado di nascondere tutte le complessità legate all'utilizzo di diversi strumenti o infrastrutture. Questo aiuta gli sviluppatori a iniziare rapidamente e a concentrarsi sullo sviluppo delle funzionalità anziché interagire con i servizi sottostanti. Un esempio di percorso privilegiato è un modello in cui uno sviluppatore può fornire alcuni parametri che rimandano a un repository di codice sorgente. La piattaforma interna per sviluppatori automatizza tutte le altre fasi, come il test, la sicurezza, la scansione e l'implementazione.

Documenta e semplifica l'esperienza di onboarding

Un altro importante principio di successo per la piattaforma di sviluppo interna è la documentazione. La piattaforma interna per sviluppatori deve includere una documentazione che fornisca agli sviluppatori una guida all' easy-to-follow onboarding. Questa guida dovrebbe concentrarsi su come lo sviluppatore può contribuire al progetto e non spiegare le complessità nascoste dell'interfaccia o della piattaforma. Ad esempio, la guida all'onboarding non deve descrivere che la piattaforma è in esecuzione su Amazon EKS né descrivere come Account AWS è prevista. La guida dovrebbe spiegare le dipendenze dei servizi e i percorsi ideali. Per le architetture a microservizi, può anche spiegare come i servizi sono connessi.

La documentazione e una semplice esperienza di onboarding riducono al minimo il tempo necessario agli sviluppatori per comprendere e utilizzare la piattaforma di sviluppo interna. Se vuoi misurare l'efficacia della documentazione, la metrica del volume di modifica del codice può essere utile. Questa metrica può fornire dati su chi effettua il maggior numero di modifiche al codice e quali repository sono i più attivi nel tempo. Puoi raccogliere i dati a livello di sviluppatore o di repository.