SlideShare a Scribd company logo
Discussing the difference between
Docker containers and Virtual Machines
Bachelor seminar
Steven Grzbielok ■ 12th of August, 2016
About me
Steven Grzbielok
• Born in 1994, living in Ratingen
• 6th term Information Systems (B.Sc.)
• IT-Consultant for MT AG since 2014
• Primarly deals with UI-Design
and web development
Agenda
1. What is Docker and what benefits are
promised for the usage of Docker?
2.Comparison of an example: VM vs. Docker
3.Conclusion: Guidelines
1. What is Docker and what benefits
are promised for the usage of
Docker?

Recommended for you

Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...

(FR) Introduction très sympathique autour des environnements Cloud avec un focus particulier sur la virtualisation et les containers (Docker) (ENG) Friendly presentation about Cloud solutions with a focus on virtualization and containers (Docker). Author: Nicholas Weaver – Principal Architect, Intel Corporation

containers;virtualization;docker;cloud
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio

One of the upsides of Microservices is the ability to deploy often,at arbitrary schedules, and independently of other services, instead of requiring synchronized deployments happening on a fixed time. But to really leverage this advantage, we need fast, efficient, and reliable deployment processes. That's one of the value propositions of Containers in general, and Docker in particular. Docker offers a new, lightweight approach to application portability.It can build applications using easy-to-write, repeatable, efficient recipes; then it can ship them across environments using a common container format; and it can run them within isolated namespaces which abstract the operating environment, independently of the distribution,versions, network setup, and other details of this environment. But Docker can do way more than deploy your apps. Docker also enables you to generalize Microservices principles and apply them on operational tasks like logging, remote access, backups, and troubleshooting.This decoupling results in independent, smaller, simpler moving parts.

dockermicroserviceslinux
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker

This document provides an overview of Docker and the author's experience. It discusses key Docker concepts like images, containers, the Dockerfile and Docker Engine. It also summarizes Docker benefits like portability, scalability and efficiency. Components like Docker Hub, Docker Machine and orchestration tools are briefly introduced. Security considerations and using Docker in production are also mentioned.

bdnog6
Motivation
Virtual machines are often called heavyweight
and slow.
Is Docker a promising alternative?
What are the differences between both
techniques?
Fundamentals
• Virtualization → Dividing a physical computer
into several virtual environments
• VM = large files and big processes
• Alternative: Linux containers
• Docker: Promised to be lightweight, open,
secure and scalable
Di Liu & Zhao, 2014, p. 475; Bui, 2015, p. 1; Pahl, 2015, pp. 24-25; Docker Inc., 2016h
What is a virtual machine?
Virtualization means the operation of system
components in an abstract environment that is
often detached from the hardware and the
operating system which is used as a host.
Scalability and portability
Hofer & Fischer, 2008, p. 970
Evolution of VMs
• First virtualization approach from IBM
(1960s/1970s) for dividing one physical
machine
• First language level approach by Sun to deliver
VMs with Java applications
• Microsoft developed virtualization techniques
for running Windows even on a Mac
• Popularity was gained through Vmware which
developed a simple workstation for the end
user
Douglis & Krieger, 2013, p. 6; Ruest & Ruest, 2009, pp. 24–26;

Recommended for you

Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container Environments

Providing state to applications in Docker requires a backend storage component that is both scalable and resilient in order to cope with a variety of use cases and failure scenarios. The Infinit Storage Platform has been designed to provide Docker applications with a set of interfaces (block, file and object) allowing for different tradeoffs. This talk will go through the design principles behind Infinit and demonstrate how the platform can be used to deploy a storage infrastructure through Docker containers in a few command lines.

Why Docker
Why DockerWhy Docker
Why Docker

Configuration management tools like Chef, Puppet, and Ansible aim to reduce inconsistencies by imposing and managing consistent configurations across environments. However, they do not fully address issues related to dependencies, isolation, and portability. Docker containers build on these tools by adding standard interfaces and a lightweight virtualization layer that encapsulates code and dependencies, allowing applications and their environments to be packaged together and run consistently on any infrastructure while also providing isolation.

lxcdockerdotcloud
Docker Basics
Docker BasicsDocker Basics
Docker Basics

This document discusses containers, virtual machines, and Docker. It provides an overview of containers and how they differ from virtual machines by sharing the host operating system kernel and making more efficient use of system resources. The document then covers Docker specifically, explaining that Docker uses containerization to package applications and dependencies into standardized units called containers. It also provides examples of Docker commands to build custom images and run containers.

tutorialdockerdevops
What is a VM?
• Abstract version of a complete computer
• Consists of
o A configuration file (amount of RAM, virtual disks)
o Hard drive files (virtual version of a physical hard drive)
o In-memory file (virtual version of the RAM) → saved when you
e.g. pause the VM
o VM state file (saves the state of the VM when pausing or
shutting down)
o Other OS specific files like logs
Ruest & Ruest, 2009, pp. 30–31
Virtualization models
Often free and easy to setup
→Used for starting a project
More efficient, but harder to setup
→Used for productive environments
Ruest & Ruest, 2009, pp. 33
What is a hypervisor?
• Small operating system that exists only for
partitioning resources → Virtualizes the
hardware
• Isolates VMs and blocks access attempts
between the VMs
• Hypervisor type 1: Runs directly on hardware
• Hypervisor type 2: Runs on top of a OS
Vogel, Koçogˇlu, & Berger, 2010, pp. 9–11; Ruest & Ruest, 2009, p. 39; Fox, 2012, p. 54
Downsides of VMs
• VM are heavyweight and inefficient compared
to a non-virtualized system
• Applications are not easily portable
• Slow in IT provisioning
Raj, Chelladhurai, & Singh, 2015, p. 2

Recommended for you

Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !

