This presentation is designed to give an overview about differences of both virtualization methods to provide the reader with the fundamental knowledge to decide in each use case which technology is more suitable.
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, 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.
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.
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.
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.
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.
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 )
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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
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.
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.
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.
Containers are not virtual machines - they have fundamentally different architectures and benefits. Docker allows users to build, ship, and run applications inside containers. It provides tools and a platform to manage the lifecycle of containerized applications, from development to production. Containers use layers and copy-on-write to provide efficient application isolation and delivery.
Docker, a new LINUX container technology based light weight virtualizationSuresh Balla
Docker is a tool that allows applications to run reliably from one computing environment to another in lightweight execution environments called containers. It solves the problem of differences in computing environments by running applications within standardized containers that have all their dependencies, so they can run on any Docker host regardless of the underlying infrastructure. The presentation demonstrated how Docker works, how to build Docker images using Dockerfiles, and how Docker is being used by companies and integrated into platforms like OpenStack.
This document provides an introduction to Docker. It discusses why Docker is useful for isolation, being lightweight, simplicity, workflow, and community. It describes the Docker engine, daemon, and CLI. It explains how Docker Hub provides image storage and automated builds. It outlines the Docker installation process and common workflows like finding images, pulling, running, stopping, and removing containers and images. It promotes Docker for building local images and using host volumes.
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Odinot Stanislas
(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, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
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.
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.
Infinit: Modern Storage Platform for Container EnvironmentsDocker, Inc.
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.
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.
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.
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 )
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 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.
Introduction to Containers - SQL Server and DockerChris Taylor
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.
Introduction to Containers - From Docker to Kubernetes and everything in betweenAll Things Open
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
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.
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.
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.
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.
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.
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.
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.
Performance Monitoring for Docker Environments - Docker Amsterdam June MeetupStijn Polfliet
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 GoNaoki AINOYA
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.
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
Running Netflix OSS on Docker with NirmataDamien Toledo
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.
Netflix and Containers: Not A Stranger Thingaspyker
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.
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.
Containerization is more than the new Virtualization: enabling separation of ...Jérôme Petazzoni
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.
Microservices with Netflix OSS and Spring Cloud - Dev Day Orangeacogoluegnes
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.
Performance comparison between Linux Containers and Virtual MachinesSoheila Dehghanzadeh
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
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.
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.
Real world #microservices with Apache Camel, Fabric8, and OpenShiftChristian Posta
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.
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Docker, Inc.
Fugro Chance Inc. oversees ship surveys globally using IoT and Docker. They developed a solution using AWS, Docker, and microservices to support a real-time web application for ship tracking. Key challenges included supporting services that need to run together and efficiently deploying new versions. They addressed this using SupervisorD to run multiple services in a single Docker container. This allows flexible development and deployment of future microservices.
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...Docker, Inc.
What is the right balance between moving fast, innovating, experimenting with new technology, and protecting the personal data of our customers and interests of our stakeholders? How can we safely try new ideas in production without risking costly downtime? Does the utopia where developers are free from lock-in and operators enjoy the calm of a steadily running system exist in the real world? Is it possible to have open platforms with better security? At Kroger Digital we are still working through these questions every day but are redesigning our systems with the goals of true operational maturity and security. Discover how we are building capabilities for monitoring, A/B testing, and continuous delivery with Docker Datacenter, plugins, and open source building blocks such as NGiNX, ElasticSearch, and more.
Securing the Container Pipeline at Salesforce by Cem Gurkok Docker, Inc.
Customer trust and security is paramount for Salesforce. While containerization is great for DevOps due to flexibility, speed, isolation, transient existence, ease of management and patching, it becomes a challenging environment when the sensitivity level of the data traversing the environment increases. Monitoring systems, applications and network; performing disk, memory and network forensics in case of an incident; and vulnerability detection can easily become daunting tasks in such a volatile environment.
In this presentation we would like to discuss the infrastructure we have built to address these issues and to secure our Docker container platform while we rapidly containerize Salesforce. Our solutions focus on securing the container pipeline, building security into the architecture, monitoring, Docker forensics (disk, memory, network), and automation. We also would like to demonstrate some of our live memory analysis capabilities we leverage to assure container and application integrity during execution.
Docker in Production, Look No Hands! by Scott CoultonDocker, Inc.
In this session we will talk about HealthDirect’s journey with Docker. We will follow the life cycle of a container through our CD process to its home in our swarm cluster with just a git commit thanks to configuration management. We will cover the CD process for Docker, Docker swarm, Docker networking and service discovery. The audience will leave with a solid foundation of how to build a production ready swarm cluster (A github repo with code will be given). They will also have the knowledge of how to implement a CD framework using Docker.
Docker-Hanoi @DKT , Presentation about Docker EcosystemVan Phuc
The document provides an overview of Docker Platform and Ecosystem. It begins with introductions and background on Docker, explaining how Docker solves the problem of dependency hell and portability issues by allowing applications to run in isolated containers that package code and dependencies. It then discusses key components of Docker including Engine, Registry, Machine, Swarm, Compose and tools like Toolbox and Cloud. The document concludes with examples of using Docker for continuous integration pipelines and microservices architectures.
(1) Sensor cloud computing integrates large-scale sensor networks with cloud computing infrastructures to collect and process data from various sensor networks. (2) It enables large-scale data sharing and collaborations among users and applications on the cloud. (3) Sensor cloud computing delivers cloud services via sensing applications and provides a truly pervasive computing environment by using sensors as an interface between the physical and cyber worlds.
Docker is a system for running applications in lightweight containers that can be deployed across machines. It allows developers to package applications with all dependencies into standardized units for software development. Docker eliminates inconsistencies in environments and allows applications to be easily deployed on virtual machines, physical servers, public clouds, private clouds, and developer laptops through the use of containers.
This document provides an introduction to Docker, including:
- Docker allows developers to package applications with all dependencies into standardized units called containers that can run on any infrastructure.
- Docker uses namespaces and control groups to provide isolation and security between containers while allowing for more efficient use of resources than virtual machines.
- The Docker architecture includes images which are templates for creating containers, a Dockerfile to automate image builds, and Docker Hub for sharing images.
- Kubernetes is an open-source platform for automating deployment and management of containerized applications across clusters of hosts.
The slides talk about Docker and container terminologies but will also be able to see the big picture of where & how it fits into your current project/domain.
Topics that are covered:
1. What is Docker Technology?
2. Why Docker/Containers are important for your company?
3. What are its various features and use cases?
4. How to get started with Docker containers.
5. Case studies from various domains
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker, Inc.
This document summarizes a webinar about Docker and Windows Server 2016. It discusses how Docker is now supported on 98% of enterprise workloads, including Windows Server 2016, providing the same benefits of Docker on Linux to Windows developers and IT professionals. It outlines how Microsoft and Docker partnered to port Docker Engine to Windows, and how Docker images can now be built and run across Linux and Windows. It provides examples of using Docker with Windows Server 2016 for development/testing and migrating applications.
This document provides an agenda and overview for a hands-on workshop on container and Docker technologies. It begins with a brief introduction to containers and Docker, then covers installing and managing Docker containers using tools like Portainer and OpenShift Origin. It also discusses building simple Docker applications and has sections on container and Docker concepts like images, containers, registries, advantages, and the Docker ecosystem. The document aims to explain containers and Docker for both developers and IT administrators.
2014, April 15, Atlanta Java Users GroupTodd Fritz
Server to Cloud – convert a legacy platform to a micro-PaaS using Docker and related, containerization technologies
Video: http://vimeo.com/94556976
The talk will begin with how to setup a local Docker development environment (Windows or Mac OSX) as Docker runs atop Linux. The basics of Docker will be examined including how to use image repositories, and a brief description of available UI’s for managing Docker containers (Shipyard and DockerUI).
Next, example applications will be built for progressively more robust use cases and deployments; to demonstrate the power, flexibility and scalability of Containerization with Docker. The first example will discuss a simple two container model to encapsulate a database and application layer, which will lead to demonstration and discussion about more robust deployments that include features such as service discovery, automatic load balancing, and abstractions to simplify linking of containers. The context of the talk with be how Containerization enables architectural choice, scalability, and polyglot environments.
Docker and supporting technologies will be discussed to expose the multitude of supporting technologies within the ecosystem such as Flynn, Serf (makes or Vagrant), CoreOS, Deus, HAProxy and more.
Technologies that may be employed within containers during the demonstration include, Java, Scala, Akka, Docker, vert.x or node.js, memcached, mysql, mongo.
This document discusses Azure AI on-premises using Docker containers. It covers Microsoft Cognitive Services, Docker, and Azure Cognitive Services containers. The key points are:
- Microsoft Cognitive Services are AI algorithms that can be consumed via REST APIs to solve problems in areas like computer vision, natural language processing, and speech recognition.
- Docker containers allow these cognitive services to run locally on-premises for applications that cannot send data to the cloud. The containers package the services and their dependencies to run consistently on any infrastructure.
- A live demo will show how to utilize Docker containers for Azure Cognitive Services on an on-premises server to bring AI capabilities locally without needing internet access. Questions will be
This session provides a quick introduction of Docker containers on Linux, and how to configure it on Ubuntu running on a POWER8 processor-based system. We discuss requisites, steps, repositories and use cases. We also make a comparison between Docker and AIX Workload Partitions. During the presentation we demonstrate how to deploy and use containers, and how to manager Docker containers on Power.
Agenda
1. The changing landscape of IT Infrastructure
2. Containers - An introduction
3. Container management systems
4. Kubernetes
5. Containers and DevOps
6. Future of Infrastructure Mgmt
About the talk
In this talk, you will get a review of the components & the benefits of Container technologies - Docker & Kubernetes. The talk focuses on making the solution platform-independent. It gives an insight into Docker and Kubernetes for consistent and reliable Deployment. We talk about how the containers fit and improve your DevOps ecosystem and how to get started with containerization. Learn new deployment approach to effectively use your infrastructure resources to minimize the overall cost.
This document provides an overview of Docker for web developers. It defines containers and Docker, discusses the benefits of Docker like faster deployment and portability. It explains key Docker concepts like images, containers, Dockerfile for building images, Docker platform, and commands for managing images and containers. The document also describes what happens behind the scenes when a container is run, and how to install and use Docker on Linux, Windows and Mac.
The document provides an overview of Docker for web developers. It defines containers and Docker, explaining that Docker allows developers to package applications into standardized units for development, shipment and deployment. It covers Docker concepts like images, containers, Dockerfiles and registries. It also discusses how to install Docker, manage images and containers, configure networking, mount volumes, and allow communication between containers. The goal is to explain the key Docker concepts and components to help developers understand and use Docker.
.docker : How to deploy Digital Experience in a container, drinking a cup of ...ICON UK EVENTS Limited
Matteo Bisi / Factor-y srl
Andrea Fontana / SOWRE SA
Docker is one of best technologies available on market to install and run and deploy application fastest , securely like never before. In this session you will see how to deploy a complete digital experience inside containers that will enable you to deploy a Portal drinking a cup of coffee. We will start from a deep overview of docker: what is docker, where you can find that, what is a container and why you should use container instead a complete Virtual Machine. After the overview we will enter inside how install IBM software inside a container using docker files that will run the setup using silent setup script. At last part we will talk about possible use of this configuration in real work scenario like staging or development environment or in WebSphere Portal farm setup.
This document discusses containers and Docker. It begins by explaining that cloud infrastructures comprise virtual resources like compute and storage nodes that are administered through software. Docker is introduced as a standard way to package code and dependencies into portable containers that can run anywhere. Key benefits of Docker include increased efficiency, consistency, and security compared to traditional virtual machines. Some weaknesses are that Docker may not be suitable for all applications and large container management can be difficult. Interesting uses of Docker include malware analysis sandboxes, isolating Skype sessions, and managing Raspberry Pi clusters with Docker Swarm.
Docker is an open source containerization platform that allows users to package applications and their dependencies into standardized executable units called containers. Docker relies on features of the Linux kernel like namespaces and cgroups to provide operating-system-level virtualization and allow containers to run isolated on a shared kernel. This makes Docker highly portable and allows applications to run consistently regardless of the underlying infrastructure. Docker uses a client-server architecture where the Docker Engine runs in the cloud or on-premises and clients interact with it via Docker APIs or the command line. Common commands include build to create images from Dockerfiles, run to launch containers, and push/pull to distribute images to registries. Docker is often used for microservices and multi-container
Introduction to dockers and kubernetes. Learn how this helps you to build scalable and portable applications with cloud. It introduces the basic concepts of dockers, its differences with virtualization, then explain the need for orchestration and do some hands-on experiments with dockers
docker : how to deploy Digital Experience in a container drinking a cup of co...Matteo Bisi
This document discusses deploying IBM Social Software in Docker containers. It begins with introductions of the authors and their backgrounds. It then provides an overview of Docker, including its key components like Docker Engine, Machine, and registry. The document discusses using Docker to package and deploy IBM software like WebSphere Application Server and DB2. It provides a Dockerfile example for installing WAS 9 in a container through silent installation. The document concludes with links to additional Docker and IBM resources.
.docker : how to deploy Digital Experience in a container drinking a cup of c...Andrea Fontana
This document discusses deploying digital experiences using Docker containers. It provides background on Docker, describing it as a way to package and ship software applications. It outlines key Docker components like the Docker Engine, Docker Machine, and Docker Registry. It then discusses how IBM supports Docker, including on platforms like Bluemix, zSystems, and PureApplication. Finally, it provides guidance on creating Docker images for IBM social software, covering preparing installations scripts and using Dockerfiles to automate the image creation process.
Similar to Discussing the difference between docker dontainers and virtual machines (20)
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
Comparison Table of DiskWarrior Alternatives.pdfAndrey Yasko
To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...Toru Tamaki
Jindong Gu, Zhen Han, Shuo Chen, Ahmad Beirami, Bailan He, Gengyuan Zhang, Ruotong Liao, Yao Qin, Volker Tresp, Philip Torr "A Systematic Survey of Prompt Engineering on Vision-Language Foundation Models" arXiv2023
https://arxiv.org/abs/2307.12980
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Chris Swan
Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge.
You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter.
The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
Transcript: Details of description part II: Describing images in practice - T...BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
Best Programming Language for Civil EngineersAwais Yaseen
The integration of programming into civil engineering is transforming the industry. We can design complex infrastructure projects and analyse large datasets. Imagine revolutionizing the way we build our cities and infrastructure, all by the power of coding. Programming skills are no longer just a bonus—they’re a game changer in this era.
Technology is revolutionizing civil engineering by integrating advanced tools and techniques. Programming allows for the automation of repetitive tasks, enhancing the accuracy of designs, simulations, and analyses. With the advent of artificial intelligence and machine learning, engineers can now predict structural behaviors under various conditions, optimize material usage, and improve project planning.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
Measuring the Impact of Network Latency at TwitterScyllaDB
Widya Salim and Victor Ma will outline the causal impact analysis, framework, and key learnings used to quantify the impact of reducing Twitter's network latency.
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
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
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
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
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