Automate and Configure ArcGIS...

81
Automate and Configure ArcGIS Enterprise Markus Schlager | Gerhard Trichtl

Transcript of Automate and Configure ArcGIS...

Page 1: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Automate and ConfigureArcGIS EnterpriseMarkus Schlager | Gerhard Trichtl

Page 2: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Thank You to Our Sponsors

Page 3: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Overview

• What, Why, When?

• Enterprise Builder

• Unattended Installation

• CHEF

• PowerShell DSC

• Cloud Tools

Page 4: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

What, Why, When

Page 5: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Cloud and AutomationAutomation | Tools

Deployment AutomationSetup and Configuration

ArcGIS API for Python

webgisdrUtility

PowershellDSC

ChefAmazon Web Services

Microsoft Azure

ArcGIS Enterprise Builder

and additional

Workflow AutomationAdministration & Analysis

Logos: Amazon, Chef, Microsoft

Page 6: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Cloud and AutomationAutomation | Tools | Details

PowershellDSC

ChefAmazon Web Services

Microsoft Azure

ArcGIS Enterprise Builder

Wizard Machine Images + Builder Infrastructure as Code

Cloud Builder CLI---

CloudFormation Templates

Cloud Builder---

Marketplace Images

Single Machine Deployment

---Primary for Test

Agents---

Scripts

New (10.6)---

Esri-Resources Windows only

Logos: Amazon, Chef, Microsoft

Page 7: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise Deployment

+=ArcGIS

Enterprise

Portal for ArcGIS

ArcGIS Server

ArcGIS Data Store

+

ArcGIS Web Adaptor

+

Page 8: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise and AutomationWhy Automation?

Consistency

Avoid long list ofmanual steps

---Install/Upgrade

workflows generally same---

Dependable, testable results

Efficiency

Get up and running faster---

Handle systems of any size---

Schedule installs and upgrades

Productivity

Save yourself the time and effort

---No need to fear

upgrades!---

Run off-peak hours

Page 9: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise Builder

Page 10: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise Builder

• All-in-one deployment• One GUI setup, just a few parameters

• Easy to use• A lot less configurations

• One deployment pattern for one machine quick start• Not for a system that needs quickly redeployed• Not a DR deployment?

Page 11: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise Builder – what gets installed/configured

Portal for ArcGIS

Hosting Server

ArcGIS Data Store(relational + tile cache)

ArcGIS Web Adaptor

ArcGIS Web Adaptor

Page 12: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 13: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 14: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 15: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 16: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 17: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 18: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 19: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 20: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 21: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 22: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 23: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 24: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 25: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 26: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 27: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 28: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 29: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 30: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 31: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 32: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 33: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 34: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 35: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web
Page 36: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Finish Installation

Import signed SSL-certificate into IIS and configure bindings of the WebSiteOptionally import the signed SSL-Certificate into ArcGIS Server and Portal forArcGIS

Follow UP:Start customizatioin of your PortalStart configuration of your Portal

ManuallyUse Python API

Page 37: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Chef CookbooksPowerShell DSC

Reliable Repeatable

TestableDocumented deploymentFull control

ArcGIS Enterprise Software Setups

ArcGIS Enterprise Builder

SoftwareSetups

Quick startEasy to use

Typical deployment patternSimple deployment

Limited controlNot for repeatable

deployments

Cloud Builder for AzureAWS CloudFormation

PreconfiguredRepeatable

TestableScaleable

Full control

Page 38: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Software Setups –Silent/Unattended Installation

Page 39: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise Software SetupsArcGIS Enterprise Software Setups

• No need to learn 3rd-party technology.• Deploy exact the way you want• Other Esri software

• Time consuming• More manual steps• Manual configurations following different docs

• One time task• For customized deployments• Not recommended for highly available and

scalable deployments

Page 40: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Silent Installation of ArcGIS Enterprise components