Hypervisor "versus" Linux Containers! Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. Less hardware, less pain and more scalability in production, on VMs, bare-metal servers, OpenStack clusters, public instances, or combinations of the above. "Do more with less " and this is all that matters! Automation of server and applications deployments never had been so easy and fast that ever. Also brings produtivity to a new level, in the DataCenters and Cloud Environments. Francisco Gonçalves (Dec2013 ( francis.goncalves@gmail.com )

server automationdata-center automationdocker
Docker introduction
Docker introductionDocker introduction
Docker introduction

This document introduces Docker containers. It begins by explaining that Docker solves the problem of inconsistent environments by packaging applications with all their dependencies into standardized units called containers. It then defines what a Docker image is, as a read-only template with layered filesystem changes that form the basis for containers. Finally, it describes how containers are running instances of images that isolate processes but share resources with the host machine, making them lightweight and portable compared to virtual machines.

docker
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker

- Docker is a platform for building, shipping and running applications. It allows applications to be quickly assembled from components and eliminates discrepancies between development and production environments. - Docker provides lightweight containers that allow applications to run in isolated environments called containers without running a full virtual machine. Containers are more portable and use resources more efficiently than virtual machines. - Docker Swarm allows grouping Docker hosts together into a cluster where containers can be deployed across multiple hosts. It provides features like service discovery, load balancing, failure recovery and rolling updates without a single point of failure.

Hypervisors
• Software
virtualization is
often used to start
a project
• Hardware
virtualization is
often used for
production
environments
Nagy, 2015; Ruest & Ruest, 2009, p. 39;Fox, 2012, p. 54
Hypervisor:
● Small OS that only exists to manage
the VMs
● Can run insteadof the host OS (type 1)
or on top of the host OS (type 2)
Architecture of container virtualization
• Contains only the
needed applications
and dependencies
• Container share the
same kernel with
other containers
• Benefits also from
the resource
isolation and
allocation like VMs
Di Liu & Zhao, 2014, p. 476; Bui, 2015, p. 2
Benefits of containers
• Virtualized hardware is slower than regular
ones
• The negative effects can be reduced by sharing
the same kernel → containers
• Container encapsulates single service (micro
service architecture)
• Container packages all neccessary components
• Communication through APIs
• Container platforms are e.g. Docker or Rocket
Nagy, 2015
Docker
• Used by famous companies like Ebay,
Spotify…
• Can only host containers from the same type
as the host OS
• Currently only Linux containers on a Linux
host
• Microsoft is developing the Docker support on
Windows Server 2016 to support Windows
containers
Raj, Chelladhurai, & Singh, 2015, p. 2; Bui, 2015, p. 2; Docker Inc., 2016b

Recommended for you

Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker

Containers provide lightweight virtualization that packages applications and dependencies together. The document introduces containers and Docker, discusses the differences between containers and virtual machines, and covers key Docker concepts like images, Dockerfiles, Docker Hub, and running SQL Server in containers. It also addresses container setup, licensing, and performance considerations for using containers with SQL Server.

dockersql serversql
Introduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in betweenIntroduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in between

Introduction to Containers - From Docker to Kubernetes and everything in between Presented at: Open Source 101 at Home 2020 Presented by: Brent Laster, SAS Abstract: In this workshop, students will get a quick overview of what containers are and why they form the basis for many of the key technologies that we use today in cloud environments. We’ll explore what makes up a container and how they are managed and leveraged in key industry tooling including Docker, Kubernetes, Helm, and Istio. You’ll also learn the basics of these technologies, what they are used for, and see some simple examples of how to use them. This workshop will include hands-on labs where you will get experience: - Building container images, running them as containers, and tagging and pushing them into a Docker repository. - Creating deployments, services, and pods for containers and instantiating and running those in Kubernetes. - Working with Helm to leverage templates for Kubernetes objects and managing releases in Kubernetes. - Working with Istio to do traffic shaping between multiple versions of your app, fault and delay injection for testing and validation in Kubernetes. We’ll also briefly cover GitOps – the recommend Git-based way to manage infrastructure like your Kubernetes cluster. For more info: https://opensource101.com  

open source 101 at homeopen source 101all things open
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction

This document discusses Docker containers and provides an introduction. It begins with an overview of Docker and how it uses containerization technology like Linux containers and namespaces to provide isolation. It describes how Docker images are composed of layers and how containers run from these images. The document then explains benefits of Docker like portability and ease of scaling. It provides details on Docker architecture and components like images, registries and containers. Finally, it demonstrates how to simply run a Docker container with a command.

dockerinnfinisionsysadmin
Docker engine is driven by LXC
• Linux Containers (LXC): Package to control
user spaces
• Essential Feature:
Namespaces (implemented on kernel-level)
seperate the containers from the host OS
o PID: Process ID namespace
o IPC: Inter Process Communication namespacce
o MNT: Mount namespace
o UTS: Unix Timesharing System
o Networking namespace
Merkel, 2014; Di Liu & Zhao, 2014, p. 476
Other advantages of LXC
• Control groups isolate groups of processes
and make it possible to manage the resource
allocation between cgroups
• Union file sytem: Copy-on-write creates a copy
of the data on modification and changes the
current pointer to the right set of data after the
process
→ Especially useful for data that is shared by
multiple applications
Pahl, 2015, pp. 26-27; Anderson, 2015, p. 104; Joy, 2015, p. 344; Di Liu & Zhao, 2014, p. 476
Docker Hub: One of the reasons of the rapidly growing
community
• Cloud service to upload and share containers
• Upload for private or public usage
• Easy to „pull“ a container and use it or modify
it
• 320 Mio. downloads until beginning of 2015
• Prebuilt containers with software such as
Node.js, MongoDB, Wordpress or the Apache
web server
E N, Mulerickal, Paul, & Sastri, 2015, p. 697; Haydel et al., 2015, p. 366; Docker Inc., 2016c
2. Comparison of an example:
VM vs. Docker Containers
a “self-experiment”

Recommended for you

Docker 101
Docker 101Docker 101
Docker 101

This document provides an overview of Docker, including what Docker is, why it is used, when it should be used, and key Docker concepts like images, networking, and orchestration tools. Docker allows applications to be packaged with all their dependencies and run in isolated containers, improving portability, scalability, and security. Common use cases include stateless applications, automated workflows, and making stateful applications stateless through services like Redis. The document also covers Dockerfiles, Compose, Swarm, Kubernetes and networking drivers.

dockertechnologyintroduction
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker

This document provides an overview of Docker, including what it is, how it compares to virtual machines and containers, its architecture and features. It discusses that Docker virtualizes using lightweight Linux containers rather than full virtual machines, and how this provides benefits like smaller size and faster performance compared to VMs. It also covers Docker's components like the Docker Engine, Hub and images, and how Docker can be used to develop, ship and run applications on any infrastructure.

vecontainervirtulizaiton
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers

This document provides an introduction to Docker and containers. It discusses why containers are useful for software deployment given changes in the industry. Containers provide lightweight isolation of applications and their dependencies. Docker is a tool that manages containers running on the same operating system kernel. Key Docker components include the client, server, images, and containers. Popular use cases of Docker include Google running over a billion containers per week and Finnish Railways saving 50% of cloud costs with Docker.

#docker #containerization #paas #cloud
Setup of the example
Host OS: Windows 10 Pro (64 Bit)
Guest OS: Linux Server (AMD64) 16.04
Notebook model: Dell Latitude E5550
CPU: Intel Core i5-5300U @ 2,30GHz (Turbo-Boost to 2,90 GHz)
RAM: 16 GB
VM VirtualBox 5.0.22
RAM: 2GB
CPU: 1 Core
Docker Docker for Windows 1.12.0-rc2-beta16 (build: 4760)
RAM: 2GB
CPU: 1 Core
Installation process
Virtual Machine Docker
• Possible hosts: x86/x64
systems
• Possible guests: Windows
(Server), Linux...
• Regular installation
process via an executable
file
• No Hyper-V support
• Simple and short
installation wizard
• Hosts: x64 systems
• Possible guests: Linux
• Hyper-V has to be
activated!
→ Docker activates it if
necessary. Restart has
to be done to complete
the installation
Build: General
Both systems offer the following options:
1. Use a prebuilt image/container (and adapt it to
your needs)
2. Build your own image/container
1. By hand
2. Scripted
Oracle, 2016a; VirtualBoxes, 2016; VirtualBoxImages.com, 2008
Prebuilt images
Virtual Machine Docker
• Prebuilt systems
downloadable from Oracle or
non-official repositories like
VirtualBoxes or
VirtualBoxImages
• Should not be used as a
production environment (only
for testing and development
purposes)
• Pull an image from the
Docker Hub (e.g. Docker pull
ubuntu)

Recommended for you

Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30

A brief introduction to Docker Container technology done at Gurgaon Docker Container Meetup on 30-Jan-2016. Includes command to launch a simple 2 container linked application that hosts a Etherlite web application.

simple web appintroductiondemonstration
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction

This document discusses Docker, including what it is, why it is used, and how it works. Docker provides lightweight software containers that package code and its dependencies so the application runs quickly and consistently on any computing infrastructure. It allows applications to be easily deployed and migrated across computing environments. The document outlines how Docker addresses issues like managing multiple software stacks and hardware environments by creating portable containers that can be run anywhere without reconfiguration. Examples of using Docker for microservices, DevOps, and data centers are also provided.

docker
cert
certcert
cert

This document appears to contain student enrollment information for a student named Jonathan Hunt, including test scores of 96, 24, and 120, an online course status, a payment of $2300 that was approved, and enrollment dates of 08/28/2016.

Build your own image
Virtual Machine Docker
• By Hand → Create a new VM,
install the OS, install your
applications
• Scripted build process with
Vagrant and Puppet
• By hand → Pull a basic Linux
image and modify it until it
fits the requirements
• Scripted build process:
– Docker build for the
creation with a
Dockerfile
– Docker compose for
multi-container
applications
– Automated build with
Puppet
HashiCorp, 2016a; HashiCorp, 2016b; Heidi, 2013a; Heidi, 2013b; Docker Inc., 2016a; Docker Inc., 2016f; Docker Inc., 2016g; Mouat, 2016, p. 19
Build your own image
Virtual Machine Docker
• Deployment process:
Export VM from host 1 → Import VM
to host 2
• Export and import via the GUI of
VirtualBox
• Deployment process can take up to
one hour (depending on image size
and host performance)
• Continuous Integration with a
private VirtualBox cloud and the
Jenkins VirtualBox plugin
• Docker push to upload the image
to the Docker Hub (either private
or public repository)
→ Afterwards can be pulled from
every client
• CI is possible with the
integration of Docker, GitHub
and Jenkins to automatically
push and pull new builds
Oracle, 2010; Oracle, 2012, pp. 5–6; Jenkins-CI, 2013; Docker Inc., 2015; Docker Inc., 2016a
Run: CPU Benchmark¹
Virtual Machine
Goal: Fast execution of the process
Docker
(~0,57% slower)
¹ All benchmarks are done with Sysbench for Linux
Run: File IO Benchmark
Virtual Machine Docker
(~78,45% faster)
Transfer of a 50GB file

Recommended for you

Performance Monitoring for Docker Environments - Docker Amsterdam June Meetup
Performance Monitoring for Docker Environments - Docker Amsterdam June MeetupPerformance Monitoring for Docker Environments - Docker Amsterdam June Meetup
Performance Monitoring for Docker Environments - Docker Amsterdam June Meetup

Performance monitoring for Docker Challenges around Docker monitoring - Anomaly detection - CoScale demo For more info about how to use CoScale Docker monitoring, some reading material here: http://www.coscale.com/blog/how-to-monitor-docker-containers-with-coscale and http://www.coscale.com/blog/how-to-monitor-your-kubernetes-cluster A summary of CoScale Docker performance monitoring can be found here: http://www.coscale.com/docker-monitoring

Writing Docker monitoring agent with Go
Writing Docker monitoring agent with GoWriting Docker monitoring agent with Go
Writing Docker monitoring agent with Go

Fune is a Go program that acts as a Docker monitoring agent. It listens to Docker events through the Docker events API and emits actions in response to events, such as notifying Slack or updating a service registry. The agent communicates with the Docker daemon via its socket. It allows emitting pluggable actions when container events like create, start, stop and die are received.

Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...

Spenser Reinhardt's presentation on Detecting Security Breaches With Docker, Honeypots, & Nagios. The presentation was given during the Nagios World Conference North America held Oct 13th - Oct 16th, 2014 in Saint Paul, MN. For more information on the conference (including photos and videos), visit: http://go.nagios.com/conference

conferencenagios world conferencenagios
Run: MySQL Benchmark
Virtual Machine Docker
(~3,94% slower)
Transactional processes on 1.000.000 test records
Run: Conclusion
• Docker performs much better in the file IO
benchmark
• The VM was slightly better when it comes to
CPU and database performance
→ But the difference was very small, it could be
influenced by side effects
HowtoForge, 2016
3. Conclusion: Comparison based on
Quality Issues
• Architecture of a VM guarantees isolation.
Container isolation depends hardly on the used
virtualization platform (e.g. Docker)
• Docker manages the communication between
containers but the architecture is not 100% safe
against unwanted accesses
→ VM is more suitable for processing business
critical data
Security
Joy, 2015, p. 343

Recommended for you

Running Netflix OSS on Docker with Nirmata
Running Netflix OSS on Docker with NirmataRunning Netflix OSS on Docker with Nirmata
Running Netflix OSS on Docker with Nirmata

Nirmata is an enterprise platform that uses Netflix OSS like Eureka, Zuul, Ribbon, and Archaius to build cloud applications. It allows users to model their business services and deploy them along with infrastructure services to sandbox environments using Docker containers. Services are deployed by launching Docker containers from a central repository in a specific order to ensure dependencies are met. Nirmata addresses challenges in running Docker containers together by configuring ports, service communication, and dependency injection.

dockernirmatanetflix oss
bed-con 2015 - From Virtual Machines to Containers
bed-con 2015 - From Virtual Machines to Containersbed-con 2015 - From Virtual Machines to Containers
bed-con 2015 - From Virtual Machines to Containers

Christian Lipphardt and Sebastian Menski talk about do and don't and giving good advices when rebuilding your CI infrastructure.

bed-con 2015 jenkins ci
Docker Indy Meetup Monitoring 30-Aug-2016
Docker Indy Meetup Monitoring 30-Aug-2016Docker Indy Meetup Monitoring 30-Aug-2016
Docker Indy Meetup Monitoring 30-Aug-2016

Docker Indy Meetup - Monitoring 30-Aug-2016 - Monitoring platforms - Built in Healthchecks - Sysdig demo - Swarm mode demo + healthchecks Link to demo repository: https://github.com/mbentley/docker-healthcheck-demos

docker indy indianapolis meetup monitoring swarm
Performance
• Possible to run more virtual systems on a
single server with containers (-->share OS
kernel)
• Processing of Docker containers can be up to
three times faster but this depends on the
hardware that is related to the work that has to
be done → CPU processing is nearly the same,
hard drive access is much faster in Docker
containers
Joy, 2015, pp. 342-345;
Portability
• Docker containers only need around 200MB
while a VM needs around 8GB → Better
deployment with Docker containers
• Build, push and pull is done within a few
seconds or a few minutes with Docker
Containers, VMs need up to one hour
• Higher portability due to the better deployment
• Standardized host OS for Docker containers
• VMs are independend from their host OS
• VMs can be configured and used like a regular
computerSeo, Hwang, Moon, Kwon, & Kim, 2014, pp. 108-110; Dua, Raja, & Kakadia, p. 614
Scalability
• Startup of a container needs not much
resources and can be done in 10% of the time
that a VM needs → Better scalabilty
• Docker containers can be scaled up and down
22 times faster than VMs
Seo et al., 2014, p. 109; Joy, 2015, p. 345
Guidelines - When to use Docker,
when to use a VM

Recommended for you

Netflix and Containers: Not A Stranger Thing
Netflix and Containers:  Not A Stranger ThingNetflix and Containers:  Not A Stranger Thing
Netflix and Containers: Not A Stranger Thing

Customers from over all over the world streamed Forty Two Billion hours of Netflix content last year. The Netflix streaming service had been powered by the Amazon cloud with virtual machines for over five years, blazing a trail for similar architectures. In the last year, it invested in containers for batch-style jobs and service-style applications. Andrew Spyker will explain the potential containers have to help Netflix create a more productive development experience while simultaneously deepening its control over resource management. Join Andrew to see why Netflix is moving forward with containers, how it can leverage its existing operational machinery, and how it’s running containers with a similar guarantee of high availability as current Netflix infrastructure provides.

netflixdockercontainers
Docker Basics
Docker BasicsDocker Basics
Docker Basics

Docker is an open source containerization platform that allows applications to be easily deployed and run across various operating systems and cloud environments. It allows applications and their dependencies to be packaged into standardized executable units called containers that can be run anywhere. Containers are more portable and provide better isolation than virtual machines, making them useful for microservices architecture, continuous integration/deployment, and cloud-native applications.

docker
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...

Docker offers a new, lightweight approach to application portability. Applications are shipped using a common container format, and managed with a high-level API. Their processes run within isolated namespaces which abstract the operating environment, independently of the distribution, versions, network setup, and other details of this environment. This "containerization" has often been nicknamed "the new virtualization". But containers are more than lightweight virtual machines. Beyond their smaller footprint, shorter boot times, and higher consolidation factors, they also bring a lot of new features and use cases which were not possible with classical virtual machines. We will focus on one of those features: separation of operational concerns. Specifically, we will demonstrate how some fundamental tasks like logging, remote access, backups, and troubleshooting can be entirely decoupled from the deployment of applications and services. This decoupling results in independent, smaller, simpler moving parts; just like microservice architectures break down large monolithic apps in more manageable components.

opscontainerslxc
1. When the number of guest systems and their size
should be scalable (e.g. cloud).
2. When the performance of the virtual system is a critical
criterion (e.g. in cloud and PaaS scenarios).
3. When continuous integration should be easily used.
4. When fast deployment should be established and
portability e.g. for the development team is necessary.
5. When you wan to guarantee a standardized host OS for
your virtual system.
When to use Docker?
1. When processing business critical data and you want
full isolation wihtout root access on the host system
due to the architecture.
2. When the installation and configuration of additional
software should be easy even for inexperienced users.
3. When the VM should be independent of its host OS and
the virtualization platform.
When to use a VM?
Thanks for your attention!
A more specific talk “Boost your APEX deployment
with Docker” based on this research will be hold at
DOAG2016.
Bibliography (1/4)
Anderson, C. (2015). Docker. IEEE Software, 2015(15), 102–105.
Bui, T. (2015). Analysis of Docker Security. Retrieved from Aalto University School of Science website: http://arxiv.org/pdf/1501.02967v1
Di Liu, & Zhao, L. (2014). The Research and Implementation of Cloud Computing Platform based on Docker. In J. P. Li (Ed.), 2014 11th
International Computer Conference on Wavelet Active Media Technology and Information Processing (ICCWAMTIP). 19 - 21 Dec. 2014,
Chengdu, Sichuan Province, China (pp. 475–478). Piscataway, NJ: IEEE. Retrieved from
http://ieeexplore.ieee.org/servlet/opac?punumber=7063853
Docker Inc. Using Puppet. Retrieved from https://docs.docker.com/engine/admin/puppet/
Docker Inc. (2015). Building a Continuous Integration Pipeline with Docker.
Docker Inc. (2016a). Build your own images. Retrieved from https://docs.docker.com/engine/tutorials/dockerimages/
Docker Inc. (2016b). Docker and Microsoft: Build, Ship, Run with Docker and Microsoft. Retrieved from https://www.docker.com/microsoft
Docker Inc. (2016c). Docker Hub. Retrieved from https://hub.docker.com/explore/
Docker Inc. (2016d). Getting Started with Docker for Windows. Retrieved from https://docs.docker.com/docker-for-windows/
Docker Inc. (2016e). Overview of Docker Compose. Retrieved from https://docs.docker.com/compose/overview/
Docker Inc. (2016f). pull. Retrieved from https://docs.docker.com/engine/reference/commandline/pull/
Docker Inc. (2016g). Ubuntu: OFFICIAL REPOSITORY. Retrieved from https://hub.docker.com/_/ubuntu/
Docker Inc. (2016h). What is Docker?: Understand how Docker works and how you can use it. Retrieved from
https://www.docker.com/what-docker
Douglis, F., & Krieger, O. (2013). Virtualization. IEEE Internet Computing, 17(2), 6–9. doi:10.1109/MIC.2013.42

Recommended for you

Microservices with Netflix OSS and Spring Cloud - Dev Day Orange
Microservices with Netflix OSS and Spring Cloud -  Dev Day OrangeMicroservices with Netflix OSS and Spring Cloud -  Dev Day Orange
Microservices with Netflix OSS and Spring Cloud - Dev Day Orange

This document discusses how Netflix OSS and Spring Cloud can be used together to implement a microservices architecture. It describes various libraries like Eureka for service discovery, Hystrix for circuit breaking, Ribbon for load balancing, and Zuul for API gateway functionality. It also explains how Spring Boot simplifies application development and Spring Cloud integrates these Netflix libraries and provides additional features like a configuration server. Overall, Netflix OSS and Spring Cloud provide the tools needed to build resilient microservices with service discovery, load balancing, and other capabilities in a transparent way for developers.

spring frameworkspring cloudspring boot
Performance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual MachinesPerformance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual Machines

This presentation is based on http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=7164727&punumber%3D7153311%26filter%3DAND(p_IS_Number%3A7164643)%26pageNumber%3D3

dockercontainersvirtualization
NetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker TalkNetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker Talk

Andrew Spyker presented on the Netflix Cloud Platform and ZeroToDocker project. The following key points were discussed: - ZeroToDocker provides Docker images of Netflix OSS projects like Eureka, Zuul and Asgard to more easily evaluate the technologies. However, the images are not intended for direct production use. - A demo showed running a microservices application and supporting Netflix OSS services like Eureka and Zuul using Docker containers on a single machine. - While Docker aids development and evaluation, additional tooling is needed to operationalize containers at production scale across multiple hosts for tasks like networking, security, logging and scheduling. Competing ecosystems are emerging to address these needs.

dockerzerotodockernetflixoss
Bibliography (2/4)
Dua, R., Raja, A. R., & Kakadia, D. Virtualization vs Containerization to Support PaaS. In 2014 IEEE International Conference on Cloud
Engineering (IC2E) (pp. 610–614). doi:10.1109/IC2E.2014.41
E N, P., Mulerickal, J. P. Fr., Paul, B., & Sastri, Y. (2015). Evaluation of Docker containers based on hardware utilization. In 2015
International Conference on Control Communication & Computing India (ICCC) (pp. 697–700). IEEE.
doi:10.1109/ICCC.2015.7432984
Fox, D. (2012). Hypervisor. Datenschutz und Datensicherheit - DuD, 36(1), 54. doi:10.1007/s11623-012-0012-y
Github. (2016). akopytov/sysbench. Retrieved from https://github.com/akopytov/sysbench/
HashiCorp. Vagrant Documentation. Retrieved from https://www.vagrantup.com/docs/
HashiCorp. Why Vagrant? Retrieved from https://www.vagrantup.com/docs/why-vagrant/
Haydel, N., Madey, G., Gesing, S., Dakkak, A., Garcia de Gonzalo, S., Taylor, I., & Hwu, W.-m. W. (2015). Enhancing the Usability and
Utilization of Accelerated Architectures via Docker. In O. Rana & R. Buyya (Eds.), 2015 IEEE/ACM 8th International Conference on
Utility and Cloud Computing. UCC 2015 : proceedings : 7-10 December 2015, Limassol, Cyprus (pp. 361–367). Los Alamitos,
California: IEEE Computer Society, Conference Publishing Services.
Heidi, E. (2013a). A beginners guide to Vagrant - getting your portable development environment, part 1. Retrieved from
http://www.erikaheidi.com/blog/a-begginers-guide-to-vagrant-getting-your-portable-development-e
Heidi, E. (2013b). A beginners guide to Vagrant part 2 - Provisioning and Puppet. Retrieved from http://www.erikaheidi.com/blog/a-
beginners-guide-to-vagrant-part-2-provisioning-and-puppet
Hofer, P., & Fischer, P. (2008). Lexikon der Informatik (15th ed.): Springer.
HowtoForge. How To Benchmark Your System (CPU, File IO, MySQL) with sysbench. Retrieved from https://www.howtoforge.com/how-
to-benchmark-your-system-cpu-file-io-mysql-with-sysbench
Jenkins-CI. (2013). VirtualBox Plugin. Retrieved from https://wiki.jenkins-ci.org/display/JENKINS/VirtualBox+Plugin
Bibliography (3/4)
Joy, A. M. Prof. (2015). Performance Comparison Between Linux Containers and Virtual Machines. In IEEE (Ed.), International
Conference on Advances in Computer Engineering and Applications (ICACEA), 2015. 19 - 20 March 2015, Ghaziabad, India ;
conference proceeding (pp. 342–346). Piscataway, NJ: IEEE.
Merkel, D. (2014). Docker: Lightweight Linux Containers for Consistent Development and Deployment. Retrieved from
http://dl.acm.org/citation.cfm?id=2600241
Mouat, A. (2016). Using docker: Developing and deploying software with containers (First edition). Beijing, Boston, Farnham: O´Reily.
Nagy, G. (2015). Operating System Containers vs. Application Containers. Retrieved from https://blog.risingstack.com/operating-system-
containers-vs-application-containers/
Oracle. Pre-Built Developer VMs. Retrieved from http://www.oracle.com/technetwork/community/developer-vm/index.html
Oracle. Welcome to VirtualBox.org. Retrieved from https://www.virtualbox.org
Oracle. (2010). Manual. Retrieved from https://www.virtualbox.org/manual/ch01.html
Oracle. (2012). Oracle VM VirtualBox Image SampleApp v107 Deployment Guide. Retrieved from
http://www.oracle.com/technetwork/middleware/bi/downloads/sampleapp107-vbimage-deployguide-453583.pdf
Pahl, C. (2015). Containerization and the PaaS Cloud. IEEE Cloud Computing, 2(3), 24–31. doi:10.1109/MCC.2015.51
Raj, P., Chelladhurai, J. S., & Singh, V. (2015). Learning Docker: Optimize the power of Docker to run your applications quickly and
easily. Community experience distelled. Birmingham, Mumbai: Packt Publishing.
Ruest, D., & Ruest, N. (2009). Virtualization: A beginner's guide ; [get details on the virtualization solutions from Citrix, Microsoft, and
VMware ; set up virtual servers, machines, desktops, and applications ; follow an easy, five-step deployment plan ; secure, back up,
and tune your virtual computing environment]. Network professional's library. New York: McGraw Hill.
Bibliography (4/4)
Seo, K.-T., Hwang, H.-S., Moon, I.-Y., Kwon, O.-Y., & Kim, B.-J. (2014). Performance Comparison Analysis of Linux Container and
Virtual Machine for Building Cloud. In : Advanced Science and Technology Letters, Networking and Communication 2014 (pp. 105–
111). Science & Engineering Research Support soCiety. doi:10.14257/astl.2014.66.25
VirtualBoxes. (2016). VirtualBoxes. Retrieved from https://virtualboxes.org/images/
VirtualBoxImages.com. (2008). VirtualBox Images. Retrieved from https://virtualboximages.com/
Vogel, R., Koçogˇlu, T., & Berger, T. (2010). Desktopvirtualisierung: Definitionen, Architekturen, Business-Nutzen (1. Aufl.). s.l.:
Vieweg+Teubner (GWV). Retrieved from http://gbv.eblib.com/patron/FullRecord.aspx?p=752014
Copyright
I do not own any of the used images. All rights are owned by Docker Inc. or the University Duisburg-Essen

