ArcGIS Enterprise: DevOpsPhilip Heede
What is DevOps
• DevOps (a portmanteau of "development" and "operations") is a software development method that stresses
communication, collaboration (information sharing and web service usage), integration,
automation and measurement cooperation between software developers and other information-
technology (IT) professionals. DevOps acknowledges the interdependence of
software development and IT operations.
-Wikipedia
Agenda
• Deployment automation
• Scripting administrative workflows
• Scripting GIS workflows
Agenda
• Deployment automation
- Chef
• Scripting administrative workflows
- ArcGIS API for Python
• Scripting GIS workflows
- ArcGIS API for Python
Agenda
• Deployment automation
- Chef
• Scripting administrative workflows
- ArcGIS API for Python
• Scripting GIS workflows
- ArcGIS API for Python
Who I imagine you are
• ArcGIS Enterprise (ArcGIS Server and Portal for ArcGIS) administrators with a
programming interest or background
• Maybe you do Python scripting already because of a GIS analyst background
• Maybe you’ve done .NET development with C# in the past
• Maybe you’re already automating things using Scala, Ruby, …
Deployment automation
Deployment automation - Why
Desktop Web Device
Server Online Content
and Services
Portal
Chef
• One of the fast growing IT automation platforms
• Supported on Windows and Linux
• Open source
Chef
• Recipes
• Cookbook
• Attributes, resources, providers……
• Chef-server, client, solo
• Test Kitchen
Deployment automation - Why
Desktop Web Device
Server Online Content
and Services
Portal
Deployment automation – lots of options depending on environment
• On-premises (physical or virtual machines)
- Chef
• Public cloud
- AWS: use CloudFormation templates
- Azure: use Cloud Builder for Microsoft Azure
• Other cloud environments
- Chef
• Coming soon: ArcGIS Enterprise Builder
- Planned for ArcGIS 10.5.1 release later this year
Scripting administrative workflows
ArcGIS API for Python
• Python API for your Web GIS
- ArcGIS Enterprise and ArcGIS Online
• Powerful, modern, and easy to use
- Pythonic!
• Built on top of ArcGIS REST APIs
Spatial Analysis & Geoprocessing
Big Data GeoAnalytics
Interactive Exploration
GIS Analysis
ContentPublishing
Desktop Apps
Org administration
Automate management
• Populate portal with users, groups
• Clone portals
• Re-assign user content
• Perform comprehensive content search
• Determine item relationship
• Create reports of users, their items
Automate content creation
• Automate content publishing during off peak hours
• Update tiles and features from a known database
• Replicate development environment content to production
• Inspect and update items with broken service links
ArcGIS API for Python – How to install it
Distributed via CondaSimplifies installs & updatesInstalls dependenciesAvoids conflicts
Install steps:Download Anaconda
conda install –c esri arcgis
orInstall from ArcGIS Pro
ArcGIS API for Python
Demos!
Please Take Our Survey on the Esri Events App!
Select the session
you attended
Scroll down to find
the survey
Complete Answers
and Select “Submit”
Download the Esri Events
app and find your event