SlideShare a Scribd company logo
@YourTwitterHandle#DV14 #YourTag @NakedN3rd#Devoxx #GoingGlobal
Going Global with Nomad and
Google Cloud Platform
Bastiaan Bakker
@NakedN3rd#Devoxx #GoingGlobal
Gobal, why bother?
@NakedN3rd#Devoxx #GoingGlobal
Latency costs
Roundtrip from Asia to Europe adds
500ms latency to every request.
In a Google experiment in 2006, increasing page load time from
0.4s to 0.9s resulted in 20% lower traffic and revenue.
@NakedN3rd#Devoxx #GoingGlobal
Failures
● Process
● Server
● Availability Zone
● Region
● LAN
● WAN
● DNS
@NakedN3rd#Devoxx #GoingGlobal
Our toolchest for today
@NakedN3rd#Devoxx #GoingGlobal
Google Cloud Platform
● Fast: create aVM in 30 seconds.
● Clear concepts
● Easy networking
● Global load balancer
@NakedN3rd#Devoxx #GoingGlobal
Nomad
● Cluster manager
● Scheduler
● Task executor
● Service registrator
● Highly scalable & available
● Docker & non-Docker workloads
● Simple & small
● Multi-Region
@NakedN3rd#Devoxx #GoingGlobal
Nomad Scalability
@NakedN3rd#Devoxx #GoingGlobal
Nomad single region setup
@NakedN3rd#Devoxx #GoingGlobal
Creating the Cluster
● Setting up a Nomad server cluster
● Setting up a Nomad client cluster
● Running the first job, nomad-ui.
@NakedN3rd#Devoxx #GoingGlobal
Nomad UI
@NakedN3rd#Devoxx #GoingGlobal
Helloworld
● A simple demo webapp.
● Written in Go, no OS dependencies.
● 12 factor.
● /hello Says hello and counts how many times.
● /health endpoint returns health
● /fs/... serves filesytem
https://github.com/bastiaanb/helloworld
@NakedN3rd#Devoxx #GoingGlobal
Consul
● Service Registry
● Distributed Health Monitoring
● Highly Available
● KV store
● Multi datacenter
● Simple & small
@NakedN3rd#Devoxx #GoingGlobal
Fabio
@NakedN3rd#Devoxx #GoingGlobal
Nomad Multiregion
@NakedN3rd#Devoxx #GoingGlobal
Nomad Datacenters
“Nomad models infrastructure as regions and datacenters. Regions may
contain multiple datacenters. Servers are assigned to regions and manage all
state for the region and make scheduling decisions within that region.
Requests that are made between regions are forwarded to the appropriate
servers.As an example, you may have a US region with the us­east­1 and
us­west­1 datacenters, connected to the EU region with the eu­fr­1 and
eu­uk­1 datacenters.”
@NakedN3rd#Devoxx #GoingGlobal
Consul Datacenters
“we define a datacenter to be a networking environment that is
private, low latency, and high bandwidth.This excludes
communication that would traverse the public internet, but for our
purposes multiple availability zones within a single EC2
region would be considered part of a single datacenter.”
@NakedN3rd#Devoxx #GoingGlobal
Global Loadbalancer
@NakedN3rd#Devoxx #GoingGlobal
Configuration Templating
In your Nomad job:
template {
  data = "{{range service "helloworld" }}{{.Address}}:{{.Port}}n{{end}}"
  destination = "peers.txt"
  change_mode = "noop"
}
@NakedN3rd#Devoxx #GoingGlobal
Consul Prepared Queries
{
    "Name": "",
    "Template": {
        "Type": "name_prefix_match"
    },
    "Service": {
        "Service": "${name.full}",
        "Failover": {
            "NearestN": 3
        }
    }
}
@NakedN3rd#Devoxx #GoingGlobal
Links
● https://www.nomadproject.io/
● https://github.com/iverberk/nomad-ui
● https://www.consul.io/
● https://github.com/eBay/fabio
● https://github.com/bastiaanb/devoxx-2016
https://github.com/bastiaanb/helloworld
● https://cloud.google.com/compute/docs/load-balancing/http/cross-region-exam
● contact: bbakker@xebia.com

More Related Content

PDF
Migratory Workloads Across Clouds with Nomad
PDF
Nomad Multi-Cloud
PPTX
Scaling Development Environments with Docker
PDF
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
PDF
Mystery Machine Overview
PPTX
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
PDF
Load Balancing Applications with NGINX in a CoreOS Cluster
PDF
Service discovery in Docker environments
Migratory Workloads Across Clouds with Nomad
Nomad Multi-Cloud
Scaling Development Environments with Docker
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Mystery Machine Overview
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Load Balancing Applications with NGINX in a CoreOS Cluster
Service discovery in Docker environments

What's hot (20)

PPTX
Openstack study-nova-02
PPTX
NGINX High-performance Caching
PDF
Openstack Scheduler and Scalability Issue
PDF
Kubernetes 1.3 - Highlights
PDF
Wanting distributed volumes - Experiences with ceph-docker
PPTX
Microservices with docker swarm and consul
PDF
Seamless scaling of Kubernetes nodes
PDF
Distributed Logging Architecture in Container Era
PDF
NewSQL overview, Feb 2015
PPTX
Multi tenancy for docker
PDF
Using NGINX as an Effective and Highly Available Content Cache
PDF
Openstack nova
PPTX
DevOps with Kubernetes
PDF
What's New in Docker 1.12?
PPTX
Docker 1.5
PDF
Fluentd and docker monitoring
PDF
Single tenant software to multi-tenant SaaS using K8S
PPTX
Apache BookKeeper State Store: A Durable Key-Value Store - Pulsar Summit NA 2021
PPTX
Docker Service Registration and Discovery
PDF
How secure are your Terraform sensitive values?
Openstack study-nova-02
NGINX High-performance Caching
Openstack Scheduler and Scalability Issue
Kubernetes 1.3 - Highlights
Wanting distributed volumes - Experiences with ceph-docker
Microservices with docker swarm and consul
Seamless scaling of Kubernetes nodes
Distributed Logging Architecture in Container Era
NewSQL overview, Feb 2015
Multi tenancy for docker
Using NGINX as an Effective and Highly Available Content Cache
Openstack nova
DevOps with Kubernetes
What's New in Docker 1.12?
Docker 1.5
Fluentd and docker monitoring
Single tenant software to multi-tenant SaaS using K8S
Apache BookKeeper State Store: A Durable Key-Value Store - Pulsar Summit NA 2021
Docker Service Registration and Discovery
How secure are your Terraform sensitive values?
Ad

Similar to Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform (20)

PDF
MongoDB World 2019: Packing Up Your Data and Moving to MongoDB Atlas
PDF
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
PPTX
Hadoop Training Tutorial for Freshers
ODP
BigData Hadoop
ODP
Devoxx 2014 presentation
PDF
Easy Microservices with JHipster - Devoxx BE 2017
PDF
Devoxx Belgium 2017 - easy microservices with JHipster
PDF
ONOS build 2016 Sharing
PDF
[WSO2Con Asia 2018] Architecting for Container-native Environments
PDF
Getting more into GCP.pdf
PDF
What is Google Cloud Platform - GDG DevFest 18 Depok
PPTX
Summer 2017 undergraduate research powerpoint
PDF
A vision of persistence
PPTX
Managed Cluster Services
PDF
Accra MongoDB User Group
PDF
Dimension Data Cloud Business Unit - Solution Offering
PDF
Global Cluster Topologies in MongoDB Atlas
PPTX
Introdcution to Azure
PDF
Cloud Security and Privacy:An Enterprise Perspective on Risks and Compliance
PDF
Keep Your Cache Always Fresh With Debezium! With Gunnar Morling | Current 2022
MongoDB World 2019: Packing Up Your Data and Moving to MongoDB Atlas
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
Hadoop Training Tutorial for Freshers
BigData Hadoop
Devoxx 2014 presentation
Easy Microservices with JHipster - Devoxx BE 2017
Devoxx Belgium 2017 - easy microservices with JHipster
ONOS build 2016 Sharing
[WSO2Con Asia 2018] Architecting for Container-native Environments
Getting more into GCP.pdf
What is Google Cloud Platform - GDG DevFest 18 Depok
Summer 2017 undergraduate research powerpoint
A vision of persistence
Managed Cluster Services
Accra MongoDB User Group
Dimension Data Cloud Business Unit - Solution Offering
Global Cluster Topologies in MongoDB Atlas
Introdcution to Azure
Cloud Security and Privacy:An Enterprise Perspective on Risks and Compliance
Keep Your Cache Always Fresh With Debezium! With Gunnar Morling | Current 2022
Ad

Recently uploaded (20)

PDF
WebRTC in SignalWire - troubleshooting media negotiation
PPTX
innovation process that make everything different.pptx
PPTX
E -tech empowerment technologies PowerPoint
PPTX
Introduction to Information and Communication Technology
PPTX
Power Point - Lesson 3_2.pptx grad school presentation
DOCX
Unit-3 cyber security network security of internet system
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PDF
Tenda Login Guide: Access Your Router in 5 Easy Steps
PDF
The Internet -By the Numbers, Sri Lanka Edition
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPT
tcp ip networks nd ip layering assotred slides
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PDF
Introduction to the IoT system, how the IoT system works
PPTX
presentation_pfe-universite-molay-seltan.pptx
PPT
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PPTX
Digital Literacy And Online Safety on internet
PDF
Testing WebRTC applications at scale.pdf
WebRTC in SignalWire - troubleshooting media negotiation
innovation process that make everything different.pptx
E -tech empowerment technologies PowerPoint
Introduction to Information and Communication Technology
Power Point - Lesson 3_2.pptx grad school presentation
Unit-3 cyber security network security of internet system
522797556-Unit-2-Temperature-measurement-1-1.pptx
Job_Card_System_Styled_lorem_ipsum_.pptx
Decoding a Decade: 10 Years of Applied CTI Discipline
Tenda Login Guide: Access Your Router in 5 Easy Steps
The Internet -By the Numbers, Sri Lanka Edition
Slides PPTX World Game (s) Eco Economic Epochs.pptx
tcp ip networks nd ip layering assotred slides
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
Introduction to the IoT system, how the IoT system works
presentation_pfe-universite-molay-seltan.pptx
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
An introduction to the IFRS (ISSB) Stndards.pdf
Digital Literacy And Online Safety on internet
Testing WebRTC applications at scale.pdf

Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform

Editor's Notes

  • #3: Our goal: Creating a global datacenter that is highly available, super scalable and responsive. With ‘highly available’ we mean: can widthstand loss / failure of single processes, but also compute nodes, complete availability zones or even regions. With ‘super scalable’ we mean that we can scale up capacity multiple orders of magnitude without having to change the architecture. With ‘responsive’ we mean that we want requests to be served by a server that is ‘near’ the client. Ergo US users get serviced by a US datacenter, European users by a European one.
  • #10: Click to add Notes