Recommended for you

Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes

Spring Cloud/Netflix OSS way of building microservices on Kubernetes -- preso from Spring One Platform 2016

spring cloudmicroservicesspring boot
Microservices and APIs
Microservices and APIsMicroservices and APIs
Microservices and APIs

The document discusses microservices and APIs. It covers how microservices optimize for speed by shedding dependencies and having dependencies on demand through services and APIs. It discusses consumer contracts for APIs and service versioning. It also discusses using an API gateway pattern for scalability, security, monitoring and more. It promotes API management for benefits like access control, analytics, and monetization of microservices.

kubernetesmicroservicesapi
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShiftReal world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShift

What are, or aren't, microservices? There's a lot of hype and buzz, but microservices emerged organically vs how some of the other distributed architectural styles were "handed down to us", so I believe there's some good things once you cut through the hype. In this talk I discussed what are and are NOT microservices, introduced some concepts, and discussed some concrete open-source libraries and frameworks that can help you develop and manage microservice style deployments.

softareopenshiftapache

More Related Content

What's hot

Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
Docker, Inc.
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Odinot Stanislas
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
Jérôme Petazzoni
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
Bangladesh Network Operators Group
 
Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container Environments
Docker, Inc.
 
Why Docker
Why DockerWhy Docker
Why Docker
dotCloud
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
Eueung Mulyana
 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
