Desarrollo de Azure con Visual Studio

El desarrollo de aplicaciones puede ser más fácil si usa servicios en la nube para controlar muchos problemas que, de lo contrario, tendría que implementar. Cuando se usan servicios en la nube hospedados en la nube de Azure, se emplea un entorno de nube confiable y de alta disponibilidad administrado por Microsoft para controlar gran parte de la infraestructura que necesitan muchas aplicaciones y servicios, de modo que pueda centrar los esfuerzos de desarrollo en lo que es único para la aplicación.

En este artículo, descubrirá cómo Visual Studio puede ayudar con el desarrollo de Azure, tanto si está poniendo en marcha un sitio web, conectándose a servicios, como almacenamiento, bases de datos o administración de secretos, o usando servicios que agregan valor, como el almacenamiento en caché.

Muchas suscripciones a Visual Studio incluyen créditos individuales de Desarrollo/pruebas Azure Dev/Test. Si es suscriptor de Visual Studio, puede utilizar estos créditos para probar varios servicios de Azure sin coste alguno. Si no está abonado y no dispone de una suscripción a Azure, puede crear una cuenta gratuita.

Puede hospedar las aplicaciones web en Azure y escalar horizontalmente dinámicamente para atender un mayor número de usuarios simultáneos, en lugar de sobrecargar una infraestructura limitada. El hospedaje en Azure permite usar el ecosistema enriquecido de servicios que proporciona la plataforma Azure. Las aplicaciones se pueden administrar con más facilidad mediante servicios enriquecidos como App Service o para aplicaciones en contenedores, Azure Container Apps.

En el caso de las aplicaciones locales, puede asociarse a Azure para obtener las ventajas de algunos servicios específicos de Azure, como el almacenamiento de blobs, las bases de datos hospedadas en Azure, la supervisión a través de App Insights, la administración de identidades y mucho más.

Visual Studio tiene muchas funcionalidades que pueden facilitar el desarrollo de aplicaciones que se conectan a los servicios de Azure o que se implementan en Azure y se hospedan en la nube de Azure. Visual Studio proporciona mecanismos para facilitar la conexión a los servicios durante la fase de desarrollo inicial, así como facilitar la publicación o implementación de una aplicación en Azure y, además, puede conectarse a la aplicación de Azure con el depurador de Visual Studio en la máquina local, lo que facilita la experiencia de depuración para las aplicaciones en la nube, lo que facilita la depuración local.

Tecnologías y lenguajes admitidos

Con Visual Studio, puede desarrollar aplicaciones que se ejecutan en la nube de Azure y conectarse a los servicios de Azure desde las aplicaciones locales, de escritorio y móviles. Visual Studio es el entorno más completo y con más características para que los desarrolladores de Windows conecten aplicaciones .NET y ASP.NET a servicios de Azure. Visual Studio también admite el desarrollo en otras pilas tecnológicas, como Node.js y Python, que se pueden usar para crear sitios web y aplicaciones web que se pueden implementar en Azure mediante la CLI de Azure.

Los desarrolladores de C++ pueden acceder a servicios de Azure, como Azure Storage, mediante una biblioteca cliente de C++ y los desarrolladores de dispositivos IoT que usan C y C++ pueden conectar dispositivos y servicios a Azure. Consulte Programación web y para la nube en Visual C++.

Los usuarios de Azure Cloud Services, admitidos en Visual Studio en muchas versiones anteriores, pueden seguir trabajando con estos servicios en Visual Studio mediante Azure Cloud Services (soporte extendido).

Conexión a los servicios de Azure

Cuando quiera usar un servicio de Azure en la aplicación, normalmente harán falta varios cambios en el proyecto, como en las referencias a paquetes, en el código y en la configuración, así como muchos otros en Azure para especificar los servicios a los que conectarse o crearlos si aún no existen. Visual Studio ayuda a facilitar este proceso, ya que se encarga de realizar esos cambios en el proyecto y en Azure, en función de la información que usted proporcione. Visual Studio también ofrece una lista de todos los cambios, para que puede examinarlos y comprender completamente lo que ha cambiado.

Servicios conectados de Visual Studio es el nombre de los asistentes paso a paso que puede usar para conectar los proyectos (web y locales) a los servicios de Azure. Puede encontrar más información sobre los servicios de Azure a los que puede conectarse y administrar desde Visual Studio en Acerca de los Servicios conectados de Visual Studio.

