Condividi tramite


Quali sono i modelli di contenitore di sviluppo per il database SQL di Azure?

Si applica a: Database SQL di Azure

I contenitori di sviluppo offrono una soluzione completa per migliorare lo sviluppo locale per il database SQL di Azure. I modelli di contenitore di sviluppo offrono agli sviluppatori un ambiente di sviluppo semplice ed efficiente, consentendo loro di creare applicazioni per il database SQL di Azure con facilità e sicurezza.

I contenitori di sviluppo possono essere usati in qualsiasi ambiente di sviluppo, sia locale che nel cloud, consentendo di promuovere la coerenza tra team e flussi di lavoro.

Diagramma che mostra il database SQL di Azure con l'esperienza di sviluppo locale dei contenitori di sviluppo.

I modelli di contenitore di sviluppo per il database SQL di Azure semplificano il processo di sviluppo fornendo ambienti preconfigurati che eliminano la necessità di configurarli manualmente. Gli sviluppatori possono iniziare a scrivere codice immediatamente con tutti gli strumenti e le dipendenze necessari, usando i linguaggi di programmazione più diffusi. Questi modelli sono compatibili con Visual Studio Code e GitHub Codespaces, consentendo una transizione fluida dallo sviluppo locale agli ambienti cloud.

L'ambiente di sviluppo locale imita il database SQL di Azure, consentendo di gestire i dati e testare le applicazioni in modo efficiente. Una volta pronto, GitHub Actions automatizza il processo di distribuzione, trasferendo facilmente l'applicazione ad App Web statiche di Azure o al servizio app Web di Azure e al database SQL di Azure. Questo flusso di lavoro semplificato migliora la produttività, riduce il tempo di configurazione e garantisce coerenza tra ambienti locali e di produzione, consentendo di offrire applicazioni di alta qualità più velocemente.

Suggerimento

Un'azione GitHub e un'attività di Azure DevOps sono disponibili in devcontainers/ci per l'esecuzione di un contenitore di sviluppo di un repository in compilazioni di integrazione continua (CI). In questo modo è possibile riutilizzare la stessa configurazione usata per lo sviluppo locale anche per compilare e testare il codice in CI.

Il video seguente offre una panoramica esclusiva dei modelli più recenti di Dev Container per database SQL di Azure, illustrando i vantaggi e le funzionalità che migliorano l'esperienza di sviluppo locale:


Come funzionano i contenitori di sviluppo

I contenitori di sviluppo sono ambienti preconfigurati e containerizzati, progettati per offrire un'esperienza di sviluppo coerente indipendentemente dal punto in cui vengono usati. Usano la specifica del contenitore di sviluppo (devcontainer.json) per definire gli strumenti, le impostazioni e le configurazioni necessari per l'ambiente di sviluppo.

Componenti principali

  • Docker: fornisce la tecnologia dei contenitori di base per creare ambienti isolati.
  • VS Code: funge da ambiente di sviluppo integrato (IDE) che interagisce con i contenitori di sviluppo.
  • GitHub Codespaces: estende i contenitori di sviluppo al cloud, consentendo lo sviluppo da qualsiasi dispositivo con un browser.

Passaggi per iniziare

  • Inizializzazione: gli sviluppatori iniziano con un modello di contenitore di sviluppo che include tutte le configurazioni necessarie.
  • Configurazione dell'ambiente: il contenitore viene compilato usando Docker, configurando l'ambiente in base alle specifiche devcontainer.json.
  • Codifica e test: gli sviluppatori scrivono e testano il codice all'interno di questo ambiente coerente, garantendo la compatibilità con la configurazione di produzione finale.
  • Distribuzione: al termine dello sviluppo e del test, l'applicazione può essere distribuita senza problemi usando pipeline CI/CD come GitHub Actions.

Database SQL di Azure e contenitori di sviluppo

I contenitori di sviluppo sono utili per lo sviluppo di database SQL di Azure, in quanto affrontano sfide comuni e migliorano il flusso di lavoro complessivo, dato che gli sviluppatori si trovano di fronte a problemi significativi nella creazione di ambienti di sviluppo locali efficienti per il database SQL di Azure:

  • Mancanza di compatibilità: discrepanze tra gli ambienti di sviluppo locale e di produzione.
  • Complessità dell'installazione: installazioni e configurazioni manuali dispendiose in termini di tempo.
  • Dipendenza dalle risorse cloud: aumento dei costi del cloud e dipendenza dalla connettività Internet.
  • Integrazione limitata: mancanza di integrazione con gli strumenti di sviluppo di Azure esistenti.

I modelli di contenitore di sviluppo specializzati per il database SQL di Azure consentono di colmare questo divario, migliorando l'esperienza di sviluppo e semplificando i flussi di lavoro all'interno dell'ecosistema di Azure.

Vantaggi dei contenitori di sviluppo per il database SQL di Azure

I contenitori di sviluppo semplificano il ciclo di vita di sviluppo, consentendo agli sviluppatori di concentrarsi sulla codifica e sui test senza preoccuparsi della configurazione dell'ambiente. Questa efficienza porta a iterazioni più veloci, applicazioni di qualità superiore e un ridotto time-to-market per le applicazioni basate sul database SQL di Azure, offrendo alle aziende un vantaggio competitivo.

