Linux Container Brief for IEEE WG P2302Boden Russell
ย
A brief into to Linux Containers presented to IEEE working group P2302 (InterCloud standards and portability). This deck covers:
- Definitions and motivations for containers
- Container technology stack
- Containers vs Hypervisor VMs
- Cgroups
- Namespaces
- Pivot root vs chroot
- Linux Container image basics
- Linux Container security topics
- Overview of Linux Container tooling functionality
- Thoughts on container portability and runtime configuration
- Container tooling in the industry
- Container gaps
- Sample use cases for traditional VMs
Overall, a bulk of this deck is covered in other material I have posted here. However there are a few new slides in this deck, most notability some thoughts on container portability and runtime config.
Lxc โ next gen virtualization for cloud intro (cloudexpo)Boden Russell
ย
This document provides an introduction and overview of Linux containers as next-generation virtualization for cloud computing. It discusses how Linux containers provide better performance and flexibility than traditional virtual machines through the use of cgroups and namespaces. It also covers how containerization is gaining industry momentum and provides lower total cost of ownership through integration with modern Linux kernels and open source tooling. Finally, it defines key Linux container technologies, compares containers to hypervisors, and discusses building and securing Linux containers.
Tokyo OpenStack Summit 2015: Unraveling Docker SecurityPhil Estes
ย
A Docker security talk that Salman Baset and Phil Estes presented at the Tokyo OpenStack Summit on October 29th, 2015. In this talk we provided an overview of the security constraints available to Docker cloud operators and users and then walked through a "lessons learned" from experiences operating IBM's public Bluemix container cloud based on Docker container technology.
KVM and docker LXC Benchmarking with OpenStackBoden Russell
ย
Passive benchmarking with docker LXC and KVM using OpenStack hosted in SoftLayer. These results provide initial incite as to why LXC as a technology choice offers benefits over traditional VMs and seek to provide answers as to the typical initial LXC question -- "why would I consider Linux Containers over VMs" from a performance perspective.
Results here provide insight as to:
- Cloudy ops times (start, stop, reboot) using OpenStack.
- Guest micro benchmark performance (I/O, network, memory, CPU).
- Guest micro benchmark performance of MySQL; OLTP read, read / write complex and indexed insertion.
- Compute node resource consumption; VM / Container density factors.
- Lessons learned during benchmarking.
The tests here were performed using OpenStack Rally to drive the OpenStack cloudy tests and various other linux tools to test the guest performance on a "micro level". The nova docker virt driver was used in the Cloud scenario to realize VMs as docker LXC containers and compared to the nova virt driver for libvirt KVM.
Please read the disclaimers in the presentation as this is only intended to be the "chip of the ice burg".
Performance characteristics of traditional v ms vs docker containers (dockerc...Boden Russell
ย
Docker containers provide significantly lower resource usage and higher density than traditional virtual machines when running multiple workloads concurrently on a server.
When booting 15 Ubuntu VMs with MySQL sequentially, Docker containers boot on average 3.5 seconds compared to 5.8 seconds for KVMs. During steady state operation of 15 active VMs, Docker uses on average 0.2% CPU and 49MB RAM per container, while KVMs use 1.9% CPU and 292MB RAM each. Docker maintains low 1-minute load averages of 0.15, while KVMs average 35.9% under load.
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Jรฉrรดme Petazzoni
ย
Linux containers are different from Solaris Zones or BSD Jails: they use discrete kernel features like cgroups, namespaces, SELinux, and more. We will describe those mechanisms in depth, as well as demo how to put them together to produce a container. We will also highlight how different container runtimes compare to each other.
This talk was delivered at DockerCon Europe 2015 in Barcelona.
Linux containers provide isolation between applications using namespaces and cgroups. While containers appear similar to VMs, they do not fully isolate applications and some security risks remain. To improve container security, Docker recommends: 1) not running containers as root, 2) dropping capabilities like CAP_SYS_ADMIN, 3) enabling user namespaces, and 4) using security modules like SELinux. However, containers cannot fully isolate applications that need full hardware or kernel access, so virtual machines may be needed in some cases.
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConJรฉrรดme Petazzoni
ย
Containers are everywhere. But what exactly is a container? What are they made from? What's the difference between LXC, butts-nspawn, Docker, and the other container systems out there? And why should we bother about specific filesystems?
In this talk, Jรฉrรดme will show the individual roles and behaviors of the components making up a container: namespaces, control groups, and copy-on-write systems. Then, he will use them to assemble a container from scratch, and highlight the differences (and likelinesses) with existing container systems.
Christian Kniep from Docker Inc. gave this talk at the Stanford HPC Conference.
"This talk will recap the history of and what constitutes Linux Containers, before laying out how the technology is employed by various engines and what problems these engines have to solve. Afterward, Christian will elaborate on why the advent of standards for images and runtimes moved the discussion from building and distributing containers to orchestrating containerized applications at scale. In conclusion, attendees will get an update on what problems still hinder the adoption of containers for distributed high performance workloads and how Docker is addressing these issues."
Christian Kniep is a Technical Account Manager at Docker, Inc. With a 10 year journey rooted in the HPC parts of the german automotive industry, Christian Kniep started to support CAE applications and VR installations. When told at a conference that HPC can not learn anything from the emerging Cloud and BigData companies, he became curious and was leading the containerization effort of the cloud-stack at Playstation Now. Christian joined Docker Inc in 2017 to help push the adoption forward and be part of the innovation instead of an external bystander. During the day he helps Docker customers in the EMEA region to fully utilize the power of containers; at night he likes to explore new emerging trends by containerizing them first and seek application in the nebulous world of DevOps.
Watch the video: https://wp.me/p3RLHQ-i4X
Learn more: http://docker.com
and
http://hpcadvisorycouncil.com
Sign up for our insideHPC Newsletter: http://insidehpc.com
Docker is a system for running applications in isolated containers. It addresses issues with traditional virtual machines by providing lightweight containers that share resources and allow applications to run consistently across different environments. Docker eliminates inconsistencies in development, testing and production environments. It allows applications and their dependencies to be packaged into a standardized unit called a container that can run on any Linux server. This makes applications highly portable and improves efficiency across the entire development lifecycle.
Rooting Out Root: User namespaces in DockerPhil Estes
ย
This talk on the progress to bring user namespace support into Docker was presented by Phil Estes at LinuxCon/ContainerCon 2015 on Wednesday, Aug. 19th, 2015
Linux containers (LXC) provide operating system-level virtualization using features of the Linux kernel such as cgroups, namespaces, and chroot. This allows for the creation of lightweight isolated environments called containers that share the kernel of the host system. Containers offer many advantages over traditional virtual machines such as near-native performance, flexibility, and lightweight resource usage. The document discusses the key building blocks and technologies that underpin LXC such as cgroups for resource control and namespaces for process isolation. It also covers the benefits of using LXC and how container images are realized on Linux.
Presentation on the Linux namespaces and system calls used to provide container isolation with Docker. Presented in March 2015 at http://www.meetup.com/Docker-Phoenix/ in Tempe, Arizona.
Linux Containers(LXC) allow running multiple isolated Linux instances (containers) on the same host.
Containers share the same kernel with anything else that is running on it, but can be constrained to only use a defined amount of resources such as CPU, memory or I/O.
A container is a way to isolate a group of processes from the others on a running Linux system.
LXC, Docker, security: is it safe to run applications in Linux Containers?Jรฉrรดme Petazzoni
ย
The document discusses the security of running applications in Linux containers. It begins by acknowledging that containers were not originally designed with security in mind. However, it then outlines several techniques that can be used to improve security, such as running containers without root privileges, dropping capabilities, enabling security modules like SELinux, and limiting access to devices and system calls. For the most security-sensitive tasks, it recommends running containers inside virtual machines to isolate them further. In the end, it argues that with the right precautions, containers can be used securely for many applications.
LXC โ NextGen Virtualization for Cloud benefit realization (cloudexpo)Boden Russell
ย
This document summarizes a presentation on Linux containers (LXC) as an alternative to virtual machines for cloud computing and containerization. It finds that LXC provides significantly better performance than virtual machines in terms of provisioning time, CPU and memory usage, and load on the compute node. Specifically, when packing 15 active VMs/containers on a node, LXC uses 0.54% CPU on average compared to 7.64% for KVM, and 734 MB of memory total compared to 4,387 MB for KVM. When booting VMs/containers serially, the average boot time is 3.5 seconds for LXC versus 5.8 seconds for KVM, and CPU usage is lower overall for
This document discusses Docker internals and components. It covers:
1. Docker provides build once, configure once capabilities to deploy applications everywhere reliably, consistently, efficiently and cheaply.
2. Docker components include the Docker daemon, libcontainer, cgroups, namespaces, AUFS/BTRFS/dm-thinp, and the kernel-userspace interface.
3. Docker uses filesystem isolation through layering, copy-on-write, caching and differencing using union filesystems like AUFS to provide efficient sharing of files between containers.
Describes what is lightweight virtualization and containers, and the low-level mechanisms in the Linux kernel that it relies on: namespaces, cgroups. It also gives details on AUFS. Those component together are the key to understanding how modern systems like Docker (http://www.docker.io/) work.
How Secure Is Your Container? ContainerCon Berlin 2016Phil Estes
ย
A conference talk at ContainerCon Europe in Berlin, Germany, given on October 5th, 2016. This is a slightly modified version of my talk first used at Docker London in July 2016.
The document describes the architecture of Docker containers. It discusses how Docker uses Linux kernel features like cgroups and namespaces to isolate processes and manage resources. It then explains the main components of Docker, including the Docker engine, images, containers, graph drivers, and the native execution driver which uses libcontainer to interface with the kernel.
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...Jรฉrรดme Petazzoni
ย
Containers, Docker, and Security: State of the Union
This document discusses the past, present, and future of container security with Docker. It summarizes that container isolation used to be a major concern but improvements have been made through finer-grained permissions and immutable containers. Image provenance is now a bigger issue but techniques like Docker Content Trust (Notary) help address it. Defense in depth with both containers and VMs is recommended. The security of containers continues to improve through practices like better upgrades, security benchmarks, and policies.
LXC, Docker, and the future of software delivery | LinuxCon 2013dotCloud
ย
This document discusses Linux containers and Docker. It describes how Linux containers provide isolation using namespaces and cgroups to allow applications to run consistently across different environments. Docker builds on Linux containers to make them easy to use, create, share, and deploy. Docker allows building images from Dockerfiles, sharing images in registries, and developing hybrid cloud workflows. The document outlines Docker's roadmap and growing ecosystem of tools and projects building on Docker.
Docker - container and lightweight virtualization Sim Janghoon
ย
Docker is an open platform for building, shipping and running distributed applications. It uses containers, which are lightweight and portable execution environments, to isolate applications and their dependencies from one another. Containers are created from Docker images, which are templates that contain binaries, libraries and configuration files needed to run an application. Namespaces and control groups allow containers to share resources on the host machine while maintaining isolation.
Cgroups, namespaces and beyond: what are containers made from?Docker, Inc.
ย
Linux containers are different from Solaris Zones or BSD Jails: they use discrete kernel features like cgroups, namespaces, SELinux, and more. We will describe those mechanisms in depth, as well as demo how to put them together to produce a container. We will also highlight how different container runtimes compare to each other.
This document discusses Linux containers and the App Container specification (APPC). It provides a history of container technologies and describes key aspects of APPC including the ACI image format, runtime environment, and discovery protocol. It introduces Rocket (rkt) as a container runtime that works with APPC and can run applications packaged in ACIs. The document concludes by mentioning how to install rkt and build a simple ACI image for demonstration purposes.
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConJรฉrรดme Petazzoni
ย
Containers are everywhere. But what exactly is a container? What are they made from? What's the difference between LXC, butts-nspawn, Docker, and the other container systems out there? And why should we bother about specific filesystems?
In this talk, Jรฉrรดme will show the individual roles and behaviors of the components making up a container: namespaces, control groups, and copy-on-write systems. Then, he will use them to assemble a container from scratch, and highlight the differences (and likelinesses) with existing container systems.
Christian Kniep from Docker Inc. gave this talk at the Stanford HPC Conference.
"This talk will recap the history of and what constitutes Linux Containers, before laying out how the technology is employed by various engines and what problems these engines have to solve. Afterward, Christian will elaborate on why the advent of standards for images and runtimes moved the discussion from building and distributing containers to orchestrating containerized applications at scale. In conclusion, attendees will get an update on what problems still hinder the adoption of containers for distributed high performance workloads and how Docker is addressing these issues."
Christian Kniep is a Technical Account Manager at Docker, Inc. With a 10 year journey rooted in the HPC parts of the german automotive industry, Christian Kniep started to support CAE applications and VR installations. When told at a conference that HPC can not learn anything from the emerging Cloud and BigData companies, he became curious and was leading the containerization effort of the cloud-stack at Playstation Now. Christian joined Docker Inc in 2017 to help push the adoption forward and be part of the innovation instead of an external bystander. During the day he helps Docker customers in the EMEA region to fully utilize the power of containers; at night he likes to explore new emerging trends by containerizing them first and seek application in the nebulous world of DevOps.
Watch the video: https://wp.me/p3RLHQ-i4X
Learn more: http://docker.com
and
http://hpcadvisorycouncil.com
Sign up for our insideHPC Newsletter: http://insidehpc.com
Docker is a system for running applications in isolated containers. It addresses issues with traditional virtual machines by providing lightweight containers that share resources and allow applications to run consistently across different environments. Docker eliminates inconsistencies in development, testing and production environments. It allows applications and their dependencies to be packaged into a standardized unit called a container that can run on any Linux server. This makes applications highly portable and improves efficiency across the entire development lifecycle.
Rooting Out Root: User namespaces in DockerPhil Estes
ย
This talk on the progress to bring user namespace support into Docker was presented by Phil Estes at LinuxCon/ContainerCon 2015 on Wednesday, Aug. 19th, 2015
Linux containers (LXC) provide operating system-level virtualization using features of the Linux kernel such as cgroups, namespaces, and chroot. This allows for the creation of lightweight isolated environments called containers that share the kernel of the host system. Containers offer many advantages over traditional virtual machines such as near-native performance, flexibility, and lightweight resource usage. The document discusses the key building blocks and technologies that underpin LXC such as cgroups for resource control and namespaces for process isolation. It also covers the benefits of using LXC and how container images are realized on Linux.
Presentation on the Linux namespaces and system calls used to provide container isolation with Docker. Presented in March 2015 at http://www.meetup.com/Docker-Phoenix/ in Tempe, Arizona.
Linux Containers(LXC) allow running multiple isolated Linux instances (containers) on the same host.
Containers share the same kernel with anything else that is running on it, but can be constrained to only use a defined amount of resources such as CPU, memory or I/O.
A container is a way to isolate a group of processes from the others on a running Linux system.
LXC, Docker, security: is it safe to run applications in Linux Containers?Jรฉrรดme Petazzoni
ย
The document discusses the security of running applications in Linux containers. It begins by acknowledging that containers were not originally designed with security in mind. However, it then outlines several techniques that can be used to improve security, such as running containers without root privileges, dropping capabilities, enabling security modules like SELinux, and limiting access to devices and system calls. For the most security-sensitive tasks, it recommends running containers inside virtual machines to isolate them further. In the end, it argues that with the right precautions, containers can be used securely for many applications.
LXC โ NextGen Virtualization for Cloud benefit realization (cloudexpo)Boden Russell
ย
This document summarizes a presentation on Linux containers (LXC) as an alternative to virtual machines for cloud computing and containerization. It finds that LXC provides significantly better performance than virtual machines in terms of provisioning time, CPU and memory usage, and load on the compute node. Specifically, when packing 15 active VMs/containers on a node, LXC uses 0.54% CPU on average compared to 7.64% for KVM, and 734 MB of memory total compared to 4,387 MB for KVM. When booting VMs/containers serially, the average boot time is 3.5 seconds for LXC versus 5.8 seconds for KVM, and CPU usage is lower overall for
This document discusses Docker internals and components. It covers:
1. Docker provides build once, configure once capabilities to deploy applications everywhere reliably, consistently, efficiently and cheaply.
2. Docker components include the Docker daemon, libcontainer, cgroups, namespaces, AUFS/BTRFS/dm-thinp, and the kernel-userspace interface.
3. Docker uses filesystem isolation through layering, copy-on-write, caching and differencing using union filesystems like AUFS to provide efficient sharing of files between containers.
Describes what is lightweight virtualization and containers, and the low-level mechanisms in the Linux kernel that it relies on: namespaces, cgroups. It also gives details on AUFS. Those component together are the key to understanding how modern systems like Docker (http://www.docker.io/) work.
How Secure Is Your Container? ContainerCon Berlin 2016Phil Estes
ย
A conference talk at ContainerCon Europe in Berlin, Germany, given on October 5th, 2016. This is a slightly modified version of my talk first used at Docker London in July 2016.
The document describes the architecture of Docker containers. It discusses how Docker uses Linux kernel features like cgroups and namespaces to isolate processes and manage resources. It then explains the main components of Docker, including the Docker engine, images, containers, graph drivers, and the native execution driver which uses libcontainer to interface with the kernel.
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...Jรฉrรดme Petazzoni
ย
Containers, Docker, and Security: State of the Union
This document discusses the past, present, and future of container security with Docker. It summarizes that container isolation used to be a major concern but improvements have been made through finer-grained permissions and immutable containers. Image provenance is now a bigger issue but techniques like Docker Content Trust (Notary) help address it. Defense in depth with both containers and VMs is recommended. The security of containers continues to improve through practices like better upgrades, security benchmarks, and policies.
LXC, Docker, and the future of software delivery | LinuxCon 2013dotCloud
ย
This document discusses Linux containers and Docker. It describes how Linux containers provide isolation using namespaces and cgroups to allow applications to run consistently across different environments. Docker builds on Linux containers to make them easy to use, create, share, and deploy. Docker allows building images from Dockerfiles, sharing images in registries, and developing hybrid cloud workflows. The document outlines Docker's roadmap and growing ecosystem of tools and projects building on Docker.
Docker - container and lightweight virtualization Sim Janghoon
ย
Docker is an open platform for building, shipping and running distributed applications. It uses containers, which are lightweight and portable execution environments, to isolate applications and their dependencies from one another. Containers are created from Docker images, which are templates that contain binaries, libraries and configuration files needed to run an application. Namespaces and control groups allow containers to share resources on the host machine while maintaining isolation.
Cgroups, namespaces and beyond: what are containers made from?Docker, Inc.
ย
Linux containers are different from Solaris Zones or BSD Jails: they use discrete kernel features like cgroups, namespaces, SELinux, and more. We will describe those mechanisms in depth, as well as demo how to put them together to produce a container. We will also highlight how different container runtimes compare to each other.
This document discusses Linux containers and the App Container specification (APPC). It provides a history of container technologies and describes key aspects of APPC including the ACI image format, runtime environment, and discovery protocol. It introduces Rocket (rkt) as a container runtime that works with APPC and can run applications packaged in ACIs. The document concludes by mentioning how to install rkt and build a simple ACI image for demonstration purposes.
This document discusses virtualization, containers, and hyperconvergence. It provides an overview of virtualization and its benefits including hardware abstraction and multi-tenancy. However, virtualization also has challenges like significant overhead and repetitive configuration tasks. Containers provide similar benefits with less overhead by abstracting at the operating system level. The document then discusses how hyperconvergence combines compute, storage, and networking to simplify deployment and operations. It notes that many hyperconverged solutions still face virtualization challenges. The presentation argues that combining containers and hyperconvergence can provide both the benefits of containers' efficiency and hyperconvergence's scale. Stratoscale is presented as a solution that provides containers as a service with multi-tenancy, SLA-driven performance
Why Cloud Computing has to go the FOSS wayAhmed Mekkawy
ย
This presentation tries to show the trends of software industry to reach the conclusion that cloud computing as a concept is inevitable, and having them as open clouds in inevitable as well.
Sometimes you feel like a docker... sometimes you don't.bridgetkromhout
ย
This document provides a brief history of containers starting in 1979 and discusses their increasing use and capabilities through present day. It notes key developments like chroot, FreeBSD jails, Solaris Zones, and Linux Containers (LXC). The document advocates for platforms like Pivotal Web Services that provide reusable runtime environments and services to help developers easily "ship" applications in containers. It outlines components of a minimum viable platform and provides additional reading on cloud native application platforms and container technologies.
Using Docker with OpenStack - Hands On!Adrian Otto
ย
This document outlines an agenda for a hands-on Docker workshop. It includes 3 lessons and 3 hands-on labs. Lesson 1 provides an introduction to Docker concepts like Docker images, containers, and Dockerfiles. Lab 1 guides students on using docker-machine to spin up containers and get shells on Docker hosts. Lesson 2 covers writing Dockerfiles. Lab 2 involves writing Dockerfiles. Lesson 3 discusses linking and networking containers, while Lab 3 demonstrates linking containers on the same and different hosts.
- The document discusses Docker, a tool that allows users to package applications into standardized units called containers for development, shipping and running applications.
- It provides an overview of Docker concepts like images, containers, the Dockerfile and Docker Hub registry. It also includes examples of Docker commands and a sample Dockerfile.
- The document encourages readers to use Docker for benefits like continuous integration/delivery, distributed applications and easy application deployment in a platform-as-a-service model.
Topic 14: Operating Systems and VirtualizationZubair Nabi
ย
The document discusses operating systems and virtualization. It provides an overview of several Linux distributions including their key features and use cases. It also describes Xen, a hypervisor used to run multiple virtual machines on a single physical machine. Xen uses a dom0 domain to control hardware access and export virtual devices to domU guest virtual machines. I/O is handled through backend and frontend device drivers in the dom0 and domUs respectively.
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStackNati Shalom
ย
This document discusses the Cloudify orchestration platform and provides examples of its use. It begins with an overview of orchestration and the Cloudify architecture. It then describes customer case studies using Cloudify to automate application deployment across OpenStack and VMware. Live demos illustrate orchestrating simple and complex applications on Docker containers and vCloud Air. The document concludes by noting that change is constant and more changes are ahead for Cloudify and orchestration technologies.
A Performance Comparison of Container-based Virtualization Systems for MapRed...Marcelo Veiga Neves
ย
This document evaluates the performance of container-based virtualization systems compared to native environments for MapReduce clusters. It finds that container systems like LXC and OpenVZ perform similarly to native environments for HDFS and NameNode evaluations based on common Hadoop benchmarks. The evaluation uses a Hadoop cluster of 4 nodes with 2 processors and 16GB RAM per node. Benchmark results show container systems achieve near-native performance for HDFS throughput tests and NameNode latency tests, indicating their viability for virtualizing MapReduce workloads with low performance overhead.
O documento discute namespaces no Linux, descrevendo sua implementaรงรฃo e funcionalidade. As system calls unshare() e setns() foram adicionadas para criar e associar processos a namespaces existentes, respectivamente. A estrutura de dados nsproxy representa associaรงรตes de processos a namespaces.
O propรณsito dessa palestra รฉ:
* Entender o que รฉ um ambiente chroot;
* Criar um ambiente chroot;
* Dar subsรญdios para a pessoa saber criar seus prรณprios ambientes em chroot.
Docker is an open platform for developing, shipping, and running applications. It aims to solve the problem of maintaining different application versions across multiple platforms and servers. Docker allows applications to be packaged into standardized units called containers that contain all their dependencies so they can run reliably from one computing environment to another. Containers operate much more efficiently at runtime than virtual machines, using less memory and CPU resources. Docker images provide a lightweight template for creating containers which bundle application code and dependencies. This allows applications to be easily deployed and scaled across multiple machines.
This document discusses deploying WSO2 middleware on Kubernetes. It provides an overview of Kubernetes architecture and components, and how various Kubernetes features like pods, replication controllers, services, and overlay networking are used. It also describes WSO2 Docker images, Carbon reference architectures for Kubernetes, and the deployment workflow. Monitoring of Kubernetes cluster health using tools like cAdvisor, Heapster, Grafana and InfluxDB is also covered briefly.
Chroot and SELinux provide mechanisms for access control and confinement of untrusted programs. Chroot changes a process's root directory, confining it to that subtree. SELinux implements mandatory access control using security contexts and policies to define allowed access between subjects and objects. It can prevent privilege escalation even if the root account is compromised.
This document discusses virtualization and homomorphic encryption in cloud computing. Virtualization allows multiple operating systems to run on the same server at the same time by creating virtual versions. It improves hardware utilization and saves costs. Homomorphic encryption allows computations to be performed on encrypted data without decrypting it first, preserving data privacy. While some encryption schemes allow limited mathematical operations, fully homomorphic encryption remains an area of research.
The document discusses the technique of chrooting, which involves running a process within a restricted directory tree and file system context. It describes how chrooting can provide isolation for software and increase security. It then covers different approaches to chrooting such as chrooting before or within an application. It also addresses considerations for chrooting like ensuring needed shared libraries and devices are available. Finally, it discusses methods for installing additional software within a chrooted environment.
The document discusses various techniques for breaking out of chroot jail environments on Unix-like operating systems. It begins with background information on the speaker and a brief history of chroot. It then explains what chroot is and common uses before detailing requirements for a reasonably secure chroot. The bulk of the document summarizes different techniques for escaping chroot restrictions like using classic chroot flaws, file descriptor passing, Unix domain sockets, mount, /proc, and moving directories out of the chrooted environment. It provides examples and demonstrates some techniques. It concludes by discussing future work hardening containers and operating systems against these issues.
Revolutionizing the cloud with container virtualizationWSO2
ย
This document discusses container virtualization and key related technologies. It begins with an overview of virtualization and the hypervisor model. It then covers Linux containers and the kernel features they use like namespaces, cgroups, AppArmor, and SELinux. Popular container tools like LXC, Docker, CoreOS, and Kubernetes are introduced. The document argues that containers make it possible to run multiple isolated environments on one host more efficiently than virtual machines, improving cloud deployment.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It was originally developed by Google based on years of experience running production workloads at scale. Kubernetes groups containers into logical units called pods and handles tasks like scheduling, health checking, scaling and rollbacks. The main components include a master node that manages the cluster and worker nodes that run application containers scheduled by the master.
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019kanedafromparis
ย
This document discusses Kubernetes application lifecycle management with a focus on patch management. It begins with a reminder about Docker concepts like namespaces, containers, images and layers. It then provides a brief introduction to Kubernetes, discussing pods, services, deployments and replicasets. The document notes that failures can be quickly fixed during development, but patches are less frequent for production applications. It discusses tools for scanning for Common Vulnerabilities and Exposures (CVEs) and automating updates. Finally, it mentions some difficulties encountered with patching and proposed organizational solutions.
Traditional virtualization technologies have been used by cloud infrastructure providers for many years in providing isolated environments for hosting applications. These technologies make use of full-blown operating system images for creating virtual machines (VMs). According to this architecture, each VM needs its own guest operating system to run application processes. More recently, with the introduction of the Docker project, the Linux Container (LXC) virtualization technology became popular and attracted the attention. Unlike VMs, containers do not need a dedicated guest operating system for providing OS-level isolation, rather they can provide the same level of isolation on top of a single operating system instance.
An enterprise application may need to run a server cluster to handle high request volumes. Running an entire server cluster on Docker containers, on a single Docker host could introduce the risk of single point of failure. Google started a project called Kubernetes to solve this problem. Kubernetes provides a cluster of Docker hosts for managing Docker containers in a clustered environment. It provides an API on top of Docker API for managing docker containers on multiple Docker hosts with many more features.
Docker is an open platform for developing, deploying and running applications by using containers. It allows applications to be quickly assembled from components and eliminates the friction between development, shipping, and running. Docker containers are lightweight and portable, leveraging features of the Linux kernel such as cgroups and namespaces to isolate resources and provide operating-system-level virtualization for applications. Docker uses images which are read-only templates that can be committed with changes to create new images for deploying applications and updating container instances.
Docker provides security for containerized applications using Linux kernel features like namespaces and cgroups to isolate processes and limit resource usage. The Docker daemon manages these Linux security mechanisms to build secure containers. Docker images can also be scanned for vulnerabilities and signed with content trust to ensure only approved container images are deployed in production.
Securing Applications and Pipelines on a Container PlatformAll Things Open
ย
Presented at: Open Source 101 at Home
Presented by: Veer Muchandi, Red Hat Inc
Abstract: While everyone wants to do Containers and Kubernetes, they donโt know what they are getting into from Security perspective. This session intends to take you from โI donโt know what I donโt knowโ to โI know what I donโt knowโ. This helps you to make informed choices on Application Security.
Kubernetes as a Container Platform is becoming a de facto for every enterprise. In my interactions with enterprises adopting container platform, I come across common questions:
- How does application security work on this platform? What all do I need to secure?
- How do I implement security in pipelines?
- What about vulnerabilities discovered at a later point in time?
- What are newer technologies like Istio Service Mesh bring to table?
In this session, I will be addressing these commonly asked questions that every enterprise trying to adopt an Enterprise Kubernetes Platform needs to know so that they can make informed decisions.
The document provides an overview of Docker fundamentals, including what Docker is, its architecture, common operations, and advantages. It begins by explaining that Docker is a container technology that packages code and dependencies together. Containers run atop the same OS kernel and utilize fewer system resources than virtual machines. The document then describes Docker's client-server architecture and underlying technologies like namespaces and cgroups that enable isolation. It also outlines common Docker commands and explains that Dockerfiles define container configurations.
This document provides information about Linux containers and Docker. It discusses:
1) The evolution of IT from client-server models to thin apps running on any infrastructure and the challenges of ensuring consistent service interactions and deployments across environments.
2) Virtual machines and their benefits of full isolation but large disk usage, and Vagrant which allows packaging and provisioning of VMs via files.
3) Docker and how it uses Linux containers powered by namespaces and cgroups to deploy applications in lightweight portable containers that are more efficient than VMs. Examples of using Docker are provided.
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...Patrick Chanezon
ย
Docker provides an integrated and opinionated toolset to build, ship and run distributed applications. Over the past year, the Docker codebase has been refactored extensively to extract infrastructure plumbing components that can be used independently, following the UNIX philosophy of small tools doing one thing well: runC, containerd, swarmkit, hyperkit, vpnkit, datakit and the newly introduced InfraKit.
This talk will give an overview of these tools and how you can use them to build your own distributed systems without Docker.
Patrick Chanezon & David Chung, Docker & Phil Estes, IBM
prรฉsentation de l'utilisation de Docker, du niveau 0 "je joue avec sur mon poste" au niveau Docker Hero "je tourne en prod".
Ce talk fait suite ร l'intro de @dgageot et ne comporte donc pas l'intro "c'est quoi Docker ?".
This document provides an overview and comparison of Docker, Kubernetes, OpenShift, Fabric8, and Jube container technologies. It discusses key concepts like containers, images, and Dockerfiles. It explains how Kubernetes provides horizontal scaling of Docker through replication controllers and services. OpenShift builds on Kubernetes to provide a platform as a service with routing, multi-tenancy, and a build/deploy pipeline. Fabric8 and Jube add additional functionality for developers, with tools, libraries, logging, and pure Java Kubernetes implementations respectively.
This document summarizes a presentation on container security given by Phil Estes. It identifies several threat vectors for containers including risks from individual containers, interactions between containers, external attacks, and application security issues. It then outlines various security tools and features in Docker like cgroups, Linux Security Modules, capabilities, seccomp, and user namespaces that can help mitigate these threats. Finally, it discusses some future directions for improving container security through more secure defaults, image signing, and network security enhancements.
Dev opsec dockerimage_patch_n_lifecyclemanagement_kanedafromparis
ย
Lors de cette prรฉsentation, nous allons dans un premier temps rappeler la spรฉcificitรฉ de docker par rapport ร une VM (PID, cgroups, etc) parler du systรจme de layer et de la diffรฉrence entre images et instances puis nous prรฉsenterons succinctement kubernetes.
Ensuite, nous prรฉsenterons un processus ยซ standard ยป de propagation dโune version CI/CD (dรฉveloppement, prรฉproduction, production) ร travers les tags docker.
Enfin, nous parlerons des diffรฉrents composants constituant une application docker (base-image, tooling, librairie, code).
Une fois cette introduction rรฉalisรฉe, nous parlerons du cycle de vie dโune application ร travers ses phases de dรฉveloppement, BAU pour mettre en avant que les failles de sรฉcuritรฉ en pรฉriode de dรฉveloppement sont rapidement corrigรฉes par de nouvelles releases, mais pas nรฉcessairement en BAU oรน les releases sont plus rares. Nous parlerons des diverses solutions (jfrog Xray, clair, โฆ) pour le suivie des automatique des CVE et lโautomatisation des mises ร jour. Enfin, nous ferons un bref retour dโexpรฉrience pour parler des difficultรฉs rencontrรฉes et des propositions dโorganisation mises en oeuvre.
Cette prรฉsentation bien quโillustrรฉe par des implรฉmentations techniques est principalement organisationnelle.
Namespaces, Cgroups and systemd document discusses:
1. Namespaces and cgroups which provide isolation and resource management capabilities in Linux.
2. Systemd which is a system and service manager that aims to boot faster and improve dependencies between services.
3. Key components of systemd include unit files, systemctl, and tools to manage services, devices, mounts and other resources.
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Phil Estes
ย
A presentation given on Thursday, January 19th, 2017 at the Devops Remote Conf 2017. This talk details the history of the Docker engine architecture, focusing on the split in April 2016 into the containerd and runc layers, and talking through the December 2016 announcement of the *new containerd project and what it will bring for the Docker engine and other consumers.
This document provides an overview of Docker and containers. It begins with a brief introduction to 12 Factor Applications methodology and then defines what Docker is, explaining that containers utilize Linux namespaces and cgroups to isolate processes. It describes the Docker software and ecosystem, including images, registries, Docker CLI, Docker Compose, building images with Dockerfile, and orchestrating with tools like Kubernetes. It concludes with a live demo and links to additional resources.
Accelerate your software development with DockerAndrey Hristov
ย
Docker is in all the news and this talk presents you the technology and shows you how to leverage it to build your applications according to the 12 factor application model.
Planning WSO2 Deployments on Pivotal Cloud FoundryImesh Gunaratne
ย
This document discusses planning WSO2 deployments on Pivotal Cloud Foundry (PCF). It provides an introduction to key PCF concepts like BOSH, stemcells, tiles and the deployment process. It also discusses integrating applications with services and the Open Service Broker API. Additionally, it presents the WSO2 API Manager reference architecture for PCF and resources available, and demonstrates deploying WSO2 on Pivotal Container Service.
This is the second session of Deep Dive into Kubernetes. It includes information on optimizing Docker image size, persistent volumes, container security, and different aspects of running Kubernetes on GKE and AWS.
This presentation includes information on Kubernetes Architecture, Container Orchestration, Internal Routing, External Routing, Configuration Management, Credentials Management, Persistent Volumes, Rolling Out Updates, Autoscaling, Package Management, and a Hello World example using Helm.
WSO2 API Manager Reference Architecture for Pivotal Cloud FoundryImesh Gunaratne
ย
This presentation includes an introduction to Pivotal Cloud Foundry (PCF) and How WSO2 API Manager can be deployed on PCF using a PCF Tile, BOSH release and a Service Broker.
WSO2 Kubernetes Reference Architecture - Nov 2017Imesh Gunaratne
ย
This document provides an overview of WSO2's reference architecture for deploying their middleware products on Kubernetes. It begins with introductions to containers and Kubernetes, explaining concepts like pods, services, deployments, etc. It then outlines WSO2's approach for container orchestration, service discovery, configuration management, load balancing, security, updates, and monitoring in a Kubernetes environment. Specific practices and Kubernetes resources are recommended for areas like pod security policies, horizontal pod autoscaling, ingress definitions, and more. Overall the document serves as a guide for architecting and operating WSO2 products on Kubernetes according to best practices.
WSO2 Cloud and Platform as a Service StrategyImesh Gunaratne
ย
The document discusses WSO2's cloud and platform as a service strategies, including their public cloud offering (WSO2 Cloud), managed cloud services, and platform as a service solutions running on Kubernetes, OpenShift, Mesos DC/OS, and Cloud Foundry. It provides an overview of each platform and describes the solution stack used to deploy WSO2 middleware on them, covering aspects like configuration management, container images, deployment automation, cluster discovery, and load balancing.
The document discusses planning a cloud strategy and deployment. It outlines 8 steps to plan a cloud deployment: 1) Analyze solution architecture, 2) Select systems to move to cloud, 3) Select cloud usage models, 4) Select cloud deployment model, 5) Select cloud platforms, 6) Implement deployment automation, 7) Implement proof of concept, 8) Refine proof of concept and implement cloud platform. It also discusses how to do integrations, manage APIs, manage users/roles/permissions, gather analytics, and how WSO2 middleware can help with cloud deployments.
The document discusses deploying WSO2 middleware on containers using Docker, Docker Compose, Kubernetes, Mesos DC/OS, and Cloud Foundry. It begins with introductions to Docker, Docker Compose, and Kubernetes. It then covers building WSO2 Docker images, deploying middleware on Docker Compose and Kubernetes, automated cluster discovery, and deploying to Mesos DC/OS. Limitations of Cloud Foundry are discussed along with reference architectures. The presentation includes demos of deploying API Manager on Docker Compose and Kubernetes and building Docker images with Puppet.
This document summarizes multitenancy in WSO2 C5. It discusses how multitenancy works in C4 with tenant isolation at the Carbon server level. In C5, tenant isolation occurs at the Kubernetes namespace level, with each tenant assigned their own namespace. This allows independent tenant instances to run in containers, with services and resources isolated by namespace. The document provides an overview of how tenant services and clusters are deployed and accessed in Kubernetes.
This document summarizes deploying WSO2 middleware on Apache Mesos. It discusses using Mesos and Docker to deploy WSO2 products as containers in a clustered and scalable way. Key points include: Mesos architecture and features for scheduling resources and containers; using WSO2 Docker images with Mesos; a reference Carbon architecture on Mesos using Marathon load balancers; and the deployment workflow of building Docker images, importing them to a registry, and deploying Mesos artifacts.
This document outlines an introduction to Docker for Java developers, including running Java microservices and applications in Docker containers. It discusses building Docker images with Maven, interacting with the Docker API in Java, continuous delivery with Jenkins and Docker, and deploying Java applications to production using Docker clusters like Kubernetes and Docker Swarm.
This document provides an overview of WSO2's cloud strategy, including their platform as a service (PaaS) offerings. It discusses the current state of cloud computing and introduces WSO2 Cloud, which includes their public cloud, managed cloud, and PaaS offerings like Apache Stratos and Kubernetes. It provides details on core PaaS features, WSO2's Docker images, and how their products can be deployed on Kubernetes to provide scalability, high availability, and multi-region support.
Google created Go because existing systems programming languages did not provide efficient compilation, execution, and ease of programming simultaneously. Go combines the ease of dynamically typed languages with the efficiency and safety of compiled, statically typed languages. It has features for concurrency and garbage collection that improve on C, as well as syntax inspired by Python, JavaScript, and Pascal.
This document discusses implementing multi-cloud deployments using Kubernetes. It outlines two reference architectures for Kubernetes multi-cloud - a monolithic approach with a single load balancer and a decoupled hierarchical approach. The core challenges of location affinity, cross-cluster service discovery, scheduling and migration are also covered. WSO2 Private PaaS is presented as a solution that addresses these challenges through network partitioning, a composite application model and runtime topology definitions. A comparison of features between Kubernetes and WSO2 Private PaaS is provided. The document concludes with WSO2's vision to contribute to Kubernetes and potentially use it as the foundation for their PaaS and microservices platform going forward.
Making a Better World with Technology InnovationsImesh Gunaratne
ย
The document discusses strategic technology trends for 2015 and recent innovations that can help make the world better. It outlines 10 strategic trends including computing everywhere, the internet of things, and smart machines. Recent innovations highlighted include agile robots, car-to-car communication, Project Loon for internet access, and agricultural drones. The benefits of open source are explained such as flexibility, more eyes finding bugs, and lower costs. The document advocates focusing on technology trends, innovating to find gaps, and using innovations to positively change the world.
The document introduces WSO2 Private PaaS 4.1.0 and discusses its architecture, components, and features. It is based on Apache Stratos and includes WSO2 cartridges. The Private PaaS supports VM and container-based deployments across multiple regions with autoscaling, cloud bursting, and monitoring capabilities. Instructions are provided to get started using the Private PaaS by downloading dependencies, building the code, and deploying a sample application.
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul
ย
Artificial intelligence is changing how businesses operate. Companies are using AI agents to automate tasks, reduce time spent on repetitive work, and focus more on high-value activities. Noah Loul, an AI strategist and entrepreneur, has helped dozens of companies streamline their operations using smart automation. He believes AI agents aren't just toolsโthey're workers that take on repeatable tasks so your human team can focus on what matters. If you want to reduce time waste and increase output, AI agents are the next move.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. ๐
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! ๐
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
ย
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
ย
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Procurement Insights Cost To Value Guide.pptxJon Hansen
ย
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement โ not a competitor โ to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersToradex
ย
Toradex brings robust Linux support to SMARC (Smart Mobility Architecture), ensuring high performance and long-term reliability for embedded applications. Hereโs how:
โข Optimized Torizon OS & Yocto Support โ Toradex provides Torizon OS, a Debian-based easy-to-use platform, and Yocto BSPs for customized Linux images on SMARC modules.
โข Seamless Integration with i.MX 8M Plus and i.MX 95 โ Toradex SMARC solutions leverage NXPโs i.MX 8 M Plus and i.MX 95 SoCs, delivering power efficiency and AI-ready performance.
โข Secure and Reliable โ With Secure Boot, over-the-air (OTA) updates, and LTS kernel support, Toradex ensures industrial-grade security and longevity.
โข Containerized Workflows for AI & IoT โ Support for Docker, ROS, and real-time Linux enables scalable AI, ML, and IoT applications.
โข Strong Ecosystem & Developer Support โ Toradex offers comprehensive documentation, developer tools, and dedicated support, accelerating time-to-market.
With Toradexโs Linux support for SMARC, developers get a scalable, secure, and high-performance solution for industrial, medical, and AI-driven applications.
Do you have a specific project or application in mind where you're considering SMARC? We can help with Free Compatibility Check and help you with quick time-to-market
For more information: https://www.toradex.com/computer-on-modules/smarc-arm-family
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
ย
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
How Can I use the AI Hype in my Business Context?Daniel Lehner
ย
๐๐จ ๐ผ๐ ๐๐ช๐จ๐ฉ ๐๐ฎ๐ฅ๐? ๐๐ง ๐๐จ ๐๐ฉ ๐ฉ๐๐ ๐๐๐ข๐ ๐๐๐๐ฃ๐๐๐ง ๐ฎ๐ค๐ช๐ง ๐๐ช๐จ๐๐ฃ๐๐จ๐จ ๐ฃ๐๐๐๐จ?
Everyoneโs talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know ๐ต๐ผ๐.
โ What exactly should you ask to find real AI opportunities?
โ Which AI techniques actually fit your business?
โ Is your data even ready for AI?
If youโre not sure, youโre not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
ย
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, โThe Coding War Games.โ
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we donโt find ourselves having the same discussion again in a decade?
TrsLabs - Fintech Product & Business ConsultingTrs Labs
ย
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxshyamraj55
ย
Weโre bringing the TDX energy to our community with 2 power-packed sessions:
๐ ๏ธ Workshop: MuleSoft for Agentforce
Explore the new version of our hands-on workshop featuring the latest Topic Center and API Catalog updates.
๐ Talk: Power Up Document Processing
Dive into smart automation with MuleSoft IDP, NLP, and Einstein AI for intelligent document workflows.
4. Virtualization
In computing, refers to the act of creating a
virtual (rather than actual) version of
something, including but not limited to a
virtual computer hardware platform, operating
system (OS), storage device, or computer
network resources.
http://en.wikipedia.org/wiki/Virtualization
5. Hypervisor
A hypervisor or virtual machine monitor (VMM)
is a piece of computer software, firmware or
hardware that creates and runs virtual
machines.
http://en.wikipedia.org/wiki/Hypervisor
8. Linux Containers
An operating systemโlevel virtualization
method for running multiple isolated Linux
systems (containers) on a single control host.
http://en.wikipedia.org/wiki/LXC
9. Linux Kernel Features used by Linux
Containers
โ Namespaces
โ cgroups
โ AppArmor
โ SELinux
โ seccomp
โ chroot
10. Namespaces
Wraps global system resources in an
abstraction that makes it appear to the
processes that they have their own isolated
instance of the global resource.
Included in Linux Kernel 2.4.19
http://lwn.net/Articles/531114/
11. Namespaces
Currently, Linux implements six different types
of namespaces:
1. mnt (mount points, filesystems)
2. pid (processes)
3. net (network stack)
4. ipc (inter-process communication)
5. uts (hostname)
6. user (user ids)
http://www.cs.ucsb.edu/~rich/class/cs290-cloud/papers/lxc-namespace.pdf
12. cgroups (Control Groups)
A Linux kernel feature to limit, account, and
isolate resource usage (CPU, memory, disk I/O,
etc.) of process groups.
Started by engineers in Google in 2007 and
merged into the Linux Kernel 2.6.24
http://en.wikipedia.org/wiki/Cgroups
13. cgroups (Control Groups)
โ Access: which devices can be used per
cgroup
โ Resource limiting: memory, CPU, device
accessibility, block I/O, etc
โ Prioritization: who gets more of the CPU,
memory, etc
โ Accounting: resource usage per cgroup
โ Control: freezing & checkpointing
http://en.wikipedia.org/wiki/Cgroups
14. AppArmor
AppArmor is a Linux security module
implemented using the Linux Security Modules
(LSM) kernel interface.
It allows the system administrator to associate
with each program a security profile that
restricts the capabilities of that program.
http://en.wikipedia.org/wiki/AppArmor
15. SELinux (Security Enhanced Linux)
SELinux is a Linux kernel security module that
provides a mechanism for supporting access
control on security policies for programs.
Originally developed by the United States
National Security Agency (NSA).
Included in Linux kernel 2.6.0-test3, released
on 8 August 2003
http://en.wikipedia.org/wiki/Security-Enhanced_Linux
16. SELinux - How it works
โ Compiled into the Linux kernel
โ Package security policies in the distribution
โ Policies in most distributions are applied
only to system processes, not user
processes
โ Checks database of rules on syscalls
โ Policies allows/denies what a daemon can
access and how
โ Prevents daemons compromise affecting
other files/users/etc (namespaces)
SELinux for Everyday Users, PaulWay
17. seccomp (Secure Computing Mode)
โ seccomp is a secure-computing facility that
provides an application sandboxing
mechanism in the Linux kernel.
โ Provides isolation for computing
โ It allows a process to make a one-way
transition into a "secure" state where it
cannot make any system calls except exit(),
sigreturn(), read() and write().
http://en.wikipedia.org/wiki/Seccomp
18. seccomp (Secure Computing Mode)
It was merged into the Linux kernel mainline in
version 2.6.12, released on March 8, 2005.
http://en.wikipedia.org/wiki/Seccomp
20. chroot
A chroot on Unix operating systems is an
operation that changes the root directory for
the current running process and its children.
A program that is run in such a modified
environment cannot name (and therefore
normally not access) files outside the
designated directory tree.
http://en.wikipedia.org/wiki/Chroot
21. chroot
The modified environment is called a "chroot
jail"
Introduced in version 7 Unix in 1979, and added
to BSD by Bill Joy on 18 March 1982
http://en.wikipedia.org/wiki/Chroot
23. LXC Engine: A Hypervisor for
Containers
Linux Container Brief for IEEE WG P2302, Boden Russell
24. LXC (LinuX Containers)
LXC is an operating systemโlevel virtualization
method for running multiple isolated Linux
systems (containers) on a single control host.
โ From the inside it looks like a VM
โ From the outside it looks like a normal
process
โ Provides lightweight virtualization
25. Kernel Features used by LXC
โ Kernel namespaces (ipc, uts, mount, pid,
network and user)
โ Control groups (cgroups)
โ Apparmor and SELinux profiles
โ Seccomp policies
โ Chroots (using pivot_root)
โ Kernel capabilities
27. Docker
Docker is an open platform for developers and
sysadmins to build, ship, and run distributed
applications.
โ Initially developed by dotCloud
โ Original version written in Python, now
written in Go
โ A very young project (started March, 2013),
but with a huge community
33. Docker - Hello World
# Get one base Docker image
>docker pull ubuntu
# List Docker images available
>docker images
# Run hello world
>docker run ubuntu:14.04 echo "hello world"
Docker Paris Meetup, Victor Vieux, dotCloud Inc
34. Detached mode
# Run hello world in detached mode (-d)
>docker run -d ubuntu sh -c "while true; do echo
hello world; sleep 1; done"
# Get containerโs ID
>docker ps
# Attach to the container
>docker attach <container-id>
# Stop/start/restart the container
>docker stop <container-id>
Docker Paris Meetup, Victor Vieux, dotCloud Inc
36. CoreOS
CoreOS is a new Linux distribution that has
been re-architected to provide features needed
to run modern infrastructure stacks.
44. Kubernetes Terminology
โ Pod - A group of Containers
โ Labels - Labels for identifying pods
โ Kubelet - Container Agent
โ Proxy Service - A load balancer for Pods
โ etcd - A metadata service
โ cAdvisor - Container Advisor provides resource
usage/performance statistics
โ Replication Controller - Manages replication of
pods
โ Scheduler - Schedules pods in worker nodes
โ API server - Kubernetes API server