Muchas organizaciones han empezado a considerar o ya han comenzado a implementar la infraestructura de TI mediante definiciones basadas en código, con frecuencia denominada Infraestructura como código (IaC). El proceso para hacerlo suele implicar los siguientes pasos:
El resultado de la implementación de la IaC es un conjunto de recursos que podrían implementarse correctamente a mano, seleccionando configuraciones y ajustes individuales, pero que a través de la IaC pueden implementarse con una gran coherencia, volver a implementarse automáticamente o modificarse ligeramente para ajustarse a nuevas especificaciones.
Por lo general, ArcGIS es compatible con muchos planteamientos y sistemas de IaC, que con frecuencia están diseñados para funcionar en un entorno o sistema de nube específico, como AWS CloudFormation, las plantillas ARM de Azure o el GCP Cloud Deployment Manager. Esri también crea herramientas para determinados proveedores, en concreto plantillas AWS CloudFormation y plantillas ARM de Azure, que pueden utilizarse como base para una configuración posterior o ampliada.
Una vez implementada la infraestructura mediante un proveedor o una herramienta de IaC, el software ArcGIS puede implementarse manual o automáticamente en estos sistemas. Consulte Automatización de la implementación del software ArcGIS para obtener más detalles.
Algunos patrones de IaC están diseñados para una implementación frecuente en la que los cambios se introducen en la infraestructura a menudo o cada vez que cambia el código. Este patrón puede ser difícil de alinear con los sistemas ArcGIS, ya que tanto ArcGIS Pro como ArcGIS Enterprise dependen de un entorno de red e infraestructura relativamente estable y coherente. Por lo tanto, si se requieren cambios en el IaC, se recomienda o bien proceder cuidadosamente con esos cambios como con cualquier cambio en un sistema de TI Enterprise (planificar, probar, revisar, ajustar), o bien que estos sistemas se combinen con otras herramientas del estilo DevOps que habiliten la automatización de la implementación del software, de modo que todo el sistema pueda reconstruirse e implementarse con una cadencia regular.
Entre las sugerencias adicionales para trabajar con Infraestructura como código junto con ArcGIS se incluyen:
DevOps, como término, se refiere generalmente a un flujo de trabajo de implementación impulsado por el código, en el que las confirmaciones o las versiones implementan algo automáticamente, reemplazando lo que había antes. Otros términos utilizados en esta área son integración continua o CI, e implementación continua o CD, con frecuencia combinados como CI/CD. Estos términos proceden del mundo de la ingeniería de software y de la construcción de aplicaciones de desarrollo y de software a medida, donde la implementación y las pruebas continuas se utilizan para dar soporte a la versión del software.
ArcGIS es un paquete de software comercial listo para usar y, como tal, está algo desalineado con el uso actual que hacen muchas organizaciones de CI/CD o DevOps para el desarrollo de aplicaciones personalizadas. ArcGIS, una vez implementado, comienza a crear el estado y las configuraciones en ArcGIS Enterprise, el contenido del portal, los servicios, el contenido del usuario, las configuraciones. La nueva implementación de ArcGIS Enterprise o de una nueva organización de ArcGIS Online destruye ese estado existente a menos que se restaure una copia de seguridad, por lo que ya no podrá ver lo que creó.
Para que DevOps se utilice correctamente con los sistemas ArcGIS, una organización tendrá que: