Introducción a la CLI de Aspire: Simplificando el Desarrollo de Aplicaciones .NET Distribuidas

Introducción a la CLI de Aspire: Simplificando el Desarrollo de Aplicaciones .NET Distribuidas

La CLI de Aspire es una herramienta potente y multiplataforma diseñada para optimizar el desarrollo, la gestión y el despliegue de sistemas de aplicación. Ya sea que estés construyendo un sitio web sencillo o una aplicación distribuida a escala empresarial con microservicios, colas y bases de datos, la CLI de Aspire ofrece una experiencia interactiva prioritaria para ayudarte a crear, ejecutar y publicar tus proyectos con facilidad. Su objetivo principal es abstraer la complejidad inherente a la configuración de entornos distribuidos, permitiendo a los desarrolladores centrarse más en la lógica de negocio y menos en la infraestructura subyacente.

1. Instalación de la CLI de Aspire

Antes de comenzar, es fundamental asegurarte de tener el SDK de .NET 9.0 instalado en tu sistema. Sin este requisito previo, la CLI de Aspire no podrá funcionar correctamente.

Existen dos métodos principales para instalar la CLI de Aspire, con instrucciones detalladas tanto para sistemas Windows como para sistemas basados en Unix (Linux/macOS):

a. Como Ejecutable Nativo

Windows

Para usuarios de Windows, la instalación se realiza fácilmente a través de PowerShell. Abre una ventana de PowerShell y ejecuta el siguiente comando:

Invoke-Expression "& { $(Invoke-RestMethod https://aspire.dev/install.ps1) }"

Por defecto, este script instala la CLI de Aspire en la ruta %USERPROFILE%\ Aspire\bin. Si necesitas personalizar la ruta de instalación o especificar una versión concreta de Aspire, puedes explorar las opciones adicionales del script en la documentación oficial.

Unix (Linux/macOS)

Para sistemas Unix, como Linux o macOS, la instalación se realiza mediante un script de shell. Abre tu terminal preferida y ejecuta:

curl -sSL https://aspire.dev/install.sh | bash

Similar a Windows, esta instalación por defecto ubicará la CLI de Aspire en $HOME/.aspire/bin. Si deseas una ubicación diferente o una versión específica, consulta la documentación oficial para conocer las opciones de personalización.

b. Como Herramienta Global de .NET (Multiplataforma)

Una alternativa, que funciona de manera consistente tanto en Windows como en sistemas Unix, es instalar la CLI de Aspire como una herramienta global de .NET. Esto se logra con un simple comando:

dotnet tool install -g Aspire.Cli --prerelease

Este método asegura que la herramienta esté disponible globalmente en tu entorno .NET.

Para validar que tu instalación ha sido exitosa y que la CLI de Aspire está lista para usarse, ejecuta:

aspire --version

Si la consola muestra un número de versión, ¡felicidades, estás listo para empezar a desarrollar con Aspire!

2. Creación de un Nuevo Proyecto con Plantillas

La CLI de Aspire simplifica enormemente el inicio de nuevos proyectos gracias a su sistema de plantillas. Simplemente ejecuta el comando:

aspire new

Este comando inicia una experiencia interactiva en la que puedes elegir intuitivamente una plantilla de proyecto, asignarle un nombre y seleccionar la carpeta de salida deseada. Esta interactividad hace que el proceso sea rápido y sin errores.

Las plantillas disponibles actualmente con la CLI de Aspire cubren una variedad de escenarios:

  • Starter template: Una colección de proyectos .NET que demuestran un sistema sencillo funcionando con Aspire, ideal para principiantes.
  • AppHost and service defaults: Crea una solución con un proyecto AppHost (el orquestador) y un proyecto de valores predeterminados de servicio, proporcionando una configuración lista para ejecutar una aplicación distribuida.
  • AppHost: Genera únicamente el proyecto AppHost, que actúa como el punto de entrada y el cerebro de orquestación para tu aplicación distribuida, definiendo sus componentes y cómo interactúan.
  • Service defaults: Configura un proyecto con valores predeterminados recomendados para la construcción de microservicios y sitios web con .NET. Incluye las mejores prácticas para configuración y dependencias, y está pensado para ser incluido en otros proyectos.
  • Integration tests: Proporciona una plantilla específica para escribir pruebas de integración con .NET, facilitando la validación conjunta de los componentes de tu aplicación distribuida.

La CLI se encarga de descargar las últimas plantillas y generar la estructura de tu proyecto, permitiéndote comenzar a codificar de inmediato.

3. Adición de Integraciones y Paquetes