ArcGIS Serverhttp://enterprise.arcgis.com/en/server/latest/install/windows/silently-install-arcgis-server.htm

ArcGIS WebAdaptor for IIShttp://enterprise.arcgis.com/en/web-adaptor/latest/install/iis/silently-install-arcgis-web-adaptor-server.htm

ArcGIS Datastorehttp://enterprise.arcgis.com/en/data-store/latest/install/windows/install-data-store.htm

Portal for ArcGIShttp://enterprise.arcgis.com/en/portal/latest/install/windows/silently-installing-portal-for-arcgis.htm

Page 41: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise Deployment Guide

Availible for each version of ArcGIS in combination with ArcGIS ProArcGIS 10.3.1: http://support.esri.com/en/white-paper/2228

ArcGIS 10.4: http://support.esri.com/en/white-paper/3522ArcGIS 10.4.1: http://support.esri.com/en/white-paper/3534

ArcGIS 10.5: http://support.esri.com/en/white-paper/3542ArcGIS 10.5.1: http://support.esri.com/en/white-paper/3544

ArcGIS 10.6: https://support.esri.com/en/white-paper/3557ArcGIS 10.6.1: https://support.esri.com/en/white-paper/3557

Covers also the integration in Microsoft System Management Server (SMS) or Microsoft System Center Configuration Manager (SCCM)

Page 42: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Deployment Guide

Guide

Page 43: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Silent Installation of ArcGIS ServerREM Install ArcGIS Server 10.6.1REM ============================

set PROGPATH=%programfiles%set PYTHONDRIVE=%SYSTEMDRIVE%set USER=ArcGISServiceset PWD=R3dland5

REM Visual C++ 2017 - Requist for ArcGIS ServerArcGISEnterprise_Windows\ArcGISServer\SetupFiles\Support\VCREDIST\vc_redist.x64.exe /install /passive /norestartArcGISEnterprise_Windows\ArcGISServer\SetupFiles\Support\VCREDIST\vc_redist.x86.exe /install /passive /norestart

REM ArcGIS ServerREM Optional Parameter EXPORTCONFIG=Yes CONFIGPATH=%HOMEDRIVE%%HOMEPATH%\Desktop\arcgis_server_cfg.xml ADDLOCAL=GIS_Server,DotNetSupportmsiexec /i ArcGISEnterprise_Windows\ArcGISServer\SetupFiles\setup.msi /qb INSTALLDIR="%PROGPATH%\ArcGIS" INSTALLDIR1=%PYTHONDRIVE%\Python27 USER_NAME=%USER% PASSWORD=%PWD%

REM Geoevent Extensionmsiexec /i ArcGISEnterprise_Windows\ArcGISGeoEventServer\SetupFiles\setup.msi /qbINSTALLDIR="%PROGPATH%\ArcGIS\Server\GeoEvent" PASSWORD=%PWD%

REM DataInteropt Servermsiexec /i ArcGISEnterprise_Windows\DataInteropServer\SetupFiles\setup.msi /qb INSTALLDIR="%PROGPATH%\ArcGIS"

REM WebAdaptor IISmsiexec /i ArcGISEnterprise_Windows\WebAdaptorIIS\SetupFiles\setup.msi /qb WEBSITE_ID=1 VDIRNAME=ArcGIS1061 ADDLOCAL=WebAdaptor

REM DB-clientsREM ==========REM SQLServer NativeClientmsiexec /i DBMSSupportFiles\SQLServer2012SP3NativeClient_64\sqlncli.msi IACCEPTSQLNCLILICENSETERMS=YES /qbREM SQLServer ODBCmsiexec /i DBMSSupportFiles\ODBC11SQLServer_64\msodbcsql.msi IACCEPTMSODBCSQLLICENSETERMS=YES /qbmsiexec /i DBMSSupportFiles\ODBC131SQLServer_64\msodbcsql.msi IACCEPTMSODBCSQLLICENSETERMS=YES /qbmsiexec /i DBMSSupportFiles\ODBC17SQLServer_64\msodbcsql.msi IACCEPTMSODBCSQLLICENSETERMS=YES /qb

