¿Qué son las plantillas de contenedor de desarrollo para base de datos de Azure SQL?

Se aplica a: Azure SQL Database

Los contenedores de desarrollo proporcionan una solución completa para mejorar el desarrollo local para base de datos de Azure SQL. Las plantillas de contenedor de desarrollo ofrecen a los desarrolladores un entorno de desarrollo sin problemas y eficiente, lo que les permite compilar aplicaciones para base de datos de Azure SQL con facilidad y confianza.

Los contenedores de desarrollo se pueden usar en cualquier entorno de desarrollo, ya sea local o en la nube, puede promover la coherencia entre equipos y flujos de trabajo.

Diagrama que muestra base de datos de Azure SQL con la experiencia de desarrollo local de contenedores de desarrollo.

Las plantillas de contenedor de desarrollo para base de datos de Azure SQL simplifican el proceso de desarrollo proporcionando entornos preconfigurados que eliminan la necesidad de configuración manual. Los desarrolladores pueden empezar a codificar inmediatamente con todas las herramientas y dependencias necesarias, mediante lenguajes de programación populares. Estas plantillas son compatibles con Visual Studio Code y GitHub Codespaces, lo que permite una transición sin problemas del desarrollo local a los entornos en la nube.

El entorno de desarrollo local imita base de datos de Azure SQL, lo que le permite administrar datos y probar aplicaciones de forma eficaz. Una vez listo, Acciones de GitHub automatiza el proceso de implementación, realizando la transición sin problemas de la aplicación a Azure Static Web Apps o Azure Web App Service y base de datos de Azure SQL. Este flujo de trabajo optimizado mejora la productividad, reduce el tiempo de instalación y garantiza la coherencia entre entornos locales y de producción, lo que le ayuda a ofrecer aplicaciones de alta calidad más rápido.

Sugerencia

Una acción de GitHub y una tarea de Azure DevOps están disponibles en devcontainers/ci para ejecutar el contenedor de desarrollo de un repositorio en compilaciones de integración continua (CI). Esto le permite reutilizar la misma configuración que se usa para el desarrollo local para compilar y probar el código en CI.

Cómo funcionan los contenedores de desarrollo

Los contenedores de desarrollo están preconfigurados y en contenedores diseñados para proporcionar una experiencia de desarrollo coherente, independientemente de dónde se usen. Usan la especificación de contenedor de desarrollo (devcontainer.json) para definir las herramientas, la configuración y las configuraciones necesarias para el entorno de desarrollo.

Componentes claves

  • Docker: proporciona la tecnología de contenedor subyacente para crear entornos aislados.
  • VS Code: actúa como entorno de desarrollo integrado (IDE) que interactúa con contenedores de desarrollo.
  • GitHub Codespaces: amplía los contenedores de desarrollo a la nube, lo que permite el desarrollo desde cualquier dispositivo con un explorador.

Pasos para comenzar

  • Inicialización: los desarrolladores comienzan con una plantilla de contenedor de desarrollo que incluye todas las configuraciones necesarias.
  • Configuración del entorno: el contenedor se compila mediante Docker, configurando el entorno en función de las especificaciones devcontainer.json.
  • Codificación y pruebas: los desarrolladores escriben y prueban código en este entorno coherente, lo que garantiza la compatibilidad con la configuración de producción final.
  • Implementación: una vez completado el desarrollo y las pruebas, la aplicación se puede implementar sin problemas mediante canalizaciones de CI/CD como Acciones de GitHub.

Base de datos de Azure SQL y contenedores de desarrollo

Los contenedores de desarrollo son beneficiosos para el desarrollo de base de datos de Azure SQL mediante la solución de desafíos comunes y la mejora del flujo de trabajo general. A medida que los desarrolladores se enfrentan a importantes desafíos en la configuración de entornos de desarrollo local eficaces para base de datos de Azure SQL:

  • Falta de compatibilidad: discrepancias entre entornos de desarrollo y producción locales.
  • Complejidad de la instalación: instalaciones y configuraciones manuales que consumen mucho tiempo.
  • Dependencia de los recursos en la nube: aumento de los costos en la nube y la dependencia de la conectividad a Internet.
  • Integración limitada: falta de integración con las herramientas de desarrollo de Azure existentes.

Las plantillas de contenedor de desarrollo especializadas para base de datos de Azure SQL pueden ayudarle a salvar esta brecha, lo que mejora la experiencia de desarrollo y optimiza los flujos de trabajo dentro del ecosistema de Azure.

Ventajas de los contenedores de desarrollo para base de datos de Azure SQL

Los contenedores de desarrollo simplifican el ciclo de vida de desarrollo, lo que permite a los desarrolladores centrarse en la codificación y las pruebas sin la molestia de la configuración del entorno. Esta eficiencia conduce a iteraciones más rápidas, aplicaciones de mayor calidad y un tiempo de comercialización reducido para las aplicaciones basadas en base de datos de Azure SQL, lo que ofrece a las empresas un perímetro competitivo.

