De nombreuses organisations ont commencé à envisager ou ont déjà commencé à déployer une infrastructure informatique par le biais de définitions basées sur le code, souvent appelées infrastructure en tant que code (IaC). En principe, le processus comprend les étapes suivantes :
Le résultat du déploiement de l’IaC est un ensemble de ressources qui peuvent parfaitement être déployées manuellement, en sélectionnant des configurations et des paramètres individuels, mais qui, grâce à l’IaC, peuvent être déployées avec une forte cohérence, redéployées automatiquement ou légèrement ajustées pour se conformer à de nouvelles spécifications.
ArcGIS est généralement compatible avec de nombreuses approches et systèmes IaC, qui sont souvent conçus pour fonctionner dans un environnement ou un système Cloud spécifique, tel qu’AWS CloudFormation, les modèles Azure ARM ou GCP Cloud Deployment Manager. Esri crée également des outils pour certains fournisseurs, en particulier des modèles AWS CloudFormation et des modèles Azure ARM, utilisables comme la base d’une configuration ultérieure ou étendue.
Une fois l’infrastructure déployée à l’aide d’un fournisseur ou d’un outil IaC, le logiciel ArcGIS peut être déployé manuellement ou automatiquement sur ces systèmes. Pour plus d’informations, reportez-vous à la section Automatiser le déploiement de logiciels ArcGIS.
Certains modèles IaC sont conçus pour un déploiement fréquent dans lesquelles les modifications sont fréquemment intégrées à l’infrastructure ou chaque fois que le code change. Ce modèle peut être difficile à harmoniser avec les systèmes ArcGIS, car ArcGIS Pro et ArcGIS Enterprise reposent tous deux sur un environnement de réseau et d’infrastructure relativement stable et cohérent. Par conséquent, si des modifications de l’IaC sont nécessaires, il est recommandé de procéder soigneusement à ces modifications comme pour toute modification d’un système informatique d’entreprise (planification, test, révision, ajustement) ou de combiner ces systèmes avec d’autres outils d’opérations de développement qui permettent l’automatisation du déploiement de logiciels, afin que l’ensemble du système puisse être reconstruit et déployé à une cadence régulière.
Parmi les autres suggestions d’utilisation de l’infrastructure en tant que code avec ArcGIS, on compte les suivantes :
Le terme DevOps fait généralement référence à un processus de déploiement piloté par code, où les validations ou les mises en production déploient automatiquement un élément, remplaçant ce qui existait auparavant. D’autres termes utilisés dans ce domaine incluent l’intégration continue (ou CI) et le déploiement continu (ou CD) souvent combinés en tant que CI/CD. Ces termes proviennent du monde de l’ingénierie logicielle et de la création de développement d’applications et d’applications logicielles personnalisées, où le déploiement et les tests continus contribuent à la publication de logiciels.
ArcGIS est un progiciel commercial prêt à l’emploi et, en tant que tel, il n’est pas parfaitement en phase avec l’utilisation actuelle des pratiques CI/CD ou DevOps par de nombreuses organisations dans le cadre du développement d’applications personnalisées. ArcGIS, une fois déployé, commence à créer l’état et les configurations dans ArcGIS Enterprise, le contenu du portail, les services, le contenu de l’utilisateur et les configurations. Le redéploiement d’ArcGIS Enterprise ou d’une nouvelle organisation ArcGIS Online détruit cet état existant, à moins qu’une sauvegarde ne soit restaurée, de sorte que vous ne pouvez plus afficher ce que vous avez créé.
Pour qu’une culture DevOps soit adoptée avec les systèmes ArcGIS, une organisation doit effectuer l’une ou l’autre des actions suivantes :