SlideShare a Scribd company logo
1 of 75
Download to read offline
DNS Service Discovery
for Docker Swarm
Ahmet Alp Balkan
@AhmetAlpBalkan
Software Engineer, Microsoft
Slides are available at
://aka.ms/srv-dsc
About The Speaker
3
I am Ahmet Alp Balkan, a software engineer at Microsoft.
I contribute to Open Source.
Follow me at @AhmetAlpBalkan.
About This Talk
4
Service Discovery
Service Discovery Methods
A peek into various solutions
Thought exercises
Service Discovery for Docker Swarm
Can a drop-in tool just do it™ for Swarm?
Where are we headed?
Before we begin
5
how many of you…
… use Docker Swarm?
… used a Service Discovery method?
… wrote or configured a DNS server?
Service Discovery
6
Cluster
Service Discovery
7
Cluster
machine1
machine3machine4
machine2
machine5
machine6
machine7
machine8
Service Discovery
8
Cluster
machine3machine4
machine2
machine5
machine7
machine8
db db
db
machine6
machine1
Service Discovery
9
Cluster
machine3machine4
machine2
machine5
machine7
machine8
api
api
api
db db
db
machine6
machine1
Service Discovery
10
Cluster
machine3machine4
machine2
machine5
machine7
machine8
web
web
api
api
api
db db
db
machine6
machine1
Service Discovery
11
Cluster
machine3machine4
machine2
machine5
machine7
machine8
web
web
api
api
api
db db
db
stuff
stuff
stuff
stuff
stuff
machine6
machine1
Service Discovery
12
Cluster
machine3machine4
machine2
machine5
machine7
machine8
web
web
api
api
api
db db
db
stuff
stuff
stuff
stuff
stuff
machine6
machine1
Service Discovery
13
Cluster
machine3machine4
machine2
machine5
machine7
machine8
web
web
api
api
api
db db
db
stuff
stuff
stuff
stuff
stuff
machine6
machine1
Service Discovery
14
Cluster
machine3machine4
machine2
machine5
machine7
machine8
web
web
api
api
api
db db
db
stuff
stuff
stuff
stuff
stuff
machine6
machine1
Service Discovery
15
Cluster
machine3machine4
machine2
machine5
machine7
machine8
web
web
api
api
api
db db
db
stuff
stuff
stuff
stuff
stuff
machine6
machine1
Service Discovery
16
ServiceA ServiceB
help services find and talk to each other
Service Discovery
17
ServiceA ServiceB
addr
help services find and talk to each other
Service Discovery
18
ServiceA ServiceB
ServiceBServiceB
ServiceB
ServiceB
ServiceB
ServiceB
Service Discovery
19
ServiceA ServiceB
ServiceBServiceB
ServiceB
ServiceB
ServiceB
ServiceB
Service Discovery Methods
20
before we begin…
Service Discovery Methods
21
before we begin…
SPOILER: No method is actually really good.

Service Discovery Methods
22
before we begin…
SPOILER: No method is actually really good.

This is still an unsolved problem.

Thought exercise, not a comparison.
Service Discovery in my dreams…
23
it comes with the orchestrator

…or it is a “setup and forget about it”

does not infect the application code

with the service discovery concern,

uses a reliable networking stack,

does not have too many moving parts.

Common Approaches
24
to Service Discovery
Overlay Networks

Mixing Tools (docker bridge + template + rev proxy)

Port Scanning

Domain Name Service
25
Overlay networks
Overlay Networks
26
node0
ServiceA
node1
ServiceB
*magic*
serviceB:80
Overlay Networks
27
Good at container-to-container networking

Static port allocation not a problem
IP address per container

Seamless, does not change the application code

Introduces network latency overhead*
Docker 1.9 Multi-Host Networking
28
Container-to-container overlay network

Discovery* through /etc/hosts entries (DNS)

