Page 44: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Additionally the existing Patches could be applied within the setup

REM PATCHES ArcGIS Server 10.6.1REM ============================REM Buffering Degenerated Polygon Patchmsiexec /p Patches\ArcGIS-1061-S-BDP-Patch.msp REINSTALL=ALL REINSTALLMODE=omus /qbREM GP-Service Patchmsiexec /p Patches\ArcGIS-1061-S-GS-Patch.msp REINSTALL=ALL REINSTALLMODE=omus /qbREM Export Hosted Layer Patchmsiexec /p Patches\ArcGIS-1061-S-EHLFG-Patch.msp REINSTALL=ALL REINSTALLMODE=omus /qbREM JPEG Nodata Patchmsiexec /p Patches\ArcGIS-1061-S-JN-Patch.msp REINSTALL=ALL REINSTALLMODE=omus /qbREM Vector Tile Patchmsiexec /p Patches\ArcGIS-1061-S-VTL-Patch.msp REINSTALL=ALL REINSTALLMODE=omus /qb

Page 45: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Silent Installation of Portal for ArcGISREM Install Portal for ArcGIS 10.6.1REM ================================

set USER=ArcGISServiceset PWD=R3dland5

REM ArcGIS DatastoreREM ----------------REM Visual C++ 2017 PreRequisitArcGISEnterprise_Windows\ArcGISDataStore\SetupFiles\Support\VCREDIST\vc_redist.x64.exe /install /passive /norestart

REM Parameter:REM INSTALLDIRmsiexec /i ArcGISEnterprise_Windows\ArcGISDataStore\SetupFiles\setup.msi /qb INSTALLDIR="%PROGPATH%\ArcGIS" USER_NAME=%USER% PASSWORD=%PWD%REM Setup Store automaticallyREM configuredatastore https://<server>:6443/arcgis/admin <siteadmin> <Pwd> C:\arcgisdatastore

REM Portal for ArcGISREM -----------------REM Visual C++ 2017 PreRequisitArcGISEnterprise_Windows\PortalforArcGIS\SetupFiles\Support\VCREDIST\vc_redist.x64.exe /install /passive /norestartArcGISEnterprise_Windows\PortalforArcGIS\SetupFiles\Support\VCREDIST\vc_redist.x86.exe /install /passive /norestart

REM Parameter:REM INSTALLDIR CONTENTDIRmsiexec /i ArcGISEnterprise_Windows\PortalForArcGIS\SetupFiles\setup.msi /qb INSTALLDIR="%PROGPATH%\ArcGIS" CONTENTDIR=C:\ArcGISPortal USER_NAME=%USER% PASSWORD=%PWD%

REM WebAdaptor IISREM --------------msiexec /I ArcGISEnterprise_Windows\WebAdaptorIIS\SetupFiles\setup.msi /qb WEBSITE_ID=1 VDIRNAME=Portal MSINEWINSTANCE=2 TRANSFORMS=:InstanceID2.mst

Page 46: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Chef CookbooksPowerShell DSC

Reliable Repeatable

TestableDocumented deploymentFull control

ArcGIS Enterprise Software Setups

ArcGIS Enterprise Builder

SoftwareSetups

Quick startEasy to use

Typical deployment patternSimple deployment

Limited controlNot for repeatable

deployments

Cloud Builder for AzureAWS CloudFormation

PreconfiguredRepeatable

TestableScaleable

Full control

Page 47: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

IaC and DSC

Page 48: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

IaC and DSC

• Infrastructure as Code- Manage and maintain infrastructure

- No (human) interaction needed

- Machine-readable definition files

• Automation Tools- Tend to use Desired State Configuration

- Idempotency

• PowerShell DSC- Microsoft’s IaC-toolset

The Basics

