Top Banner
Page 1 ERNI – Innovation in Process and Technology DOCKER CONTAINERS
48

Docker containers

Jan 19, 2017

Download

Software

Pau Lopez
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Docker containers

Page 1

ERNI – Innovation in Process and Technology

DOCKER CONTAINERS

Page 2: Docker containers

Page 2

ERNI – Innovation in Process and Technology

ABOUT PAUAlmost 15 years in software development

Main technologies:•Professional .NET developer•Opensource projects follower

Main interests:•Domain Driven Design, Distributed systems, Microservices, Event Sourcing, CQRS, Cloud.•And now Docker Containers!

Page 3: Docker containers

Page 3

ERNI – Innovation in Process and Technology

ABOUT YOU?

Page 4: Docker containers

Page 4

ERNI – Innovation in Process and Technology

AGENDA

1. ACHITECTURES EVOLUTION2. KEY TECHNOLOGY : CONTAINERS3. DISRUPTIVE PRODUCT : DOCKER

4. DEMO TIME!

Page 5: Docker containers

Page 5

ERNI – Innovation in Process and Technology

ARCHITECTURE EVOLUTION – THE MONOLITH

Page 6: Docker containers

Page 6

ERNI – Innovation in Process and Technology

ARCHITECTURE EVOLUTION – THE MONOLITH

SHOPPING CARTPRODUCT CATALOG

SHIPPING MODULE BILLING MODULE

Page 7: Docker containers

Page 7

ERNI – Innovation in Process and Technology

ARCHITECTURE EVOLUTION – THE MONOLITH

Page 8: Docker containers

Page 8

ERNI – Innovation in Process and Technology

ARCHITECTURE EVOLUTION – MICROSERVICES

Page 9: Docker containers

Page 9

ERNI – Innovation in Process and Technology

ARCHITECTURE EVOLUTION – MICROSERVICESUNIX PHILOSOPHY• Do one thing and do it well.• Place well with the others• Use standard interfaces

Page 10: Docker containers

Page 10

ERNI – Innovation in Process and Technology

ARCHITECTURE EVOLUTION – MICROSERVICES

Page 11: Docker containers

Page 11

ERNI – Innovation in Process and Technology

ARCHITECTURE EVOLUTION1.1990’s2.Monolith3.Tight

Coupling

1.2000’s2.Neo Monolith3.SOA4.Looser

Coupling

1.2010’s2.Microservices3.Decoupled

Page 12: Docker containers

Page 12

ERNI – Innovation in Process and Technology

SCALING LIMITATIONS PROBLEM

Page 13: Docker containers

Page 13

ERNI – Innovation in Process and Technology

DATABASE COUPLING PROBLEM

Page 14: Docker containers

Page 14

ERNI – Innovation in Process and Technology

WHAT‘S WRONG WITH MONOLITHS?

Page 15: Docker containers

Page 15

ERNI – Innovation in Process and Technology

MONOLITH VS MICROSERVICES

1.COMPLEXITY2.DEPLOYMENT CYCLE3.TEAMS

ORGANIZATION4.SCALABILITY5.TECHNOLOGY STACK

Page 16: Docker containers

Page 16

ERNI – Innovation in Process and Technology

NETFLIX ARCHITECTURE EVOLUTION1.On premises

servers2.One big application

1.Cloud (AWS)2.100s of microservices

Page 17: Docker containers

Page 17

ERNI – Innovation in Process and Technology

MICROSERVICES VISUALIZATION EXAMPLES

Page 18: Docker containers

Page 18

ERNI – Innovation in Process and Technology

MICROSERVICES VISUALIZATION EXAMPLES

Page 19: Docker containers

Page 19

ERNI – Innovation in Process and Technology

NETFLIX FIGURES

Page 20: Docker containers

Page 20

ERNI – Innovation in Process and Technology

NETFLIX FIGURES

Page 21: Docker containers

Page 21

ERNI – Innovation in Process and Technology

GILT FIGURES

Page 22: Docker containers

Page 22

ERNI – Innovation in Process and Technology

ENTERPRISE CLOUD ADOPTION

Page 23: Docker containers

Page 23

ERNI – Innovation in Process and Technology

ABOUT YOU?

STILL AWAKE??? JUST SOME SLIDES TO GO!

Page 24: Docker containers

Page 24

ERNI – Innovation in Process and Technology

AGENDA

1. ACHITECTURES EVOLUTION2. KEY TECHNOLOGY : CONTAINERS3. DISRUPTIVE TECHNOLOGY : DOCKER

4. DEMO TIME!

Page 25: Docker containers

Page 25

ERNI – Innovation in Process and Technology

ENABLING MICROSERVICES ARCHITECTURES

Page 26: Docker containers

Page 26

ERNI – Innovation in Process and Technology

1.Key technology: CONTAINERS

2.Google has been using container technology for over 10 years, starting over 2 billion containers per week

ENABLING MICROSERVICES ARCHITECTURES

Page 27: Docker containers

Page 27

ERNI – Innovation in Process and Technology

VIRTUALIZATION TECHNOLOGIES

Page 28: Docker containers

Page 28

ERNI – Innovation in Process and Technology

CONTAINERS PROMISESFaster Uptime Minutes to Seconds

Smaller Footprint Gigabytes to Megabytes

More Reliable Deployment Works everywhere.

Better Scalability Vertical to Horizontal

Page 29: Docker containers

Page 29

ERNI – Innovation in Process and Technology

AGENDA

1. ACHITECTURES EVOLUTION2. KEY TECHNOLOGY : CONTAINERS3. DISRUPTIVE TECHNOLOGY : DOCKER