Puede realizar todas las operaciones de Azure necesarias directamente desde el IDE de Visual Studio a medida que recorre los asistentes de Servicios Conectados. En lugar de usar Azure Portal, puede aprovisionar recursos en Azure, crear grupos de recursos, examinar y ver los recursos de Azure e implementar las aplicaciones y los servicios. Una vez que el proyecto está conectado a servicios de Azure o implementado, la pestaña Servicios Conectados muestra información sobre los recursos y contiene prácticos vínculos a las implementaciones. Consulte Trabajo con Azure en Visual Studio.

Implementación de las aplicaciones en la nube de Azure

Con Visual Studio, puede implementar la aplicación en Azure, a petición, con el clic de un botón. Esta comodidad es estupenda durante el desarrollo y las pruebas, donde es posible que CI/CD no esté ya configurado. CI/CD (integración continua y entrega continua) es un sistema mediante el cual los cambios locales realizados en el código de la aplicación por los equipos de desarrollo se integran automáticamente en la aplicación implementada que se ejecuta en Azure, sin interrumpir el servicio implementado. Puede usar Azure Pipelines o Acciones de GitHub para configurarlo.

¿Qué va a implementar?

Destino de implementación Documentación
Azure App Service (.NET Core) Implementación de una aplicación web de ASP.NET Core
Azure App Service (.NET Framework) Implementación de una aplicación web de ASP.NET (.NET Framework)
Azure Container Apps Implementación en Azure Container Apps mediante Visual Studio
Azure Functions Cree su primera función C# en Azure con Visual Studio
Azure Container Registry Implementación de un contenedor ASP.NET en un registro de contenedor con Visual Studio

Si necesita ayuda para configurar CI/CD para un repositorio de GitHub por primera vez, Visual Studio puede ayudarle a empezar a trabajar con flujos de trabajo de inicio de Acciones de GitHub. Puede encontrar más información en Implementación de una aplicación en Azure mediante flujos de trabajo de Acciones de GitHub creados por Visual Studio. Lea más sobre cómo configurar CI/CD para la implementación en Azure en Implementación continua en Azure App Service.

Depuración en Azure mediante Visual Studio

Puede usar Visual Studio para depurar la aplicación mientras se ejecuta en Azure, de modo que pueda identificar y reproducir problemas en un entorno lo más cercano posible a un entorno de producción. Para las aplicaciones web hospedadas en Azure App Service, consulte Depuración remota ASP.NET Core en Azure App Service. Para Azure Functions, consulte Desarrollo de Azure Functions con Visual Studio: depuración remota.

Si usa una máquina virtual (VM) para hospedar una aplicación web de ASP.NET Core, consulte Depuración remota ASP.NET Core en IIS mediante una máquina virtual de Azure desde Visual Studio.

Uso de las características integradas de Azure

Al ejecutarse en la nube de Azure, las aplicaciones pueden beneficiarse de los estándares de alta disponibilidad de Azure, las capacidades de escalabilidad vertical y escalabilidad horizontal, la supervisión, la prueba de carga y otras ventajas. Visual Studio se integra con funcionalidades de Azure, como la depuración remota, la visualización de registros, etc.

Ahorrar dinero con compatibilidad con emulación local

Durante la fase de desarrollo, puede experimentar y desarrollar con emuladores locales de servicios de Azure para mayor comodidad y ahorro de costos y, posteriormente, implementarlos en Azure. Puede encontrar más información en Configuraciones locales y conectadas.

Compatibilidad con Docker

También puede trabajar con Docker para contenedorizar las aplicaciones y los servicios. El uso de contenedores de Docker proporciona un sistema operativo y un entorno coherentes y reproducibles para las aplicaciones en ejecución. Visual Studio proporciona la misma experiencia familiar al depurar contenedores, le ayuda a supervisar y administrar el ciclo de vida de los contenedores localmente y puede implementar los contenedores en un registro de contenedores.

Una vez que ha contenedorizado la aplicación, es fácil implementar los contenedores en Azure mediante servicios como Azure App Service o Azure Container Apps.

Conexión de aplicaciones a Azure Storage y servicios de base de datos