Francisco Gonçalves
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Julien Maitrehenry
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
Ajeet Singh Raina
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
Chris Taylor
 
Introduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in betweenIntroduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in between
All Things Open
 
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction
Innfinision Cloud and BigData Solutions
 
Docker 101
Docker 101Docker 101
Docker 101
Lâm Đào
 
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker
Venkata Naga Ravi
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
Yajushi Srivastava
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30
Khelender Sasan
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Hao Fan
 

What's hot (20)

Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container Environments
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
 
Introduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in betweenIntroduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in between
 
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction
 
Docker 101
Docker 101Docker 101
Docker 101
 
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 

Viewers also liked

cert
certcert
Performance Monitoring for Docker Environments - Docker Amsterdam June Meetup
Performance Monitoring for Docker Environments - Docker Amsterdam June MeetupPerformance Monitoring for Docker Environments - Docker Amsterdam June Meetup
Performance Monitoring for Docker Environments - Docker Amsterdam June Meetup
Stijn Polfliet
 
Writing Docker monitoring agent with Go
Writing Docker monitoring agent with GoWriting Docker monitoring agent with Go
Writing Docker monitoring agent with Go
Naoki AINOYA
 
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios
 
Running Netflix OSS on Docker with Nirmata
Running Netflix OSS on Docker with NirmataRunning Netflix OSS on Docker with Nirmata
Running Netflix OSS on Docker with Nirmata
Damien Toledo
 
