Introduzione
In questo modulo, esplorerai come l'ingegneria della piattaforma supporta i team di sviluppo nella creazione e gestione delle piattaforme interne per sviluppatori (IDP - Internal Developer Platforms). Si apprenderà come Microsoft Dev Box si inserisce in questo ecosistema offrendo un ambiente di workstation per sviluppatori self-service scalabile e allineato ai principi di progettazione della piattaforma.
Che cos'è Platform Engineering
La progettazione della piattaforma è una disciplina incentrata sulla creazione e sulla gestione dei sistemi e dei servizi fondamentali usati dai team di sviluppo per distribuire software. Mette in evidenza sicurezza, coerenza, riutilizzabilità e self-service, creando un ambiente ad alta velocità in cui gli sviluppatori possono concentrarsi sulla comprensione dei requisiti aziendali e sulla scrittura di codice invece di distribuire, gestire e gestire l'infrastruttura. Nella maggior parte delle organizzazioni, attualmente il team IT sta giocando il doppio ruolo di amministratore IT e team di progettazione della piattaforma, se il team di progettazione della piattaforma o i ruoli correlati non esistono.
Un team di progettazione della piattaforma crea una "piattaforma" può essere un ibrido di prodotti interni ed esterni che integra strumenti, servizi e flussi di lavoro in un'esperienza utente coesa. Questa piattaforma astrae attività di configurazione ripetitive e di basso livello fornendo ambienti standardizzati e sicuri per la compilazione, il test e la distribuzione di applicazioni.
I vantaggi della progettazione della piattaforma includono:
- Offrire agli sviluppatori strumenti e ambienti che possono controllare in modo indipendente.
- Riduzione del carico cognitivo standardizzando e automatizzando le attività manuali e operative.
- Miglioramento della coerenza e della conformità tra team e progetti.
Introduzione alle piattaforme per sviluppatori interni
Un IDP (Internal Developer Platform) è il risultato di un'attività di progettazione della piattaforma. Non è un singolo strumento o sistema, ma piuttosto una suite curata di strumenti, servizi e flussi di lavoro resi disponibili agli sviluppatori.
Pensate a un portale sviluppatori interno come a un'interfaccia self-service che gli sviluppatori utilizzano per approvvigionare risorse, distribuire codice, monitorare le applicazioni e gestire le configurazioni, il tutto entro i limiti approvati.
I componenti chiave in genere includono:
- Infrastruttura e modelli standardizzati
- Infrastruttura distribuita come codice (IaC) per definire e distribuire in modo coerente l'infrastruttura cloud.
- Ambiente di runtime e distribuzione
- Interfacce self-service, ad esempio un portale per sviluppatori e un'interfaccia della riga di comando o API
- Pipeline CI/CD per automatizzare compilazioni, test e distribuzioni.
- Strumenti di sicurezza e conformità (gestione delle identità, gestione dei segreti e criteri)
- Accesso e governance basati sui ruoli
- Strumenti di osservabilità e monitoraggio per log, metriche e tracce.
La maggior parte di questi sono componenti di Microsoft Dev Box, che lo rende una scelta premium come IDP per un'organizzazione.
Microsoft Dev Box come parte della piattaforma di sviluppo integrata
Microsoft Dev Box è un servizio gestito che offre workstation sicure ospitate nel cloud completamente configurate e pronte per lo sviluppo. Queste macchine virtuali sono progettate per adattarsi perfettamente ai flussi di lavoro IDP.
Ecco come Dev Box è allineato agli obiettivi di progettazione della piattaforma:
- Provisioning self-service: Gli sviluppatori possono distribuire i propri Dev Box da un portale senza attendere il reparto IT nell'infrastruttura standardizzata
- Ambienti personalizzabili con ambito progetto per progetti e team diversi
- Ambienti preconfigurati e standardizzati: Teams può creare e gestire immagini di base con SDK, dipendenze e strumenti preinstallati.
- Sicurezza e governance: Dev Box si integra con Microsoft Entra ID (in precedenza Azure AD), Microsoft Intune e il controllo degli accessi in base al ruolo per garantire la conformità.
- Supporto dell'interfaccia della riga di comando e dell'API: i computer Dev Boxes possono essere distribuiti e gestiti tramite API, rendendoli scriptabili e automatizzabili per i team della piattaforma che incorporano Dev Box in flussi di lavoro più grandi.
Vantaggi strategici dell'uso di Dev Box in un modello di progettazione della piattaforma
L'integrazione di Dev Box nella strategia della piattaforma offre diversi vantaggi:
- Inserimento accelerato: i nuovi assunti possono ottenere un ambiente di sviluppo pronto in pochi minuti, riducendo i tempi di configurazione.
- Ambienti standardizzati: gli sviluppatori lavorano in ambienti coerenti, riducendo al minimo i problemi di "funziona sulla mia macchina".
- Accesso sicuro e controllo: Dev Boxes può essere controllato strettamente usando i controlli di Azure e Microsoft 365.
- Efficienza dei costi: Dev Boxes può essere arrestato o eliminato quando non è in uso, ottimizzando la spesa per il cloud.
Vantaggio | Descrizione |
---|---|
Onboarding più rapido | I nuovi sviluppatori possono creare ambienti di sviluppo completamente caricati in pochi minuti. |
Sicurezza e governance | La gestione centralizzata delle identità, l'accesso basato sui ruoli e i criteri garantiscono che i computer Dev Box soddisfino gli standard di conformità. |
Consistenza | Tutti i membri del team usano strumenti e ambienti standardizzati. |
Integrazione | Dev Box si integra con i flussi di lavoro IDP (CI/CD, Git, monitoraggio). |
Esperienza sviluppatore | Gli sviluppatori ottengono flessibilità con il supporto multimonitor, l'accesso remoto, la risoluzione dei problemi fai da te (DIY) e i diritti di amministratore completi (se abilitati). |