Per Iniziare
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Inizia ora
Diventa Partner certificato e scopri tutti i benefici del Partner Program.
Scopri il nostro programma
In un’epoca in cui possiamo ottenere quasi tutto con i nostri dispositivi intelligenti, non sorprende che la complessità dello sviluppo e della fornitura di software sia cresciuta nell’ultimo decennio. Per questo motivo approcci tecnologici come il Platform Engineering sono essenziali per aiutare il superamento delle sfide che le organizzazioni devono affrontare quando creano prodotti software.
Che cos’è il Platform Engineering, la Internal Developer Platform e perché i CIO e i CTO dovrebbero investire in questi approcci?
Come già menzionato nella nostra guida Platform Engineering 101, secondo la definizione di Gartner è “la disciplina della costruzione e gestione di Internal Developer Platform (IDP) self‑service per il rilascio di software e la gestione del suo ciclo di vita”.
Definiti in modo appropriato “developer enablers”, i Platform Engineer creano e mantengono strumenti come l’Internal Developer Platform che consentono agli ingegneri di deployare il codice in produzione in modo efficiente.
Il Platform Engineering è un aspetto importante in molte organizzazioni odierne, in quanto i team di sviluppo devono affrontare procedure soggette a errori per portare il loro codice in produzione. Queste procedure comprendono la creazione e la configurazione manuale dei repository, la gestione delle infrastrutture, la creazione e la gestione delle pipeline CI/CD e così via; tutto questo può diventare molto oneroso al crescere dell’organizzazione.
Le aziende possono sfruttare il Platform Engineering per pianificare, progettare e gestire le loro piattaforme digitali per ridurre i problemi che potrebbero sorgere durante queste procedure.
Le Internal Developer Platform (IDP) sono piattaforme create dal Platform Team di un’organizzazione per aiutare i Team Operations a supportare i team di sviluppo.
Gli IDP consentono ai team di essere autonomi, dando loro accesso self‑service agli strumenti (o permettendo loro di crearli da zero) di cui hanno bisogno per avviare, gestire e monitorare i processi di sviluppo.
Questo ulteriore livello tra i team di sviluppo e i team operations semplifica l’interazione con l’infrastruttura, consentendo alle organizzazioni di industrializzare e governare lo sviluppo e le operazioni cloud‑native. Un IDP aiuta a creare e distribuire le funzionalità in modo efficiente senza sacrificare la qualità o la sicurezza del sistema e, allo stesso tempo, migliora la Developer Experience.
Un IDP completo gestisce in modo affidabile le configurazioni delle applicazioni, orchestra le infrastrutture in modo dinamico e intelligente, crea ambienti nuovi e completamente predisposti quando necessario, fornisce una pipeline per il Continuous Delivery o il Deployment e, cosa più importante, garantisce al nostro progetto la privacy.
Con un IDP è possibile definire in modo esplicito il tipo di infrastrutture da implementare e le applicazioni supportate. Aderendo ai criteri definiti nell’IDP, i developer possono concentrarsi sullo sviluppo del software, mentre l’IDP gestisce la distribuzione, l’auditing, il monitoraggio, ecc. Mia‑Platform Console è un esempio perfetto di Internal Developer Platform.
Oltre alla gestione del deployment, l’IDP ha anche le seguenti responsabilità:
Di seguito illustriamo alcuni vantaggi forniti da un IDP:
È indubbio che DevOps abbia rappresentato un passo fondamentale nella gestione dello sviluppo del software. Tuttavia, i metodi di gestione del software come DevOps pongono alcune sfide agli sviluppatori, richiedendo loro di assumersi più carichi e compiti e di imparare a utilizzare molti strumenti. Per questa e altre ragioni, alcuni iniziano a chiedersi se DevOps e SRE siano giunti alla loro fine.
Sebbene il fenomeno “tu lo costruisci, tu lo gestisci” funzioni bene nelle grandi organizzazioni, quelle più piccole possono avere difficoltà a implementare un vero DevOps, poiché non dispongono delle stesse risorse da investire nei talenti e ottimizzare i flussi di lavoro degli sviluppatori.
Un altro inconveniente di DevOps è l’attribuzione agli sviluppatori, soprattutto a quelli senior, della responsabilità di gestire gli ambienti e le distribuzioni, mentre il loro contributo è più prezioso nella produzione di codice e nello sviluppo dei prodotti. Un developer che passa più tempo a gestire ambienti e distribuzioni indica un uso improprio di una delle risorse più preziose che un’organizzazione possa possedere. Ciò significa anche che ci vorrà più tempo per creare e rilasciare il software, un problema che il Platform Engineering attenua. Questa mancanza di risorse per implementare un vero DevOps può manifestarsi in anti‑pattern, una risposta comune e solitamente inefficace a un problema ricorrente.
Questo articolo è stato scritto da Michel Murabito, Developer Advocate di Mia‑Platform.