Iniziare il percorso di progettazione della piattaforma
La progettazione della piattaforma è un modo per consentire alle organizzazioni di ottimizzare il ciclo di vita di sviluppo del software attraverso un focus sull'esperienza per gli sviluppatori. L'esperienza di sviluppo si riferisce all'esperienza vissuta degli sviluppatori e ai punti di attrito che incontrano nel lavoro quotidiano. La progettazione della piattaforma è un set di modelli e procedure (non un prodotto off-the-shelf) che aiutano a modernizzare la distribuzione di software aziendali.
Ad esempio, una multinazionale tecnologica ha usato la progettazione della piattaforma per aumentare la standardizzazione ed eliminare la duplicazione attraverso i limiti di divisione. L'azienda ha iniziato stabilendo tutto come modo basato sul codice per consentire ai team di eseguire l'onboarding. Sono stati quindi avviati l'associazione di applicazioni distribuite in Kubernetes in modo che abbia senso per gli sviluppatori con questa stessa esperienza per facilitare ulteriormente l'individuazione. Questo li ha quindi messi in posizione per iniziare a assemblare modelli di applicazione che incoraggiano le procedure consigliate. I team di sviluppo possono ora scegliere blocchi predefiniti esistenti anziché crearli da zero.
Informazioni su come identificare i problemi più importanti dell'organizzazione con il modello di funzionalità di progettazione della piattaforma in modo da individuare i modelli e le procedure da implementare. Usare quindi blocchi predefiniti di Microsoft e altri progetti o fornitori open source per creare una piattaforma per sviluppatori interna personalizzata, ottimizzata e sicura.
Per iniziare, è necessario innanzitutto valutare la posizione attuale dell'organizzazione con il modello di funzionalità di progettazione della piattaforma. Si userà quindi il modello di funzionalità per tracciare il punto in cui l'organizzazione si trova in sei funzionalità, ovvero investimenti, adozione, governance, provisioning e mangement, interfacce e feedback e impostare obiettivi per la crescita futura. Ad esempio, è possibile che l'organizzazione si trovi nelle prime fasi in cui si tratta di investimenti, ma ancora più avanti per l'adozione. Per tracciare le attuali procedure di progettazione della piattaforma dell'organizzazione, eseguire questo sondaggio o avviare una valutazione manuale.
Non è necessario eseguire progressi in ogni funzionalità contemporaneamente. Creare invece un grafico di un corso appropriato per l'organizzazione. Tutte le organizzazioni saranno più avanzate in alcune funzionalità rispetto ad altre. In questa mappa, ad esempio, l'organizzazione prevede di concentrarsi sull'adozione, la governance e il provisioning e la gestione.
Per ognuna delle funzionalità che hai identità come aree di miglioramento, imposti gli obiettivi su come avanzare. Questi obiettivi implicano l'apprendimento di come usare modelli e altre soluzioni per migliorare i sistemi di progettazione e alleviare l'attrito degli sviluppatori.
- Applicare sistemi di ingegneria software: informazioni su alcuni suggerimenti utili per capire come riutilizzare e perfezionare i sistemi di progettazione per migliorare il self-service per risolvere i problemi identificati. Informazioni su come usare l'infrastruttura gestita centralmente come codice (IaC) o qualsiasi altro elemento come artefatti di codice (EaC) come blocchi predefiniti nei modelli iniziali.
- Perfezionare la piattaforma dell'applicazione: informazioni su come risolvere i problemi identificati ridefinendo la piattaforma dell'applicazione. Queste modifiche possono essere più costose, ma possono anche offrire vantaggi significativi, in particolare se è possibile trovare un prodotto off-the-shelf per soddisfare le proprie esigenze. Ad esempio, migliorare l'uso di (o passare a strumenti di osservabilità o registrazione diversi) ? Se si inizia da zero, il Centro architetture di Azure consente di identificare i concetti da zero.
- Progettare una base self-service per sviluppatori: informazioni su un'architettura per una base self-service per sviluppatori più sofisticata. Si tratta di un'evoluzione che consente di slining dei più sistemi di automazione e di aggregare i dati. In questo caso si eseguirà più sviluppo di software, quindi procedere in questa direzione nel corso del tempo invece di iniziare qui.