La administración de archivos y datos puede ser mucho más fácil con Azure Storage, que es un servicio de almacenamiento de alta disponibilidad, escalable, duradero y seguro para todo tipo de objetos de datos en la nube. Puede usar Azure Storage para almacenar todo y hacer que esté disponible para los sitios web, las aplicaciones de escritorio o las aplicaciones móviles.

Azure también ofrece muchos servicios de datos diferentes adecuados a diferentes necesidades, desde una SQL Database hospedada en la nube que facilita la transición desde una instancia local de SQL Server, hasta soluciones de macrodatos que se pueden escalar verticalmente para adaptarse a requisitos más exigentes.

Conectar a Azure Storage

  • Almacenamiento y recuperación de un blob
  • Administrar archivos
  • Implementación de mensajería mediante colas
  • Administración de datos NoSQL estructurados

Puede consultar más información en Azure Storage y conocer cómo conectarse a Azure Storage con Visual Studio.

Conectarse a bases de datos

Conectarse a Azure SQL Database y a otras soluciones de bases de datos de Azure, como Azure Cosmos DB , es tan fácil como conectarse a un SQL Server local. Para más información, consulte Bases de datos y proveedores de datos.

Conexión a servicios web y de datos

Los proveedores de datos están poniendo a disposición servicios a través de protocolos estándar, como el Open Data Protocol (OData) y gRPC. Puede conectarse a estos servicios o, si va a crear servicios web por su cuenta, puede elegir ASP.NET Web API, Azure Functions o Azure API Management, y agregar esas conexiones. Para obtener una lista de los servicios y protocolos admitidos y cómo conectarse a ellos, consulte Conexión de la aplicación a puntos de conexión gRPC, OpenAPI y WCF.

Escenarios de aplicaciones web de ASP.NET Core

ASP.NET Core proporciona una solución completa para sitios web sencillos y aplicaciones web complejas. Los servicios de Azure pueden ayudar a satisfacer muchas de las necesidades y resolver muchos de los desafíos que surgen en el desarrollo de aplicaciones web y sitios web. Las aplicaciones web de ASP.NET usan con frecuencia JavaScript del lado cliente.

Diagrama de la arquitectura de aplicaciones web.

Conexión a Azure Cache for Redis

Azure Cache for Redis proporciona un almacén de datos en memoria para servicios de Azure, sitios web y aplicaciones web. Puede usar Azure Cache for Redis como caché de contenido o datos distribuidos, un almacén de sesiones, un agente de mensajes y mucho más. Entre los escenarios compatibles, se incluyen:

  • Almacenamiento en caché de los datos procedentes de una API (y, por tanto, reducción de las llamadas API)
  • Almacenamiento en caché de la salida (esto puede reducir el uso de CPU)
  • Almacenamiento en caché del estado de la sesión

Puede encontrar más información en ¿Qué es Azure Cache for Redis? o empiece a trabajar con Conexión a Azure Cache for Redis mediante los Servicios conectados de Visual Studio.

Autenticar usuarios

La mayoría de los sitios web necesitan algún tipo de mecanismo de autenticación y administración de usuarios, ya sea específico del sitio o proporcionado por un proveedor de identidades con el que un usuario tenga una cuenta existente. La autenticación de usuario integrada se admite en Azure App Service. Encuentre más información en Autenticación y autorización en App de Azure Service y Azure Functions y empiece a trabajar con Incorporación de la autenticación de aplicación a una aplicación web en Azure App Service. Microsoft Entra ID (anteriormente conocido como Azure Active Directory) es un servicio de administración de identidades basado en la nube con numerosas características. Más información en ¿Qué es Microsoft Entra?

Entre los proveedores de autenticación admitidos se encuentran:

  • Cuentas sociales: Facebook, Google, cuenta de Microsoft y otras
  • Cuentas de Microsoft Entra (de un solo inquilino)
  • Cuentas de Microsoft Entra (de varios inquilinos diferentes)

Aprenda a usar estos servicios en las aplicaciones en Conexión a Microsoft Entra ID mediante los Servicios conectados de Visual Studio.

App Configuration

Es posible que la aplicación web ASP.NET implementada en Azure necesite configuración en todos los entornos (prueba, pruebas de aceptación del usuario (UAT), preproducción y producción). Puede administrar esta configuración mediante Azure App Configuration. Descubra cómo conectar las aplicaciones a Azure App Configuration en Conexión a Azure App Configuration mediante Servicios conectados de Visual Studio.