Lo sviluppo locale con contenitori di sviluppo riduce i costi del cloud associati allo sviluppo e ai test negli ambienti Azure. Questa ottimizzazione delle risorse migliora l'efficienza dei costi e la scalabilità. Gli sviluppatori possono passare facilmente dallo sviluppo locale agli ambienti Azure, usando la scalabilità e l'affidabilità del database SQL di Azure per le distribuzioni nella produzione senza incorrere in costi non necessari.

I contenitori di sviluppo supportano scenari di sviluppo nativi del cloud, allineati con architetture e framework applicativi moderni. In questo modo si garantisce la compatibilità con il database SQL di Azure e si facilita la distribuzione in ambienti Azure. Grazie all'adozione delle tendenze native del cloud, il database SQL di Azure si posiziona come la piattaforma preferita per le applicazioni moderne e native del cloud, favorendo l'adozione a lungo termine e la crescita dei ricavi.

Per apprezzare appieno il ruolo dei contenitori di sviluppo nei progetti del database SQL di Azure, considerare le funzionalità chiave seguenti che migliorano e semplificano il processo di sviluppo:

Estensioni di Visual Studio Code

  • ms-mssql.mssql: estensione SQL Server per la connessione e l'esecuzione di query sui database SQL.
  • ms-mssql.sql-database-projects: estensione per la gestione dei progetti di database SQL, che consente modifiche e distribuzione semplificate dello schema.
  • github.copilot: completamento del codice basato su intelligenza artificiale per una maggiore produttività.
  • ms-azuretools.vscode-docker: estensione Docker per la gestione dei contenitori direttamente da Visual Studio Code.
  • github.codespaces: estensione per l'uso di GitHub Codespaces.
  • ms-azuretools.vscode-docker: estensione Docker per la gestione dei contenitori.

Suggerimento

Sono disponibili altre estensioni, a seconda del modello scelto.

Ambiente preconfigurato

Tutti gli strumenti e le utilità seguenti vengono precaricati nel contenitore di sviluppo. Non è necessario scaricare o installare altro.

  • .NET/.NET Aspira/Node/Python: l'ambiente include il linguaggio di programmazione/framework preferito preinstallato e configurato, pronto per lo sviluppo.
  • Interfaccia della riga di comando di Azure: strumenti per la gestione delle risorse e delle distribuzioni di Azure.
  • Azure Developer CLI: un'interfaccia a riga di comando che fornisce un'esperienza di scripting unificata per la gestione e lo sviluppo delle risorse di Azure.
  • Interfaccia della riga di comando di Docker: consente la compilazione e la gestione di contenitori Docker dall'interno di un altro contenitore.
  • Database SQL di Azure: il database library è stato creato e convalidato ed è pronto per l'uso. Questo database offre la compatibilità completa con il database SQL di Azure.
  • SQLCMD: utilità della riga di comando che è possibile usare per interagire con il database, eseguire query e altro ancora.
  • SqlPackage: utilità della riga di comando per la distribuzione delle modifiche del database, inclusi gli aggiornamenti dello schema e le migrazioni dei dati.

Importante

Anche se il contenitore usa ora l'immagine mcr.microsoft.com/azure-sql-edge, progettata per scenari di edge computing e che offre un subset delle funzionalità di SQL Server insieme all'intelligenza artificiale predefinita, tutto lo sviluppo del database all'interno di questo contenitore di sviluppo può comunque essere convalidato per il database SQL di Azure usando il progetto di database SQL. Il progetto di database SQL è preconfigurato con la piattaforma di destinazione impostata come database SQL di Azure.

Attività in Visual Studio Code

Set di attività predefinite in Visual Studio Code per semplificare le azioni comuni:

  • 1. Verificare lo schema e i dati del database: apre ed esegue un file SQL per convalidare lo schema del database.
  • 2. Compilare il progetto di database SQL: compila il progetto di database SQL usando dotnet build.
  • 3. Pubblicare il progetto di database SQL: pubblica il progetto di database SQL nel contenitore di database.

Suggerimento

Sono disponibili attività specifiche, a seconda del modello scelto.

Modelli disponibili

I modelli di contenitore di sviluppo per il database SQL di Azure sono disponibili per i linguaggi di programmazione/framework seguenti:

Linguaggio di programmazione/Framework Descrizione
.NET Un ambiente di sviluppo per .NET e Azure SQL, che consente lo sviluppo e il test locali semplificati.
.NET Aspire Un ambiente di sviluppo per .NET Aspirare e Azure SQL, che consente lo sviluppo e il test locali semplificati.
Node.js Un ambiente di sviluppo per Node.js (JavaScript) e Azure SQL, che consente lo sviluppo e il test locali semplificati.
Python Un ambiente di sviluppo per Python e Azure SQL, che consente lo sviluppo e il test locali semplificati.

Suggerimento

Ogni modello è dotato di un database SQL di Azure preconfigurato, per cui è facile iniziare subito lo sviluppo.