bed-con 2015 - From Virtual Machines to Containers
bed-con 2015 - From Virtual Machines to Containersbed-con 2015 - From Virtual Machines to Containers
bed-con 2015 - From Virtual Machines to Containers
camunda services GmbH
 
Docker Indy Meetup Monitoring 30-Aug-2016
Docker Indy Meetup Monitoring 30-Aug-2016Docker Indy Meetup Monitoring 30-Aug-2016
Docker Indy Meetup Monitoring 30-Aug-2016
Matt Bentley
 
Netflix and Containers: Not A Stranger Thing
Netflix and Containers:  Not A Stranger ThingNetflix and Containers:  Not A Stranger Thing
Netflix and Containers: Not A Stranger Thing
aspyker
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
DuckDuckGo
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
Jérôme Petazzoni
 
Microservices with Netflix OSS and Spring Cloud - Dev Day Orange
Microservices with Netflix OSS and Spring Cloud -  Dev Day OrangeMicroservices with Netflix OSS and Spring Cloud -  Dev Day Orange
Microservices with Netflix OSS and Spring Cloud - Dev Day Orange
acogoluegnes
 
Performance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual MachinesPerformance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual Machines
Soheila Dehghanzadeh
 
NetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker TalkNetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker Talk
aspyker
 
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Christian Posta
 
