Viele Organisationen ziehen die Bereitstellung der IT-Infrastruktur durch codebasierte Definitionen, die oft als “Infrastructure-as-Code” (IaC) bezeichnet werden, in Betracht, oder sie haben bereits damit begonnen. Der Prozess dazu umfasst in der Regel die folgenden Schritte:
Das Ergebnis der IaC-Bereitstellung ist eine Reihe von Ressourcen, die erfolgreich von Hand bereitgestellt werden können, indem einzelne Konfigurationen und Einstellungen ausgewählt werden, die jedoch durch IaC mit hoher Konsistenz bereitgestellt, automatisch erneut bereitgestellt oder leicht angepasst werden können, damit sie neuen Spezifikationen entsprechen.
ArcGIS ist im Allgemeinen mit vielen IaC-Ansätzen und -Systemen kompatibel, die häufig für die Verwendung in einer bestimmten Cloud-Umgebung oder einem bestimmten Cloud-System konzipiert sind, z. B. AWS CloudFormation, Azure ARM-Vorlagen oder GCP Cloud Deployment Manager. Esri erstellt außerdem Werkzeuge für bestimmte Anbieter, insbesondere AWS CloudFormation-Vorlagen und Azure ARM-Vorlagen, die als Grundlage für weitere Konfigurationen verwendet oder erweitert werden können.
Nachdem die Infrastruktur mit einem IaC-Anbieter oder -Werkzeug bereitgestellt wurde, kann die ArcGIS-Software entweder manuell oder automatisch auf diesen Systemen bereitgestellt werden. Weitere Informationen finden Sie unter Automatisieren der ArcGIS-Softwarebereitstellung.
Einige IaC-Muster sind für häufige Bereitstellungen konzipiert, bei denen Änderungen häufig oder bei jeder Änderung des Codes an die Infrastruktur übertragen werden. Es kann schwierig sein, dieses Muster mit ArcGIS-Systemen abzugleichen, da sowohl ArcGIS Pro als auch ArcGIS Enterprise auf eine relativ stabile und konsistente Netzwerk- und Infrastrukturumgebung angewiesen sind. Daher wird empfohlen, wenn IaC-Änderungen erforderlich sind, diese Änderungen entweder sorgfältig wie jede Änderung an einem IT-System eines Unternehmens vorzunehmen (Planen, Testen, Überprüfen, Anpassen) oder diese Systeme mit anderen DevOps-Werkzeugen zu kombinieren, die die Automatisierung der Softwarebereitstellung ermöglichen, sodass das gesamte System in regelmäßigen Abständen neu erstellt und bereitgestellt werden kann.
Weitere Vorschläge für die Arbeit mit Infrastructure-as-Code in Kombination mit ArcGIS sind:
DevOps als Begriff bezieht sich im Allgemeinen auf einen codegesteuerten Bereitstellungs-Workflow, bei dem Commits oder Releases automatisch etwas bereitstellen und das ersetzen, was zuvor vorhanden war. Andere Begriffe, die in diesem Bereich verwendet werden, sind Continuous Integration (CI) (kontinuierliche Integration) und Continuous Deployment (CD) (kontinuierliche Bereitstellung), die häufig als CI/CD kombiniert werden. Diese Begriffe stammen aus der Welt des Software-Engineerings und der Erstellung von Anwendungsentwicklungsanwendungen und benutzerdefinierten Softwareanwendungen, in denen kontinuierliche Bereitstellung und Tests zur Unterstützung der Veröffentlichung von Software eingesetzt werden.
ArcGIS ist ein kommerzielles Standardsoftwarepaket und als solches nicht auf die bestehende Verwendung von CI/CD oder DevOps für die Entwicklung benutzerdefinierter Anwendungen in vielen Organisationen ausgerichtet. Nach der Bereitstellung beginnt ArcGIS mit der Erstellung des Zustands und der Konfigurationen in ArcGIS Enterprise, des Portal-Inhalts, der Services, der Benutzerinhalte und der Konfigurationen. Durch die erneute Bereitstellung von ArcGIS Enterprise oder einer neuen ArcGIS Online-Organisation wird dieser vorhandene Zustand gelöscht, es sei denn, es wird eine Sicherung wiederhergestellt. Dies bedeutet, dass Sie das, was Sie erstellt haben, nicht mehr anzeigen können.
Damit DevOps erfolgreich mit ArcGIS-Systemen eingesetzt werden kann, muss eine Organisation sich für eine dieser Vorgehensweisen entscheiden: