Building Modern ArcGIS Architectures with Containers
With Esri’s much anticipated upcoming release of an ArcGIS Enterprise Kubernetes deployment option, it’s timely for Geographic Information System (GIS) organizations to better understand how to migrate their ArcGIS workloads and apps to microservice architectures.
In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service.
As modern, microservices-based applications gain popularity, containers are an
attractive building block for creating agile, scalable, and efficient microservices
architectures. Whether you are considering a legacy system or a new
application for containers, there are well-known, proven software design
patterns that you can apply.
Microservices are an architectural and organizational approach to software
development in which software is composed of small, independent services that
communicate over well-defined APIs. These services are owned by small, self-contained teams.
Microservices architectures make applications easier to scale
and faster to develop. This enables innovation and accelerates time-to-market
for new features. Containers provide isolation and packaging for software.
Consider using containers to achieve more deployment velocity and resource
The twelve-factor app is a methodology for building software-as-a-service apps
As proposed by Martin Fowler, in the Patterns of Enterprise Application Architecture and Refactoring, the characteristics of a microservices architecture include the following:
• Componentization via services
• Organized around business capabilities
• Products not projects
• Smart endpoints and dumb pipes
• Decentralized governance
• Decentralized data management
• Infrastructure automation
• Design for failure
• Evolutionary design
To help achieve these characteristics, many development teams have
adopted the twelve-factor app pattern methodology. The twelve factors are a
set of best practices for building modern applications that are optimized for
ArcGIS Enterprise on Kubernetes
Exciting News: ArcGIS Enterprise on Kubernetes is planned for May 2021, as part of the ArcGIS 2021 release in Q2.
Architecting Containerized Microservices for ArcGIS Workloads and Web Apps
During the last couple years, GCS has architected, built, and released containerized ArcGIS web apps and SaaS solutions for enterprise customers. Most recently, GCS deployed a successful nation-wide lease management product using AWS Elastic Container Service (ECS) and AWS Fargate. To learn more about our experiences with microservice architectures and ArcGIS, please contact us.
Cloud Certified Professionals
GCS’s team is comprised of certified ArcGIS and cloud professionals who are solution architects, system integrators, native cloud developers, data scientists, and professional project managers.
To learn more, contact us to speak to a certified ArcGIS Cloud Expert.