In this entry, we will be looking at what a deployment looks like from the infrastructure as code (IaC) perspective with Terraform as well as the configuration management side with PowerShell DSC (Desired State Configuration). Both play important roles in automating ArcGIS Enterprise deployments, so let's jump in.
This deployment will follow a single machine model as described in the ArcGIS Enterprise documentation. It will consist of the following.
Portal for ArcGIS 10.7.1
ArcGIS Server 10.7.1 (Set as Hosting Server)
Services Directory is disabled
ArcGIS Data Store 10.7.1 (Relational Storage)
Two (2) Web Adaptors within IIS
Portal context: portal
Server context: hosted
Self-Signed certificate matching the public DNS
WebGISDR is configured to perform weekly full backups that are stored within Azure Blob Storage via Task Scheduler
Virtual machine is configured for nightly backups to an Azure Recovery Services Vault
RDP (3389) access is restricted via Network Security Group to the public IP of the box in which Terraform is ran from.
Internet access (80, 443) is configured for ArcGIS Enterprise via Network Security Group
Azure Anti-malware is configured for the virtual machine
The complete code and configurations can be found attached below. You will need to provide your own ArcGIS Enterprise licenses however.
Note: This is post two (2) in a series on engineering with ArcGIS.
If you are not already familiar with Terraform and how it can be used to efficiently handle the lifecycle of your infrastructure, I would recommend taking the time to read through the first entry in this series which can be found here. The Terraform code in that first entry will be used as the basis for the work that will be done in this posting.
As discussed in the first entry, Terraform is a tool designed to help manage the lifecycle of your infrastructure. Instead of rehashing the benefits of Terraform this time however, we will jump straight into the code and review what is being done. As mentioned above, the template from the first entry in this series is used again here with additional code added to perform specific actions needed for configuring ArcGIS Enterprise. Let's take a look at those additions.
These additions handle the creation of two blob containers that will be used for uploading deployment resources ("artifacts") and a empty container ("webgisdr") that will be used when configuring webgisdr backups along with the uploading of the license files, the PowerShell DSC archive and lastly, the web adaptor installer.
This addition handles the generation of a short-lived SAS token from the storage account that is then used during the configuration management portion to actually grab the needed files from storage securely. In this situation, we could simplify the deployment by marking our containers as public and not requiring a token but that is not recommended.
The final change is the addition of an extension to the virtual machine that will handle the configuration management task using PowerShell DSC. Instead of reviewing this in-depth here, just know that the data that is getting passed under the settings and protected_settings json will be passed to PowerShell DSC as parameters for use as needed by the configuration file.
As was touched on above, we are utilizing PowerShell DSC (Desired State Configuration) to handle the configuration of ArcGIS Enterprise as well as a few other tasks on the instance. To simplify things, I have included v2.1 of the ArcGIS module within the archive but the public repo can be found here. The ArcGIS module provides a means with which to interact with ArcGIS Enterprise in a controlled manner by provided various "resources" that perform specific tasks. One of the major benefits of PowerShell DSC is that it is idempotent. This means that we can continually run our configuration and nothing will be modified if the system matches our code. This provides administrators the ability to push changes and updates without altering existing resources as well as detecting configuration drift over time.
To highlight the use of one of these resources, let's take a quick look at the ArcGIS_Portal resource which is designed to configure a new site without having to manually do so through the typical browser based workflow. In this deployment, our ArcGIS_Portal resource looks exactly like the below code. The resource specifies the parameters that we must be provided to successfully configure the portal site and will error out if all required parameters are not provided.
Because of the scope of what is being done within the configuration script here, we will not be doing a deep dive. This will come in a later article.
Putting it together
With the changes to the Terraform template as well as a very high level overview of PowerShell DSC and its purpose, we can deploy the environment using the same commands mentioned in the first entry in the series. Within the terminal of your choosing, navigate into the extracted archive that contains your licenses, template and DSC archive, and start by initializing Terraform with the following command.
Next, you can run the following to start the deployment process. Keep in mind, we are not only deploying the infrastructure but configuring ArcGIS Enterprise so the time for completion will vary. When it completes, it will output the public facing url to access your ArcGIS Enterprise portal.
As you should quickly be able to see, removing the manual configuration aspects of software as well as the deployment of infrastructure, a large portion of problems can be mitigated by moving toward IaC and Configuration Management. There are many solutions out there to handle both aspects and these are just two options. Explore what works for you and start moving toward a more DevOps centric approach.
Numerous technical sessions, spotlight talks, and conversations referenced the "Architecting the ArcGIS Platform: Best Practices" whitepaper (https://go.esri.com/bp). This document presents some implementation guidelines in the form of a conceptual reference architecture diagram and associated best practice briefs. You can use these guidelines to maximize the value of your ArcGIS implementation and meet your organizational goals.
There are many impactful change management components that can increase a technology solutions’ adoption rate among users. People coming to UC get excited about so many new capacities or expanded utilization of their platform that will bring value to their organization. Leverage these components to increase your success rate:
Preparing for Change is a strategic activity that should happen at the beginning of each project where you create strong alignment between people, the goals of the project, and the sponsors who will advocate for the technology’s use.
Managing Change is a series of initiatives that are integrated into your project plan to assist people in accepting and embracing the new capabilities or workflows of each project.
Reinforcing Change is the best practice to cement the new workflows into an everyday routine. People interacting with technology brings your geospatial efforts to fruition.
Come by the Guiding Your Geospatial Journey area to talk with experts about people focused change management activities that can enhance and increase your technology adoption rates. Additionally, here are several people-oriented sessions that are happening at UC:
Isn’t life all about people? People are responsible for successful or failed relationships, processes, plans, getting things done, and changing the trajectory of history. It’s no different in an organization – people are the critical piece of a well-executed geospatial strategy. So, if you focus on a strategy for educating, developing, growing, and nurturing those people in your organization, then it all flows from there.
My colleagues and I are excited to be at UC, sharing from our experience helping Esri users with their people strategy – we'd love to connect with you – you'll find us in all these places:
Tuesday, July 9 – Thursday, July 11Location: SDCC – Expo: Guiding Your Geospatial Journey Spotlight Theater
Workforce Development Planning
Our training consultants will help you devise a strategy-driven learning plan that will ensure that your workforce has the skills to leverage ArcGIS. Leave with a high-level plan and strong justification to develop your workforce.
Are you a GIS manager, leader or other executive headed to the 2019 Esri International User Conference (UC)? I know it can be a challenge creating your personal agenda for the world's largest GIS conference, so I created this flier to assist. It covers suggested events and activities you should consider when deciding how to spend your valuable time at UC. I hope you have a productive UC experience, and I hope to see you there!
UPDATED 6/24/2019 - Added GIS Manager Track and Get Advice from Esri Services section.
UPDATED 6/13/2019 - Corrected the name of the Implementing ArcGIS area in the Expo to “Guiding your Geospatial Journey”
It’s important for an organization to realize that creating a purposeful and actionable training plan that aligns its needs, goals, and objectives is highly critical.
A plan that is focused on the learning and development of the workforce can be the rudder that guides them toward success. Employees gain a sense of purpose with a better understanding of where they’ve been, where they are, and how far they must go to reach their goal. The organization benefits from a more productive, efficient, skilled, and empowered staff.
Failure to have a strategic training plan in place for your workforce can lead to unsuccessful projects and initiatives, and staff without a focus and vision for their role in the organization.
Esri Training Consultants partner with organizations of all sizes and industries to assess current skills and knowledge, while building awareness and making recommendations for key learning resources. There are hundreds of resources, ranging from instructor led training to self-paced e-Learning. Engage with an Esri Training Consultant right away!
I had the honor of presenting the spotlight talk "Engage the Enterprise with GIS" at UC 2018. The full capacity audience was fantastic, especially considering it was late in the day. The talk was around the People side of the broader Enterprise GIS Strategy. The broader strategy should include:
When engaging the enterprise, look at all the various business units and enlist the help of willing participants at various levels in the said business unit(s). Then work with them to communicate in terms that are well understood and relevant to the intended audience. Below is a graphic, extracted from Dr. Elliott Jacques' "In Praise of Hierarchy". Note that the temporal and strategic levels are the parameters to use when communicating the value of utilizing GIS.
When using this model to engage with your audience, make sure you are addressing these core considerations from the audience perspective:
The attached presentation provides more information about this concept.
As always, Esri is here to support you through your technology implementation and change. Let us know if you have any questions.
Thanks to everyone who joined the 'Value of Esri Technical Certification' spotlight talk. With the growing global talent shortage, access to qualified individuals to strengthen your organization and serve your customers is paramount.
Leverage Esri Technical Certification to enhance your personal and organizational brand
Independent studies show the value that certification brings to performance, efficiencies and responsibilities
Stay current, stay connected and share your certification successes using Esri resources, groups and websites
My new book, Getting to Know Web GIS 3rd edition, has recently published.
In the book, I teach about Web GIS technologies as a holistic platform, and try to help you quickly become productive with Esri’s Web GIS platform. If you need a workbook to stay on top of the latest Web GIS technologies, this is for you.
The book provides clear, step-by-step instructions on how to share resources to ArcGIS Online and ArcGIS Enterprise, create engaging 2D and 3D information products that work in web browsers and on mobile devices, design smart maps, and perform analysis online.
The first two editions made this book a bestseller and a preeminent book on Web GIS. The third edition builds on that success to match newer releases of ArcGIS Online and ArcGIS Enterprise, with the following updates:
A new chapter on image services and raster analysis
Separate chapters on mobile GIS and real-time GIS, with a more extensive experience on each
Tutorials migrated from ArcMap to ArcGIS Pro, the new and more powerful tool for processing and publishing GIS resources
A new 3D chapter showing how to create beautiful 3D scenes easily with only a browser.
New frontiers such as big data analysis, the Internet of Things (IoT), smart cities, virtual reality, augmented reality, and artificial intelligence.
New products such as ArcGIS Arcade, Survey123 for ArcGIS, Workforce for ArcGIS, Operations Dashboard for ArcGIS, ArcGIS GeoAnalytics Server, and ArcGIS Image Server