SlideShare a Scribd company logo
Continuously Delivered & Scalable
Geoservices on Kubernetes
Daniel Fenton
Esri R&D
@dmfenton
Quick
Background
• ArcGIS Hub:
• Cities Publish Open Data
• Work with Citizens to Solve Urban Problems
• Product Launched in 2014
• Actively Used by Hundreds of Organizations
• Local Gov
• State Gov
• Federal Gov
• NGOs
• Private Business
• E.g. https://data-stlcogis.opendata.arcgis.com/
Overview
• Kubernetes @ 10k Feet
• Spatial Download System Architecture
• Jenkins and our CI/CD Pipeline
• Key Component: Deployment
• Kubeutils: FOSS Deployment CLI
• Deployment Rollouts
• Networking
• Monitoring
Benefits
• Faster time from idea to deployment
• Faster and more complete feedback from
production
• Easier to debug
• Easier to add new services
• Automated, reliable deployments
• Smooth Git Workflow
• Scaling on autopilot
• Fewer idle resources consumed
K8s @ 10k:
Key
Terminology
• Cluster
• Master & Nodes
• Namespace
• Pod
• Deployment
• Horizonal Pod Autoscaler
• Service
• Ingress
Download System
Architecture
• Feature Services => (ND) GeoJSON,
KML, CSV, Shapefile, Geohash
• 15m per year, 1 TB per month
• Spiky workloads
• Delayed job system, refresh in
background
Jenkins Pipeline
Continuously delivered scalable geoservies
Deployment
Configuration
• Yaml for each service
• API
• Import Worker
• Export Worker
• Autoscaling Configuration in same file
• Secrets referenced externally (safe to check
in)
• Changes to this file trigger a deploy
Kubeutils Deployment CLI
Rollouts:
blue/green
style
• Each microservice implements “readiness
check”
• Is this service up and ready to handle
traffic?
• Scheduler adds new container with updated
code
• If readiness check passes => remove old
container
• Repeat until all old pods have been replaced
with new pods
• Updates sent in Slack Channel
Networking
Monitoring
• Logging Stack
• FluentD Daemonset
• 3 Node Elasticsearch Statefulset
• Kibana
• Exposed on Internal Network
• Behind Github Auth Proxy
• Metrics/Alerting Stack
• Run by Prometheus Operator
• Prometheus Statefulset
• Alertmanager Statefulset
• Pagerduty + Slack Alerts
Links
• Prometheus operator
• Kubernetes Guide
• ArcGIS Hub
• Koop
• Kubeutils
• Kops
• NGINX Ingress Controller
• Cluster Autoscaler

More Related Content

PPTX
Serverless Architectures
PPTX
Kubernetes for Docker Users
PDF
Making Wallstreet talk with GO (GO India Conference 2015)
PDF
Cloud in your Cloud
PPTX
Realm integration
PPTX
ATO 2018 - What is Serverless Useful For?
PPTX
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
PPTX
Integrate 2017 unlock azure hybrid integration with biz talk - ws
Serverless Architectures
Kubernetes for Docker Users
Making Wallstreet talk with GO (GO India Conference 2015)
Cloud in your Cloud
Realm integration
ATO 2018 - What is Serverless Useful For?
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
Integrate 2017 unlock azure hybrid integration with biz talk - ws

What's hot (20)

PDF
Spotify's journey to GCP
PDF
DigitalOcean Microservices Talk Rocket Internet Conf '16
PDF
Insights on Knative and how it changes the serverless landscape
PDF
Knative and Riff
PDF
Building real-time data analytics on Google Cloud
PDF
Izel technologies open stack intro feb 2014
PPTX
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
PPTX
Accelerating GIS Implementation in Local Government
PDF
Serverless Architecture GCP In Production
PPTX
My graduation project on Opsschool ('the elephant')
PDF
Knative, Serverless on Kubernetes, and Openshift
PDF
Netflix's Could Migration
PPTX
Building the Serverless Container Experience: Kevin McGrath, Spotinst, Server...
PDF
Knative from an Enterprise Perspective
PPTX
The Serverless Native Mindset: Ben Kehoe, iRobot, Serverless NYC 2018
PPTX
The Problem is Data: Gwen Shapira, Confluent, Serverless NYC 2018
PPTX
Day1 concurrent fellows
PPTX
Continuous Delivery with Spinnaker and Kubernetes
PPTX
SnapLogic Live: IoT Integration
PPTX
K2 for blockchain
Spotify's journey to GCP
DigitalOcean Microservices Talk Rocket Internet Conf '16
Insights on Knative and how it changes the serverless landscape
Knative and Riff
Building real-time data analytics on Google Cloud
Izel technologies open stack intro feb 2014
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Accelerating GIS Implementation in Local Government
Serverless Architecture GCP In Production
My graduation project on Opsschool ('the elephant')
Knative, Serverless on Kubernetes, and Openshift
Netflix's Could Migration
Building the Serverless Container Experience: Kevin McGrath, Spotinst, Server...
Knative from an Enterprise Perspective
The Serverless Native Mindset: Ben Kehoe, iRobot, Serverless NYC 2018
The Problem is Data: Gwen Shapira, Confluent, Serverless NYC 2018
Day1 concurrent fellows
Continuous Delivery with Spinnaker and Kubernetes
SnapLogic Live: IoT Integration
K2 for blockchain
Ad

Similar to Continuously delivered scalable geoservies (20)

PDF
Esri UC 2016 - Central San and the Local Government Information Model
PDF
Weathering the Data Storm – How SnapLogic and AWS Deliver Analytics in the Cl...
PPTX
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
PDF
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes Operations
PPTX
Automated Project-Setup and Self-Service Permissions for a Development Platform
PDF
Fusion on Kubernetes - Alan Eugenio & Joe Streeky, Lucidworks
PPTX
Global azurebootcamp2019vancouver aks_presentation_by_ashprasad_arjavprasad
PPTX
Getting sh*t done with Azure Functions (on AKS!)
PDF
Containers, microservices and serverless for realists
PDF
One Kubernetes to rule them all (ZEUS 2019 Keynote)
PPTX
What You Missed: OpenStack Summit Austin
PDF
Technical Debt - SOTR14 - Clarkie
PPTX
Xtending nintex workflow cloud w azure functions - xchange conference
PPTX
Google Cloud Fundamentals by CloudZone
PDF
Webinar- Tea for the Tillerman
PPTX
Local Governments Turn to the Cloud-A
PDF
Aws based digital_transformation_platform
PPTX
Architecture evolution
PDF
Lessons Learned: Spring Cloud -> Docker -> Kubernetes
PPTX
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
Esri UC 2016 - Central San and the Local Government Information Model
Weathering the Data Storm – How SnapLogic and AWS Deliver Analytics in the Cl...
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes Operations
Automated Project-Setup and Self-Service Permissions for a Development Platform
Fusion on Kubernetes - Alan Eugenio & Joe Streeky, Lucidworks
Global azurebootcamp2019vancouver aks_presentation_by_ashprasad_arjavprasad
Getting sh*t done with Azure Functions (on AKS!)
Containers, microservices and serverless for realists
One Kubernetes to rule them all (ZEUS 2019 Keynote)
What You Missed: OpenStack Summit Austin
Technical Debt - SOTR14 - Clarkie
Xtending nintex workflow cloud w azure functions - xchange conference
Google Cloud Fundamentals by CloudZone
Webinar- Tea for the Tillerman
Local Governments Turn to the Cloud-A
Aws based digital_transformation_platform
Architecture evolution
Lessons Learned: Spring Cloud -> Docker -> Kubernetes
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
Ad

Recently uploaded (20)

PPTX
The various Industrial Revolutions .pptx
PDF
STKI Israel Market Study 2025 version august
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPT
What is a Computer? Input Devices /output devices
PPTX
Tartificialntelligence_presentation.pptx
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
Developing a website for English-speaking practice to English as a foreign la...
The various Industrial Revolutions .pptx
STKI Israel Market Study 2025 version august
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Getting Started with Data Integration: FME Form 101
Programs and apps: productivity, graphics, security and other tools
A comparative study of natural language inference in Swahili using monolingua...
What is a Computer? Input Devices /output devices
Tartificialntelligence_presentation.pptx
NewMind AI Weekly Chronicles – August ’25 Week III
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
O2C Customer Invoices to Receipt V15A.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
TLE Review Electricity (Electricity).pptx
Web App vs Mobile App What Should You Build First.pdf
Enhancing emotion recognition model for a student engagement use case through...
OMC Textile Division Presentation 2021.pptx
DP Operators-handbook-extract for the Mautical Institute
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Module 1.ppt Iot fundamentals and Architecture
Developing a website for English-speaking practice to English as a foreign la...

Continuously delivered scalable geoservies

  • 1. Continuously Delivered & Scalable Geoservices on Kubernetes Daniel Fenton Esri R&D @dmfenton
  • 2. Quick Background • ArcGIS Hub: • Cities Publish Open Data • Work with Citizens to Solve Urban Problems • Product Launched in 2014 • Actively Used by Hundreds of Organizations • Local Gov • State Gov • Federal Gov • NGOs • Private Business • E.g. https://data-stlcogis.opendata.arcgis.com/
  • 3. Overview • Kubernetes @ 10k Feet • Spatial Download System Architecture • Jenkins and our CI/CD Pipeline • Key Component: Deployment • Kubeutils: FOSS Deployment CLI • Deployment Rollouts • Networking • Monitoring
  • 4. Benefits • Faster time from idea to deployment • Faster and more complete feedback from production • Easier to debug • Easier to add new services • Automated, reliable deployments • Smooth Git Workflow • Scaling on autopilot • Fewer idle resources consumed
  • 5. K8s @ 10k: Key Terminology • Cluster • Master & Nodes • Namespace • Pod • Deployment • Horizonal Pod Autoscaler • Service • Ingress
  • 6. Download System Architecture • Feature Services => (ND) GeoJSON, KML, CSV, Shapefile, Geohash • 15m per year, 1 TB per month • Spiky workloads • Delayed job system, refresh in background
  • 9. Deployment Configuration • Yaml for each service • API • Import Worker • Export Worker • Autoscaling Configuration in same file • Secrets referenced externally (safe to check in) • Changes to this file trigger a deploy
  • 11. Rollouts: blue/green style • Each microservice implements “readiness check” • Is this service up and ready to handle traffic? • Scheduler adds new container with updated code • If readiness check passes => remove old container • Repeat until all old pods have been replaced with new pods • Updates sent in Slack Channel
  • 13. Monitoring • Logging Stack • FluentD Daemonset • 3 Node Elasticsearch Statefulset • Kibana • Exposed on Internal Network • Behind Github Auth Proxy • Metrics/Alerting Stack • Run by Prometheus Operator • Prometheus Statefulset • Alertmanager Statefulset • Pagerduty + Slack Alerts
  • 14. Links • Prometheus operator • Kubernetes Guide • ArcGIS Hub • Koop • Kubeutils • Kops • NGINX Ingress Controller • Cluster Autoscaler