4. DEMO TIME!

Page 30: Docker containers

Page 30

ERNI – Innovation in Process and Technology

DOCKER SOLUTION

Page 31: Docker containers

Page 31

ERNI – Innovation in Process and Technology

DOCKER ECOSYSTEM

Page 32: Docker containers

Page 32

ERNI – Innovation in Process and Technology

WINDOWS CONTAINERS COMING SOON…

Page 33: Docker containers

Page 33

ERNI – Innovation in Process and Technology

CONTAINERS PROMISES

Page 34: Docker containers

Page 34

ERNI – Innovation in Process and Technology

CONTAINERS PROMISES

Page 35: Docker containers

Page 35

ERNI – Innovation in Process and Technology

QUESTIONS

Page 36: Docker containers

Page 36

ERNI – Innovation in Process and Technology

AGENDA

1. ACHITECTURES EVOLUTION : NETFLIX EXAMPLE

2. KEY TECHNOLOGY : CONTAINERS3. DISRUPTIVE TECHNOLOGY : DOCKER

4. DEMO TIME!

Page 37: Docker containers

Page 37

ERNI – Innovation in Process and Technology

DEMO – DOCKER BASICSBuild images, Run containers, DockerHub.• Installing Docker• Image vs Container.•DockerFile•Basic commands: ps, images, run, commit, build, version, info•Build a basic image: nodejs, aspnet•Windows containers (optional)

Page 38: Docker containers

Page 38

ERNI – Innovation in Process and Technology

DEMO – DOCKER BASICS

Page 39: Docker containers

Page 39

ERNI – Innovation in Process and Technology

DEMO – DOCKER BASICS

Page 40: Docker containers

Page 40

ERNI – Innovation in Process and Technology

DEMO – IMAGE VS CONTAINER

Page 41: Docker containers

Page 41

ERNI – Innovation in Process and Technology

DEMO – DOCKER TOOLSDOCKER-MACHINE•Docker toolbox for Windows and MacOSX (optional)•Provisioning on local VM with Windows client.•Provisioning on Azure.•Provisioning on AWS.

DOCKER-COMPOSE•Startup template download.•Docker-compose.yml

Page 42: Docker containers

Page 42

ERNI – Innovation in Process and Technology

DEMO – DOCKER TOOLS

Page 43: Docker containers

Page 43

ERNI – Innovation in Process and Technology

DEMO – CONTINUOS DELIVERYBASIC CONTINUOS DELIVERY PIPELINE: NODE AND MONGO•Enable DockerHub for automated Builds.•Configure CircleCI for automated testing.•Configure Tutum for containers as a service.

Page 44: Docker containers

Page 44

ERNI – Innovation in Process and Technology

DEMO – CONTINUOS DELIVERY PIPELINE

PUSH

HTTP POST

HTTP POST

HTTP POST

Page 45: Docker containers

Page 45

ERNI – Innovation in Process and Technology

DEMO REFERENCESDOCKER BASICS: Build images, Run containers, DockerHub.• https://docs.docker.com/installation/ubuntulinux/• http://blog.codefresh.io/docker-machine-basics/• http://www.fireplacecoders.com/?p=15• http://

blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx

• https://docs.docker.com/introduction/understanding-docker/

DOCKER-MACHINE: Local and Cloud providers• https://docs.docker.com/installation/azure/• https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-docker-machine/• https://docs.docker.com/installation/google/• http://

docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html#install_docker• http://networkstatic.net/docker-machine-provisioning-on-aws/• https://alexanderzeitler.com/articles/a-lap-around-aws-and-docker-machine/

Page 46: Docker containers

Page 46

ERNI – Innovation in Process and Technology

DEMO REFERENCESCONTINUOS INTEGRATION, CONTINUOS DELIVERY PIPELINE• http://

blog.bananacoding.com/blog/development-workflow-using-docker-and-docker-compose• http://blog.tutum.co/2015/06/10/node-js-and-continuous-deployment-with-circleci-docker-hub

-and-tutum/

WINDOWS CONTAINERS ON LOCALMACHINE AND AZURE• https://visualstudiogallery.msdn.microsoft.com/0f5b2caa-ea00-41c8-b8a2-058c7da0b3e4• https://

channel9.msdn.com/Blogs/containers/Quick-Start-Provisioning-Containers-using-Visual-Studio?ocid=player

• https://msdn.microsoft.com/virtualization/windowscontainers/quick_start/manage_powershell

Page 47: Docker containers

Page 47

ERNI – Innovation in Process and Technology

REFERENCES• https://docs.docker.com/• http://anandmanisankar.com/posts/container-docker-PaaS-microservices/• http://www.infoq.com/articles/docker-future• https://youtu.be/GVVtR_hrdKI• http://www.slideshare.net/joosthietbrink/microservices-containers-and-docker-for-dummies• http://www.slideshare.net/adriancockcroft/dockercon-state-of-the-art-in-microservices• http://

www.slideshare.net/InfoQ/scalable-microservices-at-netflix-challenges-and-tools-of-the-trade• http://www.slideshare.net/trenaman/scaling-micro-services-at-gilt

• https://channel9.msdn.com/Events/Build/2015/KEY01#time=18m33s• https://channel9.msdn.com/Events/Ignite/2015/BRK3702• https://msdn.microsoft.com/en-us/library/azure/mt125409.aspx• https://msdn.microsoft.com/virtualization/windowscontainers/quick_start/manage_docker• https://

msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/container_setup

Page 48: Docker containers

Page 48

ERNI – Innovation in Process and Technology

www.erni-consultants.com