Microservices and APIs
Microservices and APIsMicroservices and APIs
Microservices and APIs
Christian Posta
 
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShiftReal world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta
 
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Docker, Inc.
 
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Docker, Inc.
 
Securing the Container Pipeline at Salesforce by Cem Gurkok
Securing the Container Pipeline at Salesforce by Cem Gurkok   Securing the Container Pipeline at Salesforce by Cem Gurkok
Securing the Container Pipeline at Salesforce by Cem Gurkok
Docker, Inc.
 
Docker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott CoultonDocker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott Coulton
Docker, Inc.
 

Viewers also liked (20)

cert
certcert
cert
 
Performance Monitoring for Docker Environments - Docker Amsterdam June Meetup
Performance Monitoring for Docker Environments - Docker Amsterdam June MeetupPerformance Monitoring for Docker Environments - Docker Amsterdam June Meetup
Performance Monitoring for Docker Environments - Docker Amsterdam June Meetup
 
Writing Docker monitoring agent with Go
Writing Docker monitoring agent with GoWriting Docker monitoring agent with Go
Writing Docker monitoring agent with Go
 
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
 
Running Netflix OSS on Docker with Nirmata
Running Netflix OSS on Docker with NirmataRunning Netflix OSS on Docker with Nirmata
Running Netflix OSS on Docker with Nirmata
 
bed-con 2015 - From Virtual Machines to Containers
bed-con 2015 - From Virtual Machines to Containersbed-con 2015 - From Virtual Machines to Containers
bed-con 2015 - From Virtual Machines to Containers
 
Docker Indy Meetup Monitoring 30-Aug-2016
Docker Indy Meetup Monitoring 30-Aug-2016Docker Indy Meetup Monitoring 30-Aug-2016
Docker Indy Meetup Monitoring 30-Aug-2016
 
Netflix and Containers: Not A Stranger Thing
Netflix and Containers:  Not A Stranger ThingNetflix and Containers:  Not A Stranger Thing
Netflix and Containers: Not A Stranger Thing
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
 
Microservices with Netflix OSS and Spring Cloud - Dev Day Orange
Microservices with Netflix OSS and Spring Cloud -  Dev Day OrangeMicroservices with Netflix OSS and Spring Cloud -  Dev Day Orange
Microservices with Netflix OSS and Spring Cloud - Dev Day Orange
 
Performance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual MachinesPerformance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual Machines
 
NetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker TalkNetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker Talk
 
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes
 
Microservices and APIs
Microservices and APIsMicroservices and APIs
Microservices and APIs
 
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShiftReal world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShift
 
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
 
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
 
Securing the Container Pipeline at Salesforce by Cem Gurkok
Securing the Container Pipeline at Salesforce by Cem Gurkok   Securing the Container Pipeline at Salesforce by Cem Gurkok
Securing the Container Pipeline at Salesforce by Cem Gurkok
 
Docker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott CoultonDocker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott Coulton
 

Similar to Discussing the difference between docker dontainers and virtual machines

Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Van Phuc
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
Ankit Gupta
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Aditya Konarde
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
zekeLabs Technologies
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker, Inc.
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
Yusuf Hadiwinata Sutandar
 
2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group
Todd Fritz
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
Vishwas N
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
Cesar Maciel
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
zekeLabs Technologies
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
BADR
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
Amr Fawzy
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
ICON UK EVENTS Limited
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
Damian T. Gordon
 
Docker slides
Docker slidesDocker slides
Docker slides
Jyotsna Raghuraman
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
Christopher Grayson
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
Dr Ganesh Iyer
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
Matteo Bisi
 
.docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...
Andrea Fontana
 

Similar to Discussing the difference between docker dontainers and virtual machines (20)

Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
Docker slides
Docker slidesDocker slides
Docker slides
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
 
.docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...
 

Recently uploaded

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 

Recently uploaded (20)

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 