Lacking a load balancer (how to http://serviceA?)
29
Mixin’ Tools

(because we can)
30
docker
bridge template
reverse
proxy
service
registry
HAProxy
NGINX
Træfik
interlock
confd
etcd
consul
zookeeper
interlock
registrator
…
Mixin’ Tools
(because we can)
consul-template
31
Reverse Proxies
Reverse Proxies (TCP/IP Load Balancers)
32
HAProxy, NGINX, Træfik, kube-proxy…
Route load balance traffic to multiple backends
can route traffic from/to any port
list of backends can be dynamically updated

ServiceA ServiceBProxy node1:32012
ServiceB node2:33406
ServiceB node7:32104
33
HAProxy, NGINX, Træfik, kube-proxy…
Load balancing

Health checks
do not route traffic to unhealthy backends
ServiceA ServiceBProxy node1:32012
ServiceB node2:33406
ServiceB node7:32104
health probes
Reverse Proxies (TCP/IP Load Balancers)
34
Sticky sessions
route a client’s traffic to the same

backend between requests/connections



Origin-based access control (ACLs)

HAProxy, NGINX, Træfik, kube-proxy…
ServiceA ServiceBProxy
ServiceC ServiceBProxy
Reverse Proxies (TCP/IP Load Balancers)
172.0.1.10
172.0.1.22
35
Connection draining*
wait all connections to close before
removing the backend from the routing list

Allows blue-green deployments
flip the switch → the new version of 

your service starts getting traffic

HAProxy, NGINX, Træfik, kube-proxy…
Reverse Proxies (TCP/IP Load Balancers)
36
Downside: another moving part that can fail
what if the proxy server crashes?

Downside: discovery of the proxy server itself
where do you place the proxy server(s)?
what happens when they get rescheduled

to another host?
how do you discover proxy servers?

Downside: introduces latency overhead
HAProxy, NGINX, Træfik, kube-proxy…
Reverse Proxies (TCP/IP Load Balancers)
37
Bridging Reverse
Proxies with Docker
interlock
registrator
38
Discover new containers through Docker Events API
on container events, update NGINX/HAProxy
Plugin model
write your own event handler
Interlock by @ehazlett
docker
engine
interlock
event: start
nginx
update nginx.conf
Get Container Details
SIGHUP
event: stop
event: die
39
Discover new containers through Docker Events API

Writes service definitions to consul/etcd
Registrator by @progrium
docker
engine
registrator
event: start
consul
Save
Get Containers
event: stop
event: die
40
You can then use consul-template/confd
update haproxy/nginx backends list
Registrator by @progrium
docker
engine
registrator
event: start
consul
Save
Get Containers
event: stop
event: die
consul-template
Watch
nginx
update nginx.conf
41
docker
bridge template
reverse
proxy
service
registry
HAProxy
NGINX
Træfik
interlock
confd
etcd
consul
zookeeper
interlock
registrator
…
Mixin’ Tools
(because we can)
consul-template
42
docker
bridge template
reverse
proxy
service
registry
HAProxy
NGINX
Træfik
interlock
confd
etcd
consul
zookeeper
interlock
registrator
…
Mixin’ Tools
(because we can)
consul-template
Mixin’ Tools
43
Far too many moving parts

How do you deploy these components HA?

You still have N point of failures & additional latency

Connection draining feature is a lie:
…unless orchestrator coordinates with the

reverse proxy
Stopping the container will just

drop the connections.
Connection draining done right
44
kube-proxy handles load balancing in Kubernetes.

When you stop a pod, it is not stopped right away.

Remaining open connections stay alive for T.

(T=grace period, configurable)

Also pre-start/post-start hooks for containers in pods

“Zero downtime rolling upgrades in 1M requests/sec”



http://blog.kubernetes.io/2015/11/one-million-requests-per-second-
dependable-and-dynamic-distributed-systems-at-scale.html

45
Port Scanning

(nmap)
Port Scanning in Overlay Networks
46
by Jeff Nickoloff (github.com/allingeek/nmap-sd)
Add connected containers to a network

(such as Docker 1.9 overlay driver)

Scan open ports in the network’s subnet periodically

(as long as your subnet is small, it’s very reasonable)

Reports accessible ports to a file (bind volume)

Refresh reverse proxy config, route the traffic!
47
DNS

(domain name system)
Motives for DNS
48
Started in 1984, roughly at the same time as TCP/IP

Humans suck at remembering IP addresses

google.com → 2a00:1450:4003:806::200e
and IP addresses do not stick around forever

Can this 30-year old tech save us?
DNS Service Discovery
49
ServiceA ServiceB
addr
DNS
IPs
DNS Service Discovery
50
ServiceA ServiceB
IPs
DNS
Intro to DNS Resource Records
51
Type A/AAAA records
<hostname> → <IP>



$ dig A +short docker.com.

52.7.79.61

52.22.96.108

54.84.192.71
ugly truth: has no port information
can’t support dynamic port-assigned
containers :(
Intro to DNS Resource Records
52
Type SRV records
<hostname> → <IP, port, weight>



$ dig SRV +short _database._tcp.local.

1 1 32770 192.168.0.4

1 1 32769 192.168.0.7

1 1 32801 192.168.0.6

ugly truth: SRV is neither used anywhere,

nor getting adopted.



new MySQLDriver(“_database._tcp.local”)
ain’t happenin'
Bad News
53
SRV is cool but not getting any adoption at all.

We are left with A/AAAA records = IP addresses
Works if all your instances are on static ports
(such as docker run -p 80:80)
When you do dynamic ports (docker run -P),

you need to resolve the port from SRV rec.



host, port = resolveSRV(“_database._tcp.local”)

… = new MySQLDriver(host, port)
you don’t want to do this all the time
DNS
54
Advantage: very simple, far less moving parts

Disadvantage: goodbye dynamic port allocation

Advantage: reduces load on middleware (DNS TTL)

Disadvantage: some languages* do not obey TTLs

Advantage: uses existing network stack

Disadvantage: no resilient way to do health checks

Advantage: load balancing by shuffling IPs :)

55
Mesos-DNS
Mesos-DNS
56
github.com/mesosphere/mesos-dns
Deploy once, forget about it
Designed for Apache Mesos
Queries /state.json periodically to

discover new tasks
mesos-master
task
sync
mesos-dns
mesos-mastermesos-master
DNS query
DNS records
Mesos-DNS
57
github.com/mesosphere/mesos-dns
Stateless
Easy to replicate and make it HA

Provides HTTP REST API
For example, write your own SRV router

without doing any SRV calls

Many features
IPSec, SOA/SRV/A records, DNS over TCP…
58
SkyDNS
SkyDNS
59
github.com/skynetservices/skydns2
Very similar to Mesos-DNS.

Closely coupled to etcd.

Really complicated, probably does everything.
Kinda hard to set up, too.

Embraces plugin model, but only plugin is etcd.

Used by Kubernetes as default DNS add-on.
60
wagl

Minimalistic DNS Service Discovery for Docker Swarm
61
wagl

Minimalistic DNS Service Discovery for Docker Swarm
Service Discovery in my dreams…
62
it comes with the orchestrator

…or it is a “setup and forget about it”

does not infect the application code

with the service discovery concern,

uses a reliable networking stack,

does not have too many moving parts.

wagl
63
github.com/ahmetalpbalkan/wagl
Inspired by Mesos-DNS, built for Swarm ♥

Install and forget about it

Stateless, easy to replicate

Speaks Docker language, runs inside container

Minimalistic feature set, because I’m lazy
wagl architecture
64
swarm wagl
events
service
Get Containers
refresh
periodically
DNS query
DNS records
wagl Placement
65
swarm
manager
wagl
master0
swarm
manager
wagl
master2
swarm
manager
wagl
master1
stuff
node0
stuff
stuff
stuff …
…
docker run --dns master0 --dns master1 --dns master2 …
node1 nodeN
Service Naming
66
Using “Docker Labels”
docker run -p 80:80 

-l dns.service=api 

nginx

http://api.billing.swarm.
More labels…
67
docker run -p 80:80 

-l dns.service=api 

-l dns.service=billing 

nginx

http://api.billing.swarm.
Features
68
Only DNS A/SRV records

Natural Load Balancing by shuffling DNS records

External DNS recursion

Works well with Docker TLS authentication
Deploying wagl
69
Just run:



docker run -d --restart=always --name=dns 

-p 53:53/udp 

--link=swarm-master:swarm 

ahmet/wagl 

wagl --swarm tcp://swarm:3376



If it can get any easier, it means I have failed.
70
wagl in Action

(demo time)
Embrace & Contribute
71
Source code:



https://github.com/AhmetAlpBalkan/wagl
72
Where are
we headed?
Where are we headed?
73
These are just baby steps (expect innovation here)

We need a complete and seamless solution

The solution will not change the application code

A combination of DNS + Reverse Proxy can be it

Watch for what orchestrators are going to adapt
Find more at
github.com/AhmetAlpBalkan/wagl
Thank you!
Ahmet Alp Balkan@AhmetAlpBalkan

More Related Content

Viewers also liked

Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker, Inc.
 
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart Docker, Inc.
 
Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Docker, Inc.
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with DockerDocker, Inc.
 
Load Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXLoad Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXNGINX, Inc.
 
Orchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresOrchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresDocker, Inc.
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDocker, Inc.
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Docker, Inc.
 
Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0 Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0 Docker, Inc.
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker, Inc.
 
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC WongDocker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC WongDocker, Inc.
 
containerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerdcontainerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerdDocker, Inc.
 
Docker consul-registrator
Docker consul-registratorDocker consul-registrator
Docker consul-registratorlaonap166
 
Automatic docker service announcement with registrator and confd
Automatic docker service announcement with registrator and confdAutomatic docker service announcement with registrator and confd
Automatic docker service announcement with registrator and confd충섭 김
 
A Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to KnowA Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to KnowFishbowl Solutions
 
Docker in production service discovery with consul - road to opscon 2015
Docker in production  service discovery with consul - road to opscon 2015Docker in production  service discovery with consul - road to opscon 2015
Docker in production service discovery with consul - road to opscon 2015Giovanni Toraldo
 
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Dominik Obermaier
 
Lessons learned in reaching multi-host container networking
Lessons learned in reaching multi-host container networkingLessons learned in reaching multi-host container networking
Lessons learned in reaching multi-host container networkingTony Georgiev
 
Docker Service Registration and Discovery
Docker Service Registration and DiscoveryDocker Service Registration and Discovery
Docker Service Registration and Discoverym_richardson
 

Viewers also liked (20)

Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
 
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
 
Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with Docker
 
Load Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXLoad Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINX
 
Orchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresOrchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failures
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
 
Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0 Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data plane
 
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC WongDocker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
 
containerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerdcontainerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerd
 
Docker consul-registrator
Docker consul-registratorDocker consul-registrator
Docker consul-registrator
 
Automatic docker service announcement with registrator and confd
Automatic docker service announcement with registrator and confdAutomatic docker service announcement with registrator and confd
Automatic docker service announcement with registrator and confd
 
A Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to KnowA Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to Know
 
Docker in production service discovery with consul - road to opscon 2015
Docker in production  service discovery with consul - road to opscon 2015Docker in production  service discovery with consul - road to opscon 2015
Docker in production service discovery with consul - road to opscon 2015
 
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
 
Lessons learned in reaching multi-host container networking
Lessons learned in reaching multi-host container networkingLessons learned in reaching multi-host container networking
Lessons learned in reaching multi-host container networking
 
Docker Service Registration and Discovery
Docker Service Registration and DiscoveryDocker Service Registration and Discovery
Docker Service Registration and Discovery
 

More from Docker, Inc.

Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Docker, Inc.
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildDocker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSDocker, Inc.
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXDocker, Inc.
 
How To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeDocker, Inc.
 
Distributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDocker, Inc.
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubDocker, Inc.
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices WorldDocker, Inc.
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...Docker, Inc.
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with DockerDocker, Inc.
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeDocker, Inc.
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryDocker, Inc.
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Docker, Inc.
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog ScaleDocker, Inc.
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels Docker, Inc.
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelDocker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSDocker, Inc.
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...Docker, Inc.
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDocker, Inc.
 

More from Docker, Inc. (20)

Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker Build
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINX
 
How To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and Compose
 
Hands-on Helm
Hands-on Helm Hands-on Helm
Hands-on Helm
 
Distributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at Salesforce
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker Hub
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices World
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with Docker
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio Code
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container Registry
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog Scale
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
 

Recently uploaded

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

DockerCon EU 2015: DNS Service Discovery for Docker Swarm