Logos: Ansible, Chef, Hashicorp, Microsoft, Puppet, Saltstack

Page 49: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

IaC and DSCvs. conventional scripting

Added checks, to reach idempotency

Imperative code

Declarative code

Not idempotent

Page 50: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

CHEF

Page 51: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

CHEFThe Basics

• One of the most popular IT automation platforms

• Needs an agent on each machine

• Windows | Linux | macOS | AIX

• Desired State-based deployments

Logo: Chef

Page 52: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

CHEFCookbooks

• Define (Deployment) scenarios

• Written in Ruby

• Configuration files “roles”

• Esri offers ready-to-use cookbooks- GitHub

- Define the configuration (JSON)

- Run chef with the configuration file

Page 53: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

CHEFRecipes

• Configuration steps

• Properties- Name

- Attribute(s)

- Action(s)

• Need to be added to a Run-list- Specific set of steps for a specific machine

Page 54: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

CHEFSingle Machine Deployment

1. Install Chef Client

2. Download the arcgis cookbook

3. Extract the cookbook content

4. Edit webgis-windows.json file

5. Run chef-solo command

https://github.com/Esri/arcgis-cookbook/

Page 55: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Demo: CHEF Single Machine

Page 56: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

CHEFSupported Software

• Portal for ArcGIS

• ArcGIS Server- as Hosting Server

- GIS Server, Image Server, GeoAnalytics Server, GeoEvent Server

• ArcGIS Data Store- General

- Spatiotemporal

• ArcGIS Web Adaptor

• Other Esri Software:- Insights for ArcGIS

- ArcGIS Desktop

- ArcGIS License Manager

Page 57: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

CHEFMulti Machine Deployments | The Basics

• node• Any machine managed by Chef

• Chef Client

• workstation• Chef DK or Workstation setup

• Bootstrap nodes

• Author, test, maintain cookbooks

• server• Central Information hub

Icons: Chef

Page 58: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

• workstation• Build cookbooks

• Push them to server (including run-list)

• server• Manages cookbooks

• Manages policies

• Stores current states

• Chef Client (on nodes)• Polls server regularly

• Changes setup and configuration to desired state, if necessary

CHEFMulti Machine Deployments | The Process

Icons: Chef

Page 59: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

PowerShell DSC

Page 60: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

• Microsoft PowerShell DesiredStateConfiguration

• IaC-platform from Microsoft

• Fully integrated in Windows- Familiar environment for admins

- No central server required

- Idempotent

- Declarative

PowerShell DSCThe Basics

Declarative code

Logo: Microsoft

Page 61: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

• Configurations- Easy-to-read document that describes an environment

• Resources- Building blocks that are the "make it so" part of DSC

• Local Configuration Manager (LCM)- DSC Engine that enacts configurations

PowerShell DSCThe Basics

Page 62: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

PowerShell DSCThe Basics | Built In Resources

Archive Unpack .zip files

Environment Manage env variables

File Manage files, folders

Group Manage local groups

Log Write message to log

Package Install/Uninstall .msi and setups

Registry Manage registry keys & values

Script Run PowerShell script blocks

Service Manage Services

User Manage local users

Windows Feature Add/Remove Windows Features

Windows Process Manager Processes

Page 63: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

PowerShell DSCThe Basics | Esri Resources

ArcGIS_Install Manages the (un)installation of ArcGIS (Server) Software

ArcGIS_License Licenses ArcGIS (Server) Software

ArcGIS_ServiceAccount Configures the ‘Run As’ Service with appropriate (file system) privileges

ArcGIS_Server Configures the ArcGIS Server Site

ArcGIS_Portal Configures the Portal for ArcGIS

ArcGIS_DataStore Configures the ArcGIS DataStore

ArcGIS_Server_TLS Configures SSL on a Server Site

ArcGIS_Portal_TLS Configures SSL on a Portal Site

ArcGIS_WebAdaptor Configures Web Adaptor on IIS for Portal/Server

ArcGIS_EGDB Enables/Registers an SQL Server flavor EGDB with Server

ArcGIS_GeoEvent Configures GeoEvent Extension for Server

ArcGIS_Federation Configures Federation between Server and Portal

… …

Page 64: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

• PowerShell 4.0 or Higher

• Windows Management Framework 4.0 or Higher

• .NET Framework 4.5

• ArcGIS Resources via- PowerShell Gallery (with WMF 5.0 or higher)

- Source Code on https://github.com/Esri/arcgis-powershell-dsc

• Setup- and license-files

PowerShell DSCThe requirements

Page 65: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

• Install ArcGIS PowerShell Modules

• Get sample configuration file from https://github.com/Esri/arcgis-powershell-dsc

• Edit (JSON) configuration file

• Start Configuration

• Same command for Multi Machine Deployments

PowerShell DSCThe Process

Page 66: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Demo: DSC

Page 67: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Chef CookbooksPowerShell DSC

Reliable Repeatable

TestableDocumented deploymentFull control

ArcGIS Enterprise Software Setups

ArcGIS Enterprise Builder

SoftwareSetups

Quick startEasy to use

Typical deployment patternSimple deployment

Limited controlNot for repeatable deployments

Cloud Builder for AzureAWS CloudFormation

PreconfiguredRepeatable

TestableScaleable

Full control

Page 68: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Cloud Tools

Page 69: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise and CloudWhich Cloud?

Logos: Amazon, Alibaba, Google, Huawei, IBM, Microsoft, rackspace

Page 70: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise and CloudWhich Cloud?

Deployment Tools

Logos: Amazon, Microsoft

Page 71: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise and Microsoft AzureAzure Marketplace Images

Page 72: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise and Microsoft AzureCloud Builder

• Desktop application for Windows

• Wizard Driven Experience

• Supports various architectures

• Deployment and Configuration

• Configure Azure native features- Azure Managed Databases

- Azure Key Vault

- Azure Blob Storage

- Azure Active Directory

Page 73: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise and Microsoft AzureAutomation vs. Cloud Builder

GUI Assistant

Customized Deployment

Power Simplicity

PowerShell(DSC)

Logos: Ansible, Chef, Free Software Foundation, Microsoft, Puppet

Page 74: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise and AWSAmazon Machine Images (AMI)

• Windows with SQL Server Express

• Ubuntu with Postgresql

Logo: Amazon

Page 75: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise and AWSCloud Formation Templates | Basics

• Based on AMIs

• Allow Multi-Machine Setups

• Automate Setup and Configuration

• Highly customizable

• Native to AWS

Logo: Amazon

Page 76: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

ArcGIS Enterprise and AWSCloudFormation Templates vs. Cloud Builder CLI

One Run Deployment

Highly Customizable

Power Simplicity

Logo and Icons: Amazon

Page 77: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Cloud Builder for AzureAWS CloudFormation

PreconfiguredRepeatable

TestableScaleable

Full control

Chef CookbooksPowerShell DSC

Reliable Repeatable

TestableDocumented deploymentFull control

ArcGIS Enterprise Software Setups

ArcGIS Enterprise Builder

SoftwareSetups

Quick startEasy to use

Typical deployment patternSimple deployment

Limited controlNot for repeatable deployments

Page 78: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Enterprise in the CloudCédric Despierre-Corporon | Markus Schlager

http://proceedings.esri.com

Page 79: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Automate and Configure ArcGIS Enterprise

Questions?

Page 80: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web

Please Take Our Survey!

Download the Esri Events app and go to DevSummit

Select the session you attended

Scroll down to the “Feedback” section

Complete Answers,add a Comment,

and Select “Submit”

Page 81: Automate and Configure ArcGIS Enterpriseproceedings.esri.com/library/userconf/devsummit-euro18/papers/dev... · ArcGIS API for Python webgisdr Utility … Powershell DSC Amazon Web