Discussing the difference between docker dontainers and virtual machines

  • 1. Discussing the difference between Docker containers and Virtual Machines Bachelor seminar Steven Grzbielok ■ 12th of August, 2016
  • 2. About me Steven Grzbielok • Born in 1994, living in Ratingen • 6th term Information Systems (B.Sc.) • IT-Consultant for MT AG since 2014 • Primarly deals with UI-Design and web development
  • 3. Agenda 1. What is Docker and what benefits are promised for the usage of Docker? 2.Comparison of an example: VM vs. Docker 3.Conclusion: Guidelines
  • 4. 1. What is Docker and what benefits are promised for the usage of Docker?
  • 5. Motivation Virtual machines are often called heavyweight and slow. Is Docker a promising alternative? What are the differences between both techniques?
  • 6. Fundamentals • Virtualization → Dividing a physical computer into several virtual environments • VM = large files and big processes • Alternative: Linux containers • Docker: Promised to be lightweight, open, secure and scalable Di Liu & Zhao, 2014, p. 475; Bui, 2015, p. 1; Pahl, 2015, pp. 24-25; Docker Inc., 2016h
  • 7. What is a virtual machine? Virtualization means the operation of system components in an abstract environment that is often detached from the hardware and the operating system which is used as a host. Scalability and portability Hofer & Fischer, 2008, p. 970
  • 8. Evolution of VMs • First virtualization approach from IBM (1960s/1970s) for dividing one physical machine • First language level approach by Sun to deliver VMs with Java applications • Microsoft developed virtualization techniques for running Windows even on a Mac • Popularity was gained through Vmware which developed a simple workstation for the end user Douglis & Krieger, 2013, p. 6; Ruest & Ruest, 2009, pp. 24–26;
  • 9. What is a VM? • Abstract version of a complete computer • Consists of o A configuration file (amount of RAM, virtual disks) o Hard drive files (virtual version of a physical hard drive) o In-memory file (virtual version of the RAM) → saved when you e.g. pause the VM o VM state file (saves the state of the VM when pausing or shutting down) o Other OS specific files like logs Ruest & Ruest, 2009, pp. 30–31
  • 10. Virtualization models Often free and easy to setup →Used for starting a project More efficient, but harder to setup →Used for productive environments Ruest & Ruest, 2009, pp. 33
  • 11. What is a hypervisor? • Small operating system that exists only for partitioning resources → Virtualizes the hardware • Isolates VMs and blocks access attempts between the VMs • Hypervisor type 1: Runs directly on hardware • Hypervisor type 2: Runs on top of a OS Vogel, Koçogˇlu, & Berger, 2010, pp. 9–11; Ruest & Ruest, 2009, p. 39; Fox, 2012, p. 54
  • 12. Downsides of VMs • VM are heavyweight and inefficient compared to a non-virtualized system • Applications are not easily portable • Slow in IT provisioning Raj, Chelladhurai, & Singh, 2015, p. 2
  • 13. Hypervisors • Software virtualization is often used to start a project • Hardware virtualization is often used for production environments Nagy, 2015; Ruest & Ruest, 2009, p. 39;Fox, 2012, p. 54 Hypervisor: ● Small OS that only exists to manage the VMs ● Can run insteadof the host OS (type 1) or on top of the host OS (type 2)
  • 14. Architecture of container virtualization • Contains only the needed applications and dependencies • Container share the same kernel with other containers • Benefits also from the resource isolation and allocation like VMs Di Liu & Zhao, 2014, p. 476; Bui, 2015, p. 2
  • 15. Benefits of containers • Virtualized hardware is slower than regular ones • The negative effects can be reduced by sharing the same kernel → containers • Container encapsulates single service (micro service architecture) • Container packages all neccessary components • Communication through APIs • Container platforms are e.g. Docker or Rocket Nagy, 2015
  • 16. Docker • Used by famous companies like Ebay, Spotify… • Can only host containers from the same type as the host OS • Currently only Linux containers on a Linux host • Microsoft is developing the Docker support on Windows Server 2016 to support Windows containers Raj, Chelladhurai, & Singh, 2015, p. 2; Bui, 2015, p. 2; Docker Inc., 2016b
  • 17. Docker engine is driven by LXC • Linux Containers (LXC): Package to control user spaces • Essential Feature: Namespaces (implemented on kernel-level) seperate the containers from the host OS o PID: Process ID namespace o IPC: Inter Process Communication namespacce o MNT: Mount namespace o UTS: Unix Timesharing System o Networking namespace Merkel, 2014; Di Liu & Zhao, 2014, p. 476
  • 18. Other advantages of LXC • Control groups isolate groups of processes and make it possible to manage the resource allocation between cgroups • Union file sytem: Copy-on-write creates a copy of the data on modification and changes the current pointer to the right set of data after the process → Especially useful for data that is shared by multiple applications Pahl, 2015, pp. 26-27; Anderson, 2015, p. 104; Joy, 2015, p. 344; Di Liu & Zhao, 2014, p. 476
  • 19. Docker Hub: One of the reasons of the rapidly growing community • Cloud service to upload and share containers • Upload for private or public usage • Easy to „pull“ a container and use it or modify it • 320 Mio. downloads until beginning of 2015 • Prebuilt containers with software such as Node.js, MongoDB, Wordpress or the Apache web server E N, Mulerickal, Paul, & Sastri, 2015, p. 697; Haydel et al., 2015, p. 366; Docker Inc., 2016c
  • 20. 2. Comparison of an example: VM vs. Docker Containers a “self-experiment”
  • 21. Setup of the example Host OS: Windows 10 Pro (64 Bit) Guest OS: Linux Server (AMD64) 16.04 Notebook model: Dell Latitude E5550 CPU: Intel Core i5-5300U @ 2,30GHz (Turbo-Boost to 2,90 GHz) RAM: 16 GB VM VirtualBox 5.0.22 RAM: 2GB CPU: 1 Core Docker Docker for Windows 1.12.0-rc2-beta16 (build: 4760) RAM: 2GB CPU: 1 Core
  • 22. Installation process Virtual Machine Docker • Possible hosts: x86/x64 systems • Possible guests: Windows (Server), Linux... • Regular installation process via an executable file • No Hyper-V support • Simple and short installation wizard • Hosts: x64 systems • Possible guests: Linux • Hyper-V has to be activated! → Docker activates it if necessary. Restart has to be done to complete the installation
  • 23. Build: General Both systems offer the following options: 1. Use a prebuilt image/container (and adapt it to your needs) 2. Build your own image/container 1. By hand 2. Scripted Oracle, 2016a; VirtualBoxes, 2016; VirtualBoxImages.com, 2008
  • 24. Prebuilt images Virtual Machine Docker • Prebuilt systems downloadable from Oracle or non-official repositories like VirtualBoxes or VirtualBoxImages • Should not be used as a production environment (only for testing and development purposes) • Pull an image from the Docker Hub (e.g. Docker pull ubuntu)
  • 25. Build your own image Virtual Machine Docker • By Hand → Create a new VM, install the OS, install your applications • Scripted build process with Vagrant and Puppet • By hand → Pull a basic Linux image and modify it until it fits the requirements • Scripted build process: – Docker build for the creation with a Dockerfile – Docker compose for multi-container applications – Automated build with Puppet HashiCorp, 2016a; HashiCorp, 2016b; Heidi, 2013a; Heidi, 2013b; Docker Inc., 2016a; Docker Inc., 2016f; Docker Inc., 2016g; Mouat, 2016, p. 19
  • 26. Build your own image Virtual Machine Docker • Deployment process: Export VM from host 1 → Import VM to host 2 • Export and import via the GUI of VirtualBox • Deployment process can take up to one hour (depending on image size and host performance) • Continuous Integration with a private VirtualBox cloud and the Jenkins VirtualBox plugin • Docker push to upload the image to the Docker Hub (either private or public repository) → Afterwards can be pulled from every client • CI is possible with the integration of Docker, GitHub and Jenkins to automatically push and pull new builds Oracle, 2010; Oracle, 2012, pp. 5–6; Jenkins-CI, 2013; Docker Inc., 2015; Docker Inc., 2016a
  • 27. Run: CPU Benchmark¹ Virtual Machine Goal: Fast execution of the process Docker (~0,57% slower) ¹ All benchmarks are done with Sysbench for Linux
  • 28. Run: File IO Benchmark Virtual Machine Docker (~78,45% faster) Transfer of a 50GB file
  • 29. Run: MySQL Benchmark Virtual Machine Docker (~3,94% slower) Transactional processes on 1.000.000 test records
  • 30. Run: Conclusion • Docker performs much better in the file IO benchmark • The VM was slightly better when it comes to CPU and database performance → But the difference was very small, it could be influenced by side effects HowtoForge, 2016
  • 31. 3. Conclusion: Comparison based on Quality Issues
  • 32. • Architecture of a VM guarantees isolation. Container isolation depends hardly on the used virtualization platform (e.g. Docker) • Docker manages the communication between containers but the architecture is not 100% safe against unwanted accesses → VM is more suitable for processing business critical data Security Joy, 2015, p. 343
  • 33. Performance • Possible to run more virtual systems on a single server with containers (-->share OS kernel) • Processing of Docker containers can be up to three times faster but this depends on the hardware that is related to the work that has to be done → CPU processing is nearly the same, hard drive access is much faster in Docker containers Joy, 2015, pp. 342-345;
  • 34. Portability • Docker containers only need around 200MB while a VM needs around 8GB → Better deployment with Docker containers • Build, push and pull is done within a few seconds or a few minutes with Docker Containers, VMs need up to one hour • Higher portability due to the better deployment • Standardized host OS for Docker containers • VMs are independend from their host OS • VMs can be configured and used like a regular computerSeo, Hwang, Moon, Kwon, & Kim, 2014, pp. 108-110; Dua, Raja, & Kakadia, p. 614
  • 35. Scalability • Startup of a container needs not much resources and can be done in 10% of the time that a VM needs → Better scalabilty • Docker containers can be scaled up and down 22 times faster than VMs Seo et al., 2014, p. 109; Joy, 2015, p. 345
  • 36. Guidelines - When to use Docker, when to use a VM
  • 37. 1. When the number of guest systems and their size should be scalable (e.g. cloud). 2. When the performance of the virtual system is a critical criterion (e.g. in cloud and PaaS scenarios). 3. When continuous integration should be easily used. 4. When fast deployment should be established and portability e.g. for the development team is necessary. 5. When you wan to guarantee a standardized host OS for your virtual system. When to use Docker?
  • 38. 1. When processing business critical data and you want full isolation wihtout root access on the host system due to the architecture. 2. When the installation and configuration of additional software should be easy even for inexperienced users. 3. When the VM should be independent of its host OS and the virtualization platform. When to use a VM?
  • 39. Thanks for your attention! A more specific talk “Boost your APEX deployment with Docker” based on this research will be hold at DOAG2016.
  • 40. Bibliography (1/4) Anderson, C. (2015). Docker. IEEE Software, 2015(15), 102–105. Bui, T. (2015). Analysis of Docker Security. Retrieved from Aalto University School of Science website: http://arxiv.org/pdf/1501.02967v1 Di Liu, & Zhao, L. (2014). The Research and Implementation of Cloud Computing Platform based on Docker. In J. P. Li (Ed.), 2014 11th International Computer Conference on Wavelet Active Media Technology and Information Processing (ICCWAMTIP). 19 - 21 Dec. 2014, Chengdu, Sichuan Province, China (pp. 475–478). Piscataway, NJ: IEEE. Retrieved from http://ieeexplore.ieee.org/servlet/opac?punumber=7063853 Docker Inc. Using Puppet. Retrieved from https://docs.docker.com/engine/admin/puppet/ Docker Inc. (2015). Building a Continuous Integration Pipeline with Docker. Docker Inc. (2016a). Build your own images. Retrieved from https://docs.docker.com/engine/tutorials/dockerimages/ Docker Inc. (2016b). Docker and Microsoft: Build, Ship, Run with Docker and Microsoft. Retrieved from https://www.docker.com/microsoft Docker Inc. (2016c). Docker Hub. Retrieved from https://hub.docker.com/explore/ Docker Inc. (2016d). Getting Started with Docker for Windows. Retrieved from https://docs.docker.com/docker-for-windows/ Docker Inc. (2016e). Overview of Docker Compose. Retrieved from https://docs.docker.com/compose/overview/ Docker Inc. (2016f). pull. Retrieved from https://docs.docker.com/engine/reference/commandline/pull/ Docker Inc. (2016g). Ubuntu: OFFICIAL REPOSITORY. Retrieved from https://hub.docker.com/_/ubuntu/ Docker Inc. (2016h). What is Docker?: Understand how Docker works and how you can use it. Retrieved from https://www.docker.com/what-docker Douglis, F., & Krieger, O. (2013). Virtualization. IEEE Internet Computing, 17(2), 6–9. doi:10.1109/MIC.2013.42
  • 41. Bibliography (2/4) Dua, R., Raja, A. R., & Kakadia, D. Virtualization vs Containerization to Support PaaS. In 2014 IEEE International Conference on Cloud Engineering (IC2E) (pp. 610–614). doi:10.1109/IC2E.2014.41 E N, P., Mulerickal, J. P. Fr., Paul, B., & Sastri, Y. (2015). Evaluation of Docker containers based on hardware utilization. In 2015 International Conference on Control Communication & Computing India (ICCC) (pp. 697–700). IEEE. doi:10.1109/ICCC.2015.7432984 Fox, D. (2012). Hypervisor. Datenschutz und Datensicherheit - DuD, 36(1), 54. doi:10.1007/s11623-012-0012-y Github. (2016). akopytov/sysbench. Retrieved from https://github.com/akopytov/sysbench/ HashiCorp. Vagrant Documentation. Retrieved from https://www.vagrantup.com/docs/ HashiCorp. Why Vagrant? Retrieved from https://www.vagrantup.com/docs/why-vagrant/ Haydel, N., Madey, G., Gesing, S., Dakkak, A., Garcia de Gonzalo, S., Taylor, I., & Hwu, W.-m. W. (2015). Enhancing the Usability and Utilization of Accelerated Architectures via Docker. In O. Rana & R. Buyya (Eds.), 2015 IEEE/ACM 8th International Conference on Utility and Cloud Computing. UCC 2015 : proceedings : 7-10 December 2015, Limassol, Cyprus (pp. 361–367). Los Alamitos, California: IEEE Computer Society, Conference Publishing Services. Heidi, E. (2013a). A beginners guide to Vagrant - getting your portable development environment, part 1. Retrieved from http://www.erikaheidi.com/blog/a-begginers-guide-to-vagrant-getting-your-portable-development-e Heidi, E. (2013b). A beginners guide to Vagrant part 2 - Provisioning and Puppet. Retrieved from http://www.erikaheidi.com/blog/a- beginners-guide-to-vagrant-part-2-provisioning-and-puppet Hofer, P., & Fischer, P. (2008). Lexikon der Informatik (15th ed.): Springer. HowtoForge. How To Benchmark Your System (CPU, File IO, MySQL) with sysbench. Retrieved from https://www.howtoforge.com/how- to-benchmark-your-system-cpu-file-io-mysql-with-sysbench Jenkins-CI. (2013). VirtualBox Plugin. Retrieved from https://wiki.jenkins-ci.org/display/JENKINS/VirtualBox+Plugin
  • 42. Bibliography (3/4) Joy, A. M. Prof. (2015). Performance Comparison Between Linux Containers and Virtual Machines. In IEEE (Ed.), International Conference on Advances in Computer Engineering and Applications (ICACEA), 2015. 19 - 20 March 2015, Ghaziabad, India ; conference proceeding (pp. 342–346). Piscataway, NJ: IEEE. Merkel, D. (2014). Docker: Lightweight Linux Containers for Consistent Development and Deployment. Retrieved from http://dl.acm.org/citation.cfm?id=2600241 Mouat, A. (2016). Using docker: Developing and deploying software with containers (First edition). Beijing, Boston, Farnham: O´Reily. Nagy, G. (2015). Operating System Containers vs. Application Containers. Retrieved from https://blog.risingstack.com/operating-system- containers-vs-application-containers/ Oracle. Pre-Built Developer VMs. Retrieved from http://www.oracle.com/technetwork/community/developer-vm/index.html Oracle. Welcome to VirtualBox.org. Retrieved from https://www.virtualbox.org Oracle. (2010). Manual. Retrieved from https://www.virtualbox.org/manual/ch01.html Oracle. (2012). Oracle VM VirtualBox Image SampleApp v107 Deployment Guide. Retrieved from http://www.oracle.com/technetwork/middleware/bi/downloads/sampleapp107-vbimage-deployguide-453583.pdf Pahl, C. (2015). Containerization and the PaaS Cloud. IEEE Cloud Computing, 2(3), 24–31. doi:10.1109/MCC.2015.51 Raj, P., Chelladhurai, J. S., & Singh, V. (2015). Learning Docker: Optimize the power of Docker to run your applications quickly and easily. Community experience distelled. Birmingham, Mumbai: Packt Publishing. Ruest, D., & Ruest, N. (2009). Virtualization: A beginner's guide ; [get details on the virtualization solutions from Citrix, Microsoft, and VMware ; set up virtual servers, machines, desktops, and applications ; follow an easy, five-step deployment plan ; secure, back up, and tune your virtual computing environment]. Network professional's library. New York: McGraw Hill.
  • 43. Bibliography (4/4) Seo, K.-T., Hwang, H.-S., Moon, I.-Y., Kwon, O.-Y., & Kim, B.-J. (2014). Performance Comparison Analysis of Linux Container and Virtual Machine for Building Cloud. In : Advanced Science and Technology Letters, Networking and Communication 2014 (pp. 105– 111). Science & Engineering Research Support soCiety. doi:10.14257/astl.2014.66.25 VirtualBoxes. (2016). VirtualBoxes. Retrieved from https://virtualboxes.org/images/ VirtualBoxImages.com. (2008). VirtualBox Images. Retrieved from https://virtualboximages.com/ Vogel, R., Koçogˇlu, T., & Berger, T. (2010). Desktopvirtualisierung: Definitionen, Architekturen, Business-Nutzen (1. Aufl.). s.l.: Vieweg+Teubner (GWV). Retrieved from http://gbv.eblib.com/patron/FullRecord.aspx?p=752014
  • 44. Copyright I do not own any of the used images. All rights are owned by Docker Inc. or the University Duisburg-Essen