Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La progettazione della piattaforma è una pratica basata sui principi DevOps che cerca di migliorare la sicurezza, la conformità, i costi e il valore di business di ogni team di sviluppo attraverso esperienze sviluppatore migliorate e self-service all'interno di un framework sicuro e regolamentato. Si tratta sia del cambio di mentalità basata sul prodotto che di un set di strumenti e sistemi per supportarlo.
Ultimamente, c'è un sacco di entusiasmo nel settore intorno al termine ingegneria della piattaforma. Gartner prevede che circa l'80% delle organizzazioni di ingegneria abbia un team dedicato all'ingegneria della piattaforma entro il 2026. Questi team si concentrano sulla creazione di una piattaforma per sviluppatori interna. Indipendentemente dal dominio—che siano vendite (Microsoft Dynamics, Salesforce), evasione dei servizi (ServiceNow) o comunicazioni (Twilio)—le piattaforme, per loro natura, sono progettate per ottenere scalabilità e ridurre il tempo necessario a conferire valore aziendale.
Le piattaforme che gli sviluppatori usano o estendono hanno la possibilità di eliminare i problemi durante il processo di sviluppo con esperienze di sviluppo altamente ottimizzate e operazioni semplificate. Queste piattaforme includono strumenti che:
- Aiutare gli sviluppatori a essere autosufficienti (ad esempio, starter kit e plug-in IDE).
- Aiutare con le attività comuni.
- Incapsulare modelli e procedure comuni in blocchi predefiniti riutilizzabili.
- Fornire consigli e feedback tempestivi sui problemi o sui rischi per la sicurezza.
- Semplificare le operazioni gestendo l'infrastruttura e gli strumenti sottostanti.
Il modello di funzionalità di progettazione della piattaforma Microsoft descrive le sei funzionalità di base che definiscono la progettazione della piattaforma: investimento, adozione, governance, provisioning e gestione, interfacce e misurazioni e feedback. Per capire dove l'organizzazione rientra oggi in ogni area di funzionalità e per impostare obiettivi per la crescita futura, vedere Informazioni sul modello di funzionalità di progettazione della piattaforma.
Che cos'è una piattaforma per sviluppatori interna?
Una piattaforma per sviluppatori interna è incentrata sulle procedure di sviluppo interne di un'azienda. Si definisce un set di percorsi di sviluppo consigliati e supportati per la produzione e, utilizzando una piattaforma interna, si "prepara" gradualmente una strada attraverso di essi.
Per usare un'analogia del mondo reale, i nuovi percorsi spesso iniziano come sentieri sterrati, ma man mano che più persone li usano, diventano pavimentati per migliorare la sicurezza mantenendo velocità e capacità di traffico. I percorsi pavimentati all'interno di una piattaforma per sviluppatori interna hanno obiettivi simili. Sono progettati per guidare gli sviluppatori attraverso requisiti e standard critici senza sacrificare la velocità di distribuzione degli sviluppatori. Ciò si ottiene fornendo ai team di sviluppo funzionalità self-service standardizzate, sicure e scalabili. Allo stesso tempo, è comunque possibile semplificare le operazioni e l'organizzazione IT per garantire che l'infrastruttura e gli strumenti sottostanti siano efficienti, conformi e convenienti. Mentre alcuni percorsi potrebbero essere parzialmente pavimentati, un percorso d'oro completamente pavimentato riduce il carico cognitivo per tutti coinvolti.
Gli sviluppatori sono i principali consumer o clienti di una piattaforma per sviluppatori interna. L'automazione e la centralizzazione consentono operazioni efficienti garantendo al tempo stesso che vengano soddisfatti i requisiti degli stakeholder, ad esempio la conformità.
Con la progettazione della piattaforma, si crea questa piattaforma interna combinando una mentalità orientata al prodotto con gli apprendimento di DevOps e DevSecOps per offrire un set di strumenti. Questi strumenti permettono di automatizzare, monitorare, governare e osservare in maniera sufficiente, guidando naturalmente i team di sviluppo verso il successo garantito. In qualità di responsabile dell'ingegneria della piattaforma per una multinazionale di mass media, ha dichiarato:
L'ingegneria della piattaforma è stata adottata per aumentare la rapidità o velocità nella consegna di prodotti. I team centralizzati eliminano la necessità di ogni team di preoccuparsi dell'infrastruttura, aumentando così l'efficienza... Migliorano anche la sicurezza e la sicurezza perché tutto è predefinito, riducendo gli errori. - Daniel, Ingegnere Cloud, azienda Fortune 500 del settore media
Una piattaforma per sviluppatori interna consente di centralizzare e ridimensionare le conoscenze specializzate nell'intero ciclo di vita dello sviluppo e delle operazioni riducendo o eliminando il carico cognitivo e i passaggi manuali.
Creare piattaforme per sviluppatori in modo incrementale, concentrandosi su self-service e automazione
L'implementazione di una strategia di progettazione della piattaforma efficace richiede lavoro, ma vale la pena pagare. Non è raro che i team con meno di 20 persone possano supportare migliaia di sviluppatori e centinaia di progetti.
Tuttavia, la creazione di una piattaforma per sviluppatori interna è un percorso. Non raccomandiamo un approccio radicale o uno sforzo guidato dall'alto verso il basso. Un aspetto critico dell'ingegneria della piattaforma consiste nell'applicare una mentalità del prodotto in cui gli sviluppatori, i professionisti di Machine Learning o i data scientist sono considerati clienti. In qualità di ingegnere della piattaforma presso un'azienda tecnologica, l'ha espresso così:
[Ci sono] due problemi principali che [i nostri] strumenti di progettazione della piattaforma sono stati progettati per risolvere. Il primo è stato quello di facilitare il provisioning dei servizi usando un modello di autoservizio. … Il secondo consiste nel fornire sistemi di supporto automatico, ad esempio metriche delle prestazioni e disponibilità delle applicazioni. L'obiettivo era consentire agli sviluppatori di lavorare più velocemente ed in modo più efficiente, avendo tutte le informazioni necessarie per risolvere i problemi e ottimizzare le applicazioni. - Alex, Lead Cloud Architect, grande azienda tecnologica
Nessuna delle due aziende è la stessa, quindi considerare le esigenze specifiche dei clienti interni per tracciare un corso incrementale attraverso questo percorso. Stabilendo un set di blocchi predefiniti di base che verranno assemblati nel tempo, è possibile assicurarsi che la piattaforma per sviluppatori interna abbia un valore sufficiente che i team di sviluppo diventino sostenitori e vogliano usarlo lungo il percorso. Utilizzare queste informazioni per creare una piattaforma minima viabile, un prodotto minimo viabile per la vostra piattaforma e crescere da lì.
Il punto importante è che si vuole considerare gli investimenti effettuati in queste aree come blocchi predefiniti chiave per il percorso di progettazione della piattaforma. È quindi possibile concentrarsi sulla creazione di un'associazione coesiva con gli investimenti personalizzati per aggiungere valore unico per l'azienda, invece di creare tutto da zero.