Lo sviluppo di interfacce efficaci nella progettazione della piattaforma comporta la transizione da processi personalizzati e manuali a soluzioni standardizzate e coerenti che semplificano il provisioning e le richieste di servizio. Questo articolo illustra le fasi dello sviluppo dell'interfaccia, concentrandosi sulla configurazione degli ambienti di sviluppo e sulla diagnosi del comportamento dell'applicazione.
Processi personalizzati
Esiste una raccolta di processi diversi per effettuare il provisioning di funzionalità e servizi diversi, ma la coerenza dell'interfaccia non viene considerata. I processi personalizzati rispondono alle esigenze immediate di singoli utenti o team e dipendono dall'intervento manuale anche se il provider usa alcuni script di implementazione automatizzati.
La conoscenza di come richiedere queste soluzioni è condivisa da persona a persona. Il processo per la richiesta di un servizio non dispone della standardizzazione e della coerenza. Il provisioning e l'uso di un servizio di piattaforma richiedono probabilmente un supporto approfondito del provider di funzionalità.
La mancanza di requisiti e standard centrali rende questo livello appropriato quando l'azienda non ha ancora identificato e documentato le aspettative. Può essere particolarmente efficace per i team nelle prime fasi o nelle attività della piattaforma. In questi ambienti i team offrono la libertà di evolvere processi e capacità alle proprie esigenze, consentendo loro di offrire più rapidamente e pagare il prezzo della standardizzazione solo quando necessario in un secondo momento.
Configurare l'ambiente di sviluppo: i singoli tecnici unisce i passaggi necessari per configurare un ambiente chiedendo ai colleghi, cercando la documentazione, seguendo le proprie procedure note.
Diagnosticare il comportamento dell'applicazione: i tecnici scelgono i propri strumenti e processi per la diagnosi del comportamento. Sono responsabili dell'esecuzione dei passaggi per accedere alle applicazioni e ai log.
Standard locali
I tecnici e i team di progettazione definiscono in modo proattivo ma informale gli standard per funzionalità e servizi diversi, in modo da aumentare la quantità di condivisione delle conoscenze che può avvenire all'interno dell'organizzazione. Le comunità di supporto informale si orientano intorno a questi standard, ma dipendono dalle risorse e dall'impegno di singoli utenti e team.
Configurare l'ambiente di sviluppo: i singoli team definiscono i propri strumenti e processi e tentano di garantire che i tecnici all'interno dei team siano in grado di attenersi a questi processi. Potrebbe essere tramite documentazione o contenitori, ma la scelta di come documentare strumenti e processi è guidata dal team.
Diagnosticare il comportamento dell'applicazione: i singoli team definiscono procedure e processi personalizzati per la diagnosi del comportamento. Teams si affida al team devops/IT per l'accesso alle risorse distribuite.
Esistono interfacce standard coerenti e standard per il provisioning e l'osservazione di piattaforme e funzionalità e soddisfano esigenze generali. Gli utenti sono in grado di identificare quali funzionalità sono disponibili e sono abilitate per richiedere funzionalità necessarie.
Sono disponibili strade pavimentate o percorsi d'oro, sotto forma di documentazione e modelli. Queste risorse definiscono come effettuare il provisioning e gestire le funzionalità tipiche usando modelli conformi e testati. Anche se alcuni utenti sono in grado di usare queste soluzioni autonomamente, le soluzioni spesso richiedono ancora competenze di dominio approfondite e pertanto il supporto dei gestori è ancora fondamentale.
Una gestione significativa richiesta dal team centrale per gestire modelli/documentazione in particolare in risposta alle esigenze mutevoli dei team.
Configurare l'ambiente di sviluppo: alcuni investimenti in un percorso comune con la documentazione o i modelli che definiscono gli strumenti e i processi necessari nell'organizzazione. I team possono derivare dagli standard man mano che modificano i modelli, ma non possono eseguire il merge nel team centralizzato.
Diagnosticare il comportamento dell'applicazione: procedura standard definita per l'accesso e la diagnosi delle risorse distribuite.
Soluzioni self-service
Le soluzioni vengono offerte in modo da offrire autonomia agli utenti e richiedono poco supporto da parte dei gestori. L'organizzazione incoraggia e consente alle soluzioni di fornire interfacce coerenti che consentono l'individuabilità e la portabilità dell'esperienza utente da una funzionalità a un'altra. Anche se self-service, le soluzioni richiedono la consapevolezza e l'implementazione del team. Per migliorare questa esperienza, potrebbe esserci un linguaggio interno guidato e semplificato che consente agli utenti di adottare e integrare più rapidamente le funzionalità della piattaforma. In questo modo viene generata una raccolta coerente e self-service di funzionalità incentrate sugli utenti.
Configurare l'ambiente di sviluppo: i team di progettazione dipendono dalla piattaforma per configurare gli ambienti di sviluppo. L'invito esiste per individuare le risorse disponibili. I team di progettazione adottano la piattaforma esclusivamente per tutte le interazioni. La piattaforma facilita la condivisione delle conoscenze attraverso l'individuazione e la modifica di modelli nuovi ed esistenti, aumentando continuamente il valore offerto dalla piattaforma.
Diagnosticare il comportamento dell'applicazione: strumenti e servizi per l'osservazione di risorse/funzionalità fornite tramite la piattaforma su richiesta. La piattaforma offre inviti per la diagnosi e l'osservazione di risorse/funzionalità.
Servizi integrati
Le funzionalità della piattaforma sono integrate in modo trasparente negli strumenti e nei processi che i team usano già per svolgere il proprio lavoro. Il provisioning di alcune funzionalità viene eseguito automaticamente, ad esempio l'osservabilità o la gestione delle identità per un servizio distribuito. Quando gli utenti raggiungono i bordi dei servizi forniti, è possibile passare oltre le soluzioni automatizzate e personalizzare le proprie esigenze senza uscire dalle offerte interne perché le funzionalità della piattaforma sono considerate blocchi predefiniti. Questi blocchi predefiniti vengono usati per creare composizioni trasparenti e automatiche per soddisfare i casi d'uso di livello superiore, abilitando al tempo stesso una personalizzazione più approfondita, se necessario.
I team interni della piattaforma possono determinare quali funzionalità funzionano bene per l'organizzazione e possono usare queste conoscenze per determinare quali aree investire per migliorare ulteriormente la piattaforma.
Le funzionalità possono essere estese e incluse in più modi, offrendo la massima flessibilità per il provisioning, la gestione e l'osservazione di risorse e funzionalità.
Configurare l'ambiente di sviluppo: le funzionalità della piattaforma sono integrate negli strumenti e nei processi già usati dai team per svolgere il proprio lavoro. Può essere usato tramite l'interfaccia della riga di comando, l'IDE e così via.
Diagnosticare il comportamento dell'applicazione: la piattaforma configura automaticamente le funzionalità di osservabilità per ogni applicazione distribuita. La piattaforma offre l'invito per interagire con i dati di diagnostica e l'applicazione distribuita.