El desarrollo local con contenedores de desarrollo reduce los costos en la nube asociados al desarrollo y las pruebas en entornos de Azure. Esta optimización de los recursos mejora la rentabilidad y la escalabilidad. Los desarrolladores pueden realizar la transición sin problemas del desarrollo local a los entornos de Azure mediante la escalabilidad y confiabilidad de base de datos de Azure SQL para implementaciones de producción sin incurrir en costos innecesarios.

Los contenedores de desarrollo admiten escenarios de desarrollo nativos de la nube, en consonancia con las arquitecturas y marcos de aplicaciones modernos. Esto garantiza la compatibilidad con base de datos de Azure SQL y facilita la implementación sin problemas en entornos de Azure. Al adoptar tendencias nativas de la nube, colocamos base de datos de Azure SQL como plataforma de elección para aplicaciones modernas nativas de nube, lo que impulsa la adopción a largo plazo y el crecimiento de los ingresos.

Para apreciar completamente el efecto de los contenedores de desarrollo en los proyectos de base de datos de Azure SQL, tenga en cuenta las siguientes características clave que mejoran y simplifican el proceso de desarrollo:

Extensiones de Visual Studio Code

  • ms-mssql.mssql: extensión de SQL Server para conectarse y consultar bases de datos SQL.
  • ms-mssql.sql-database-projects: extensión para administrar proyectos de SQL Database, lo que permite cambios y implementaciones de esquema simplificados.
  • github.copilot: finalización de código con tecnología de inteligencia artificial para mejorar la productividad.
  • ms-azuretools.vscode-docker: extensión de Docker para administrar contenedores directamente desde Visual Studio Code.
  • github.codespaces: extensión para trabajar con GitHub Codespaces.
  • ms-azuretools.vscode-docker: extensión de Docker para administrar contenedores.

Sugerencia

Hay más extensiones disponibles, en función de la plantilla que elija.

Entorno preconfigurado

Todas las herramientas y utilidades siguientes se cargan previamente en el contenedor de desarrollo. No es necesario descargar ni instalar nada más.

  • .NET / .NET Aspire / Node / Python: el entorno incluye el lenguaje de programación o marco preferido preinstalado y configurado, listo para el desarrollo.
  • CLI de Azure: herramientas para administrar los recursos e implementaciones de Azure.
  • Azure Developer CLI: una interfaz de la línea de comandos que proporciona una experiencia de scripting unificada para administrar y desarrollar recursos de Azure.
  • CLI de Docker: permite compilar y administrar contenedores de Docker desde otro contenedor.
  • Base de datos de Azure SQL: la base de datos library se creó y validó y está lista para su uso. Esta base de datos proporciona compatibilidad completa con base de datos de Azure SQL.
  • SQLCMD: una utilidad de la línea de comandos que puede usar para interactuar con la base de datos, ejecutar consultas, etc.
  • SqlPackage: utilidad de la línea de comandos para implementar cambios en la base de datos, incluidas las actualizaciones de esquema y las migraciones de datos.

Importante

Aunque el contenedor ahora usa la imagen mcr.microsoft.com/azure-sql-edge, diseñada para escenarios informáticos perimetrales y ofreciendo un subconjunto de características de SQL Server junto con la inteligencia artificial integrada, todo el desarrollo de bases de datos dentro de este contenedor de desarrollo todavía se puede validar para base de datos de Azure SQL mediante el proyecto de SQL Database. El proyecto de SQL Database está preconfigurado con la plataforma de destino establecida como base de datos de Azure SQL.

Tareas en Visual Studio Code

Un conjunto de tareas predefinidas en Visual Studio Code para simplificar las acciones comunes:

  • 1. Comprobación del esquema y los datos de la base de datos: abre y ejecuta un archivo SQL para validar el esquema de la base de datos.
  • 2. Compilación del proyecto de SQL Database: compila el proyecto de SQL Database mediante dotnet build.
  • 3. Publicación del proyecto de SQL Database: publica el proyecto de SQL Database en el contenedor de base de datos.

Sugerencia

Hay tareas específicas disponibles, en función de la plantilla que elija.

Plantillas disponibles

Las plantillas de contenedor de desarrollo para base de datos de Azure SQL están disponibles para los siguientes lenguajes de programación o marcos:

Lenguaje de programación / Marco Descripción
.NET Un entorno de desarrollo para .NET y Azure SQL, lo que permite el desarrollo y las pruebas locales simplificados.
.NET Aspire Un entorno de desarrollo para .NET Aspire y Azure SQL, lo que permite el desarrollo y las pruebas locales simplificados.
Node.js Un entorno de desarrollo para Node.js (JavaScript) y Azure SQL, lo que permite el desarrollo y las pruebas locales simplificados.
Python Un entorno de desarrollo para Python y Azure SQL, lo que permite el desarrollo y las pruebas locales optimizados.

Sugerencia

Cada plantilla incluye una instancia de base de datos de Azure SQL preconfigurada, lo que facilita el desarrollo de inmediato.