Location services system (Kubernetes)

The location services system pattern is deployed to Kubernetes primarily using the ArcGIS Enterprise on Kubernetes software.

ArcGIS Enterprise on Kubernetes uses microservices and containerization to provide a cloud native architecture, running either on your organization’s Kubernetes platform or in your cloud provider’s Kubernetes service. It uses containers to split GIS processes into microservices, each of which performs a discrete, focused function. Each microservice runs in a container that packages everything necessary to run an application. One or more containers is housed in a pod that includes storage resources, a network identity, and a set of rules for how the container is to be run. The Kubernetes cluster orchestrates and manages the ArcGIS Enterprise on Kubernetes containers.

ArcGIS Enterprise on Kubernetes is for organizations that have invested in Kubernetes to orchestrate and manage their containerized applications.

Related resources:

Base architecture

The following is a typical base architecture for a location services system deployed on Kubernetes.

This diagram should not be taken as is and used as the design for your system. There are many important factors and design choices that should be considered when designing your system. Please review the using system patterns topic for more information. Additionally, the diagram depicted below delivers only the base capabilities of the system; additional system components may be required when delivering extended capabilities.

Location services system base architecture (Kubernetes)

Key components of this architecture include:

  • A foundational deployment of ArcGIS Enterprise on Kubernetes containers to the Kubernetes cluster. This includes four categories of pods that represent various system functions, including GIS services, system managed storage, framework, and administration pods. For more information, please see the ArcGIS Enterprise on Kubernetes documentation.
  • A load balancer is required to direct traffic across each worker node. For more information please see the ArcGIS Enterprise on Kubernetes system network requirements.
  • A variety of data stores may be used to power the location services provided by ArcGIS Enterprise on Kubernetes, including file stores, cloud data warehouses, and databases. The ArcGIS relational (data) store provided by the ArcGIS Data Store may also be used to power location services. Learn more about data stores in ArcGIS as well as data and publishing with ArcGIS Enterprise.
  • The object store provides ArcGIS-managed storage for uploaded and saved content, hosted tile and image layer caches, and geoprocessing output. As of ArcGIS Enterprise 11.2 the object store can be configured to use cloud-native storage from several supported service providers.
  • Location services systems are used by almost every application, as they are foundational to most workflows and use of ArcGIS. However, applications that use location services are typically provided by other systems or used in custom applications developed using ArcGIS Mapping APIs and SDKs. One exception is the portal website, which serves as a discovery portal where content creators and application developers can find, explore, and interact with location services such as basemaps, geocoding, and spatial analysis.

Key interactions in this architecture include:

  1. Client applications communicate with enterprise data services as well as location services over HTTPS, typically via stateless REST APIs. Some location services may also be exposed via OGC endpoints.
  2. ArcGIS Enterprise GIS services may persist TCP connections to the database management system (DBMS) hosting the enterprise geodatabase. Database client software/drivers are included in ArcGIS Enterprise on Kubernetes for all supported database management systems.

Additional information on interactions between ArcGIS Enterprise components can be found in the ArcGIS Enterprise on Kubernetes product documentation.

Capabilities

The capabilities of the location services system on Kubernetes are described below. See the capability overview and comparison of capability support across deployment patterns for more information.

Base capabilities

Base capabilities represent the most common capabilities delivered by location services systems and that are enabled by the base architecture presented above.

  • Mapping and visualization allows users to create as well as interact with 2D maps and 3D scenes. ArcGIS Enterprise on Kubernetes includes rich mapping and visualization capabilities, including data-driven visualization, 3D visualization, as well as basemap styling. Learn more about maps and visualization.
  • Basemaps are web-based layers that provide overall visual context for maps and scenes. ArcGIS Enterprise on Kubernetes allows organizations to publish its own basemaps. Esri also provides basemaps and supporting data designed to run on your infrastructure through ArcGIS Enterprise, such as ArcGIS StreetMap Premium. Learn more about basemap layers and data for your infrastructure.
  • Reference data layers are web-based layers of data that provide additional visual and analytical context for maps, scenes, and other geospatial workflows. ArcGIS Enterprise on Kubernetes allows organizations to publish its own reference data layers as GIS services. Esri also provides data designed to run on ArcGIS Enterprise, on your infrastructure. Learn more about data layers and data for your infrastructure.
  • Geocoding is the process of converting text to an address and a location. The work of geocoding is done by a service called a locator. In ArcGIS Enterprise on Kubernetes, locators are powered by geocode services. They support a wide range of applications, from business and customer management, to shipping and distribution, to directions and navigation. A locator geocodes locations in an area of interest, either from a single query or a batch query. ArcGIS Enterprise supports building locators and publishing geocoding services. Esri also offers ArcGIS StreetMap Premium, which includes geocoding capabilities and the supporting data. Learn more about geocode services shared to ArcGIS Enterprise for Kubernetes.
  • Route and directions involves finding the best path from an origin to a destination for an individual or single vehicle. ArcGIS Enterprise on Kubernetes supports route and directions through routing services using the ArcGIS Network Analyst extension. Routing services can be published to and hosted in ArcGIS Enterprise on Kubernetes using network datasets, which models transportation networks by encoding traffic rules, such as those governing one-way streets, turn restrictions, overpasses and tunnels, and so on. You can create a network dataset based on the street data that your organization maintains or use a network dataset available as part of ArcGIS StreetMap Premium. Learn how to publish a network dataset to ArcGIS Enterprise on Kubernetes.
  • Network analysis helps solve complex network problems (typically on street networks) such as creating an optimized route to visit many destinations, finding the closest facility, identifying a service area around a location, or servicing a set of orders with a fleet of vehicles. ArcGIS Enterprise on Kubernetes supports both synchronous and asynchronous network analysis or advanced routing services using the ArcGIS Network Analyst extension. Routing services can be published to and hosted in ArcGIS Enterprise on Kubernetes using network datasets, which models transportation networks by encoding traffic rules, such as those governing one-way streets, turn restrictions, overpasses and tunnels, and so on. You can create a network dataset based on the street data that your organization maintains or use a network dataset available as part of ArcGIS StreetMap Premium. Learn how to publish a network dataset to ArcGIS Enterprise on Kubernetes. ArcGIS Enterprise also includes tool interfaces in Map Viewer, such as plan routes, create drive-time areas, and connect origins to destinations. Learn more about performing analysis in Map Viewer, and spatial analysis services.
  • Geometry analysis is the process of using a client-side API to perform one or more operations on a point, polyline, or polygon to solve a geometric problem. ArcGIS Enterprise on Kubernetes also supports server-side geometry analysis using the geometry service. Learn more about geometry analysis and how geometry analysis compares to feature analysis.