Para añadir paquetes de integración oficiales (como bases de datos, sistemas de mensajería, etc.) a tu proyecto AppHost, utiliza el comando:

aspire add

Con este comando, tienes la flexibilidad de especificar directamente el nombre del paquete o su ID de NuGet como argumento de línea de comandos. Alternativamente, la CLI te presentará una lista interactiva de opciones, completa con búsqueda predictiva (type-ahead), lo que simplifica enormemente la adición de dependencias sin necesidad de abandonar tu terminal.

Un ejemplo de la selección de paquetes de integración interactiva podría ser:

🔍  Finding app hosts...
testAspire\testAspire.AppHost\testAspire.AppHost.csproj

🗄  Created settings file at '.aspire/settings.json'.
Select an integration to add:

  azure-cosmosdb (Aspire.Hosting.Azure.CosmosDB)
  azure-eventhubs (Aspire.Hosting.Azure.EventHubs)
  azure-functions (Aspire.Hosting.Azure.Functions)
  azure-keyvault (Aspire.Hosting.Azure.KeyVault)
  azure-operationalinsights (Aspire.Hosting.Azure.OperationalInsights)
> azure-postgresql (Aspire.Hosting.Azure.PostgreSQL)
  azure-redis (Aspire.Hosting.Azure.Redis)
  azure-search (Aspire.Hosting.Azure.Search)
  azure-servicebus (Aspire.Hosting.Azure.ServiceBus)
  azure-signalr (Aspire.Hosting.Azure.SignalR)

(Type to search)
(Move up and down to reveal more choices)

Esta capacidad agiliza la configuración de tu aplicación distribuida, conectándola fácilmente a servicios externos.

4. Ejecución y Depuración de Tu Aplicación

Para iniciar tu aplicación en modo de desarrollo y comenzar a depurarla, utiliza el comando:

aspire run

Este comando ejecuta varias acciones cruciales de forma coordinada:

  • Configura el entorno de Aspire.
  • Construye y arranca todos los recursos definidos por tu AppHost.
  • Lanza automáticamente el Dashboard de Aspire, una interfaz gráfica esencial para la monitorización.
  • Imprime una lista de los puntos finales (endpoints) disponibles para tus servicios.

Verás una salida en tu terminal similar a esta:

Dashboard:  https://localhost:17178/login?t=...
Logs:  .../.aspire/cli/logs/apphost-...log

El Dashboard de Aspire se convierte en tu centro de control, desde donde puedes visualizar registros de la aplicación (logs), métricas de rendimiento y un diagrama de red interactivo que muestra la relación entre los recursos de tu sistema. Esto proporciona una visión completa del estado y comportamiento de tu aplicación.

Además, los registros de Aspire se escriben en disco, lo cual es invaluable si necesitas examinar en detalle cómo se están ejecutando los procesos internos de Aspire para diagnosticar problemas.

5. Publicación de Tu Aplicación

Actualmente, la funcionalidad de publicación se encuentra en fase de previsualización y está en constante desarrollo. Cuando tu aplicación esté lista para ser desplegada, podrás usar el comando:

aspire publish

Este comando tiene la capacidad de serializar tus recursos de aplicación en formatos compatibles con diversas herramientas de despliegue. Dependiendo de las integraciones que hayas configurado en tu proyecto, puede generar los activos necesarios para el despliegue en plataformas como Azure, configuraciones para Docker Compose o manifiestos para Kubernetes, facilitando así el proceso de puesta en producción de tus aplicaciones distribuidas.

Es importante señalar que, aunque existe un comando deploy disponible, actualmente no tiene ninguna funcionalidad asociada implementada.

Conclusión y Llamada a la Acción

La CLI de Aspire representa tu puerta de entrada para construir aplicaciones .NET modernas y distribuidas con una velocidad y confianza sin precedentes. Desde la creación inicial del proyecto hasta su publicación final, esta herramienta está meticulosamente diseñada para hacer que tu flujo de trabajo sea fluido, eficiente y altamente productivo. Aspire no solo simplifica la complejidad de las arquitecturas distribuidas, sino que también fomenta las mejores prácticas en el desarrollo de aplicaciones nativas de la nube.

Como es costumbre en el ecosistema .NET y Aspire, el código fuente está disponible para la comunidad en nuestro repositorio de GitHub, permitiendo la transparencia y la colaboración.

¿Listo para empezar a innovar?
Instala la CLI de Aspire hoy mismo y comienza a construir tu próxima gran aplicación distribuida con .NET.

Author: Enagora

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *