Многие организации начали рассматривать или уже начали развертывать ИТ-инфраструктуру с помощью определений на основе кода, часто называемых инфраструктурой как код (IaC). Процесс этого обычно включает в себя следующие этапы:
Результатом развертывания IaC является набор ресурсов, которые можно успешно развернуть вручную, выбрав отдельные конфигурации и настройки, но с помощью IaC их можно развернуть с высокой степенью согласованности, автоматически повторно развернуть или немного скорректировать для соответствия новым спецификациям.
ArcGIS, как правило, совместим со многими подходами и системами IaC, которые часто разрабатываются для работы в определенной облачной среде или системе, например, AWS CloudFormation, шаблоны Azure ARM или GCP Cloud Deployment Manager. Esri также создает инструменты для определенных поставщиков, в частности, шаблоны AWS CloudFormation и шаблоны Azure ARM, которые можно использовать в качестве основы для дальнейшей настройки или расширения.
После развертывания инфраструктуры с помощью поставщика или инструмента IaC, программное обеспечение ArcGIS может быть развернуто в этих системах вручную или автоматически. Подробнее см. в разделе Автоматизация развертывания программного обеспечения ArcGIS.
Некоторые шаблоны IaC предназначены для частого развертывания, когда изменения часто передаются в инфраструктуру или при каждом изменении кода. Этот шаблон может быть трудно согласовать с системами ArcGIS, поскольку как ArcGIS Pro, так и ArcGIS Enterprise полагаются на относительно стабильную и согласованную сетевую и инфраструктурную среду. Таким образом, если требуются изменения IaC, рекомендуется либо осторожно реагировать на эти изменения, как и на любые изменения в корпоративной ИТ-системе (планировать, тестировать, анализировать, корректировать), либо сочетать эти системы с другими инструментами в стиле DevOps, которые обеспечивают автоматизацию развертывания программного обеспечения, чтобы вся система могла быть перестроена и развернута с регулярной периодичностью.
Дополнительные рекомендации по работе с инфраструктурой как кодом наряду с ArcGIS включают:
Термин DevOps обычно относится к рабочему процессу развертывания, управляемому кодом, при котором коммиты или релизы автоматически развертывают что-либо, заменяя то, что было раньше. Другие термины, используемые в этой области, включают непрерывную интеграцию или CI и непрерывное развертывание или CD, часто объединяемые как CI/CD. Эти термины пришли из мира разработки программного обеспечения и создания приложений и пользовательских программных приложений, где непрерывное развертывание и тестирование используются для поддержки выпуска программного обеспечения.
ArcGIS является коммерческим готовым программным пакетом, и поэтому он несколько не согласуется с существующим использованием CI/CD или DevOps для разработки пользовательских приложений во многих организациях. После развертывания ArcGIS начинает создавать состояние и конфигурации в ArcGIS Enterprise, ресурсы портала, сервисы, пользовательские ресурсы, конфигурации. Повторное развертывание ArcGIS Enterprise или новой организации ArcGIS Online уничтожает существующее состояние, если не восстановлена резервная копия, поэтому вы больше не можете просматривать то, что создали.
Чтобы DevOps успешно использовался с системами ArcGIS, организации необходимо: