Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Micro services at scale with Docker and
Kubernetes
9-2-2017 – Amsterdam JUG
Bedankt voor jullie aandacht
“Once you stop learning, you start dying”
- Albert Einstein
ARJEN WASSINK
Principal Consultan...
The Menu
1. Intro Microservices
2. Intro Docker
3. Kubernetes
4. Rolling updates
5. Persisted volumes
6. Stateful services
4 Raspberry Pi 2B
Quadcore 900MHz, 1GB RAM, 16GB SD-card
Pi Stack case
D-Link network switch
Anker USB power adapter
Nice ...
Martin Fowler on Microservices:
In short, the microservice architectural style [1] is an approach to
developing a single a...
Microservices: Scaling is important
https://www.nginx.com/blog/introduction-to-microservices/
Microservices: advantages
● The services themselves are very simple, focussing on doing
one thing well;
● Each service can...
Microservices: drawbacks
● Complex distributed systems
● Diverse technology stack
● More software projects to manage
● Rel...
Build Ship Run
http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/
Virtual Machines vs. Containers
https://docs.docker.com/engine/introduction/understanding-docker/
Docker - Architecture
Docker - Layering
https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/
Docker at scale with Kubernetes
Everything at Google
runs in containers
Launch over 2 billion
containers per week.
web browsers
BorgMaster
link shard
UI shardBorgMaster
link shard
UI shardBorgMaster
link shard
UI shardBorgMaster
link sha...
Enter Kubernetes
Greek for “Helmsman”; also the root of
the word “Governor”
• Container orchestrator
• Runs containers
• S...
web browsers
Scheduler
kubectl web browsers
scheduler
Kubelet Kubelet Kubelet Kubelet
Config
file
Kubernetes Master
Contai...
Kubernetes - Architecture
https://en.wikipedia.org/wiki/Kubernetes
http://www.slideshare.net/kitmerker/devnexus-2015-kubernetes-container-engine
Pods, Replication sets & (auto)scaling
Pod
con-
tainer
con-
tainer
Deployment
Replication Set
Pod
con-
tainer
con-
tainer
...
Services
Pod
con-
tainer
con-
tainer
Service
Cluster IP:port <10.0.0.20:80>
Node IP:port <10.150.42.191:88>
Pod
con-
taine...
Namespaces
PodDeployment Pod
Service
PodDeployment Pod
Service
Worker Node Worker Node
Worker Node
Persistent Storage Node
Persistent Volumes
Pod
con-
tainer
con-
tainer
Persisted Volume
Persisted Volume Claim...
Quintor
Resources
• Docker - Build, Ship, and Run Any App, Anywhere – www.docker.com
• Kubernetes - Accelerate Your Delive...
Microservices at scale with docker and kubernetes - AMS JUG 2017
Upcoming SlideShare
Loading in …5
×

Microservices at scale with docker and kubernetes - AMS JUG 2017

764 views

Published on

My presentation on microservices at scale with docker and kubernetes for the Amsterdam Java User Group on 9-2-20117

Published in: Technology
  • Be the first to comment

Microservices at scale with docker and kubernetes - AMS JUG 2017

  1. 1. Micro services at scale with Docker and Kubernetes 9-2-2017 – Amsterdam JUG
  2. 2. Bedankt voor jullie aandacht “Once you stop learning, you start dying” - Albert Einstein ARJEN WASSINK Principal Consultant a.wassink@quintor.nl @ArjenWassink
  3. 3. The Menu 1. Intro Microservices 2. Intro Docker 3. Kubernetes 4. Rolling updates 5. Persisted volumes 6. Stateful services
  4. 4. 4 Raspberry Pi 2B Quadcore 900MHz, 1GB RAM, 16GB SD-card Pi Stack case D-Link network switch Anker USB power adapter Nice white cables Total Cost: +/- EUR 300
  5. 5. Martin Fowler on Microservices: In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
  6. 6. Microservices: Scaling is important https://www.nginx.com/blog/introduction-to-microservices/
  7. 7. Microservices: advantages ● The services themselves are very simple, focussing on doing one thing well; ● Each service can be built using the best and most appropriate tool for the job; ● Systems built in this way are inherently loosely coupled; ● Multiple developers and teams can deliver relatively independently of each other under this model; ● They are a great enabler for continuous delivery, allowing frequent releases whilst keeping the rest of the system available and stable.
  8. 8. Microservices: drawbacks ● Complex distributed systems ● Diverse technology stack ● More software projects to manage ● Reliability and performance ● Exponentially more service instances to manage
  9. 9. Build Ship Run
  10. 10. http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/ Virtual Machines vs. Containers
  11. 11. https://docs.docker.com/engine/introduction/understanding-docker/ Docker - Architecture
  12. 12. Docker - Layering https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/
  13. 13. Docker at scale with Kubernetes
  14. 14. Everything at Google runs in containers Launch over 2 billion containers per week.
  15. 15. web browsers BorgMaster link shard UI shardBorgMaster link shard UI shardBorgMaster link shard UI shardBorgMaster link shard UI shard Scheduler borgcfg web browsers scheduler Borglet Borglet Borglet Borglet Config file BorgMaster link shard UI shard persistent store (Paxos) Binary Developer View What just happened?
  16. 16. Enter Kubernetes Greek for “Helmsman”; also the root of the word “Governor” • Container orchestrator • Runs containers • Supports multiple cloud and bare-metal environments • Inspired and informed by Google’s experiences and internal systems • Open source, written in Go Manage applications, not machines
  17. 17. web browsers Scheduler kubectl web browsers scheduler Kubelet Kubelet Kubelet Kubelet Config file Kubernetes Master Container Image Developer View What just happened?
  18. 18. Kubernetes - Architecture https://en.wikipedia.org/wiki/Kubernetes
  19. 19. http://www.slideshare.net/kitmerker/devnexus-2015-kubernetes-container-engine
  20. 20. Pods, Replication sets & (auto)scaling Pod con- tainer con- tainer Deployment Replication Set Pod con- tainer con- tainer Pod con- tainer con- tainer
  21. 21. Services Pod con- tainer con- tainer Service Cluster IP:port <10.0.0.20:80> Node IP:port <10.150.42.191:88> Pod con- tainer con- tainer Pod con- tainer con- tainer Loadbalancer Kube Proxy (IP Tables) API server Watches
  22. 22. Namespaces PodDeployment Pod Service PodDeployment Pod Service Worker Node Worker Node
  23. 23. Worker Node Persistent Storage Node Persistent Volumes Pod con- tainer con- tainer Persisted Volume Persisted Volume Claim Persisted Volume Mount
  24. 24. Quintor Resources • Docker - Build, Ship, and Run Any App, Anywhere – www.docker.com • Kubernetes - Accelerate Your Delivery – kubernetes.io • Creating a Raspberry Pi cluster running Kubernetes – tinyurl.com/rpi-k8s-cluster @ArjenWassink

×