Extended capabilities

Extended capabilities are typically added to meet specific needs or support industry specific data models and solutions and may require additional software components or architectural considerations.

  • Support for web-tier Authentication, such as Integrated Windows Authentication (IWA) and Public Key Infrastructure (PKI) is supported with the addition of the Web Adaptor component of ArcGIS Enterprise on Kubernetes.

Considerations

The considerations below apply the pillars of the ArcGIS Well-Architected Framework to the location services system pattern on Kubernetes. The information presented here is not meant to be exhaustive, but rather highlights key considerations for designing and/or implementing this specific combination of system and deployment pattern. Learn more about the architecture pillars of the ArcGIS Well-Architected Framework.

Reliability

Reliability ensures your system provides the level of service required by the business, as well as your customers and stakeholders. For more information, see the reliability pillar overview.

  • SLAs requiring high levels of availability are common.
    • Architecture profiles are predefined deployment profiles that correlate to varying levels of redundancy across pods and provide flexibility across several known variables such as requirements for hardware, redundancy, and organizational use.
    • Consider the Enhanced availability architecture profile when increased and expanded redundancy across critical pods is required.
  • System-level backup and restore is also supported.

Security

Security protects your systems and information. For more information, see the security pillar overview.

Performance & Scalability

Performance and scalability aim to optimize the overall experience users have with the system, as well as ensure the system scales to meet evolving workload demands. For more information, see the performance and scalability pillar overview.

  • SLAs requiring high performance are common.
    • Data read performance is typically a major factor in overall system performance.
  • Scalability is an important design consideration, as location services systems are typically used heavily within an organization. Additionally, usage may increase quickly and unexpectedly as the overall adoption of GIS grows across an organization. ArcGIS Enterprise on Kubernetes deployments can be scaled horizontally by adjusting the number of pods as well as vertically by adjusting the memory and CPU. ArcGIS Enterprise on Kubernetes also provides robust, flexible scaling options for services. Learn more about service scaling.

Automation

Automation aims to reduce effort spent on manual deployment and operational tasks, leading to increased operational efficiency as well as reduction in human introduced system anomalies. For more information, see the automation pillar overview.

  • Workflows related to the publishing and management of location services hosted in ArcGIS Enterprise can be automated. This is most commonly done using the ArcGIS API for Python as well as ArcGIS Notebooks. ArcGIS Notebooks are considered outside of the scope of the location services system pattern. For more information, see the self-service mapping, analysis, and sharing system pattern.
  • System administration automation is handled in large part by Kubernetes.
  • ArcGIS Enterprise on Kubernetes includes support for Helm-based deployment and configuration.

Integration

Integration connects this system with other systems for delivering enterprise services and amplifying organizational productivity. For more information, see the integration pillar overview.

  • The location services system is most commonly used as a service provider for other systems and applications in use across an organization’s enterprise. As such, integration is very common, and most typically handled via services-level integration.
  • Location services are easily integrated and used outside of the ArcGIS ecosystem using standards-based Mapping APIs, SDKs, and open source libraries.

Observability

Observability provides visibility into the system, enabling operations staff and other technical roles to keep the system running in a healthy, steady state. For more information see the observability pillar overview

  • Careful monitoring of service utilization is important with this system pattern. The delivery of location services typically extends to the whole organization (and possibly beyond), and therefore usage patterns and growth may not be anticipated by the system designers or operators. Monitoring helps people make decisions about when to scale and evolve to meet demand while continuing to operate properly (and in accordance with SLAs).
  • ArcGIS Enterprise on Kubernetes can be observed in a variety of ways including system logs and health monitoring through ArcGIS Enterprise Manager. Monitoring of location service availability, performance, and usage is most critical to this system pattern. In addition to monitoring the ArcGIS Enterprise software, it is important to monitor all supporting components and infrastructure such the Kubernetes environment, databases and other data stores, as well as compute, network, security, and other infrastructure. Learn more about monitoring system health and reliability.
  • Additional observation of user logins and account changes may be possible through the configured identity provider when using SAML and/or OpenID Connect logins.

Other

Additional considerations for designing and implementing a location services system on Kubernetes include:

  • Successful operation requires strong understanding of GIS, IT, and database concepts as well as technology. This includes knowledge and skills specific to the selected database management system (DBMS), as well as Kubernetes.
  • For organizations that have the resources and staff to deploy and maintain enterprise software on Kubernetes, the ArcGIS Enterprise on Kubernetes deployment option separates IT administration and maintenance from GIS administration.
  • Data governance and alignment with IT policies and roles, such as data steward and database administrator, should strongly be considered when implementing this system pattern.

Related resources:

Top