Administración de secretos

El almacenamiento seguro de contraseñas y otros secretos, como claves de acceso a bases de datos y tokens para proveedores de API, es un problema común para el que Azure Key Vault proporciona una solución segura. Puede usar Azure Key Vault para almacenar los secretos de la aplicación que se ejecuta en Azure y también durante el desarrollo; y puede usar Key Vault en Azure o un almacén local (secrets.json) para la ejecución, las pruebas y la depuración locales. Empiece durante el diseño y el desarrollo sin depender de la nube, pero luego pase a las fases posteriores de pruebas y producción sin interrupciones. Encuentre más información en Azure Key Vault y empiece a trabajar en Conexión de Key Vault a la aplicación web mediante Servicios conectados de Visual Studio.

Migración de datos con Entity Framework

Visual Studio ayuda a resolver el problema de desarrollar la aplicación y cambiar una base de datos localmente para posteriormente sincronizarla con una base de datos de producción en Azure.

En el caso de las aplicaciones web de ASP.NET que usan Azure SQL Database y Entity Framework, al realizar cambios locales en la base de datos, puede insertar esos cambios de esquema y los cambios de datos en Azure de forma estructurada mediante migraciones de Entity Framework. Consulte Migraciones de Entity Framework.

Servicios de trabajo

Las aplicaciones web de ASP.NET pueden beneficiarse de la ejecución de servicios de trabajo. No hay ningún costo adicional por ejecutar un servicio de trabajo en una instancia de App Service existente, y puede ser un reemplazo directo de los servicios de Windows que podría ejecutar en el entorno local o en una máquina virtual. Consulte Servicios de trabajo en .NET.

Otras tecnologías de aplicaciones web

Los desarrolladores que usan JavaScript y Python pueden usar Visual Studio o Visual Studio Code para el desarrollo de Azure. Con cualquiera de los entornos de desarrollo, instale la CLI de Azure y siga los tutoriales de la documentación de la CLI de Azure. Busque también guías de inicio rápido y tutoriales en la documentación de cada servicio de Azure que le ayudarán a agregar el código de conexión manualmente.

Node.js ofrece otra opción para el desarrollo de aplicaciones web con JavaScript del lado servidor. Encuentre más información en ¿Qué es Azure para desarrolladores de JavaScript?y empiece a trabajar con Implementación de una aplicación web de Node.js en Azure.

Python es un lenguaje cada vez más popular que, al usar marcos web Django y Flask, es otra forma de desarrollar aplicaciones web. Consulte Introducción a Python en Azure.

Esta sección puede ayudarle a saber qué servicios de Azure pueden ser útiles. Empiece por estos inicios rápidos que muestran cómo empezar a trabajar con cada servicio mediante Visual Studio como herramienta de desarrollo. Estos vínculos le llevan a la documentación de cada servicio de Azure, comenzando en una página orientada a los usuarios de Visual Studio (siempre que esté disponibles).

Si no está seguro de qué servicio de Azure podría ajustarse mejor a sus necesidades, pruebe Azure App Service.

Los desencadenadores son eventos que se configuran para ejecutar código cuando se dan ciertas condiciones. Se pueden programar según un temporizador, o bien se pueden configurar para responder a mensajes en una cola, eventos dentro de otros servicios de Azure o enlaces web. Si necesita desencadenadores, pruebe Azure Functions.

Si necesita contenedores sencillos, pruebe Azure Container Apps.

Si necesita contenedores avanzados, pruebe Azure Kubernetes Service.

Si quiere agregar control sobre las API, pruebe Azure API Management.

Si quiere admitir varias conexiones de cliente largas, pruebe Azure SignalR Service.

Si va a desarrollar aplicaciones distribuidas complejas y necesita orquestación entre muchos servicios, pruebe .NET Aspire.

Pasos siguientes

Descubra más sobre los servicios de Azure que podrían interesarle en Servicios de Azure.

Obtenga consejos de arquitectura para el desarrollo de Azure en el Centro de arquitectura de Azure.

Para trabajar en Azure Cloud Services heredado, consulte Azure Cloud Services : soporte extendido.