Administración de aplicaciones en varios entornos

Los clústeres de Azure Service Fabric le permiten crear clústeres con cualquier número de máquinas, desde una sola máquina a miles de ellas. En la mayoría de los casos, se verá en la necesidad de implementar la aplicación en varias configuraciones de clúster: el clúster de desarrollo local, un clúster de desarrollo compartido y el clúster de producción. Todos estos clústeres se consideran distintos entornos en los que tiene que ejecutarse el código. Aunque los archivos binarios de la aplicación se pueden ejecutar sin modificaciones en este amplio espectro, con frecuencia querrá configurar la aplicación de manera diferente.

Considere estos dos sencillos ejemplos:

  • El servicio escucha en un puerto definido, pero es necesario que ese puerto sea diferente entre los entornos.
  • Debe proporcionar credenciales de enlace para una base de datos que sea diferente entre los entornos.

Especificación de la configuración

La configuración que proporcione se puede dividir en dos categorías:

  • Configuración que se aplica a cómo se ejecutan los servicios
    • Por ejemplo, el número de puerto de un punto de conexión o el número de instancias de un servicio.
    • Esta configuración se especifica en el archivo de manifiesto de servicio o aplicación.
  • Configuración que se aplica al código de aplicación
    • Por ejemplo, la información de enlace para una base de datos.
    • Esta configuración se puede proporcionar a través de archivos de configuración o variables de entorno

Nota:

No todos los atributos del archivo de manifiesto de servicio o aplicación admiten parámetros. En esos casos, tiene que depender de la sustitución de cadenas como parte del flujo de trabajo de implementación. En Azure DevOps puede usar una extensión como Replace Tokens: https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens, o en Jenkins, podría ejecutar una tarea de script para reemplazar los valores.

Especificación de parámetros durante la creación de aplicaciones

Al crear instancias de aplicación con nombre en Service Fabric, tiene la opción de pasar parámetros. La manera de hacerlo depende de cómo cree la instancia de la aplicación.

  • En PowerShell, el cmdlet New-ServiceFabricApplication toma los parámetros de la aplicación como una tabla hash.
  • Mediante sfctl, el comando sfctl application create acepta parámetros como una cadena JSON. El script install.sh script usa sfctl.
  • Visual Studio proporciona un conjunto de archivos de parámetros en la carpeta de parámetros del proyecto de aplicación. Estos archivos de parámetros se usan al realizar la publicación desde Visual Studio, mediante Azure DevOps Services o Azure DevOps Server. En Visual Studio, los archivos de parámetros se van a pasar al script Deploy-FabricApplication.ps1.

Pasos siguientes

En los artículos siguientes se muestra cómo usar algunos de los conceptos aquí descritos: