Automate and Configure ArcGIS...

Post on 06-Sep-2019

30 views 0 download

Transcript of Automate and Configure ArcGIS...

Automate and ConfigureArcGIS EnterpriseMarkus Schlager | Gerhard Trichtl

Thank You to Our Sponsors

Overview

• What, Why, When?

• Enterprise Builder

• Unattended Installation

• CHEF

• PowerShell DSC

• Cloud Tools

What, Why, When

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

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

ArcGIS Enterprise Deployment

+=ArcGIS

Enterprise

Portal for ArcGIS

ArcGIS Server

ArcGIS Data Store

+

ArcGIS Web Adaptor

+

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

ArcGIS Enterprise Builder

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?

ArcGIS Enterprise Builder – what gets installed/configured

Portal for ArcGIS

Hosting Server

ArcGIS Data Store(relational + tile cache)

ArcGIS Web Adaptor

ArcGIS Web Adaptor

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

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

Software Setups –Silent/Unattended Installation

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

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

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)

Deployment Guide

Guide

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

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

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

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

IaC and DSC

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

IaC and DSCvs. conventional scripting

Added checks, to reach idempotency

Imperative code

Declarative code

Not idempotent

CHEF

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

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

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

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/

Demo: CHEF Single Machine

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

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

• 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

PowerShell DSC

• 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

• 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

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

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

… …

• 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

• 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

Demo: DSC

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

Cloud Tools

ArcGIS Enterprise and CloudWhich Cloud?

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

ArcGIS Enterprise and CloudWhich Cloud?

Deployment Tools

Logos: Amazon, Microsoft

ArcGIS Enterprise and Microsoft AzureAzure Marketplace Images

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

ArcGIS Enterprise and Microsoft AzureAutomation vs. Cloud Builder

GUI Assistant

Customized Deployment

Power Simplicity

PowerShell(DSC)

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

ArcGIS Enterprise and AWSAmazon Machine Images (AMI)

• Windows with SQL Server Express

• Ubuntu with Postgresql

Logo: Amazon

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

ArcGIS Enterprise and AWSCloudFormation Templates vs. Cloud Builder CLI

One Run Deployment

Highly Customizable

Power Simplicity

Logo and Icons: Amazon

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

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

http://proceedings.esri.com

Automate and Configure ArcGIS Enterprise

Questions?

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”