Check out the slides and videos from the Docker team at SCALE 14x below.
— Sean McCabe (@SeanLeftBelow) January 22, 2016
Advanced Docker concepts and container orchestration
with Jérôme Petazzoni, Docker Tinkerer Extraordinaire
In this workshop, we will show how to build a distributed application with Docker Compose. In true microservices style, our sample code will use multiple different languages: Python, Ruby, Node.js … Then we will show how to run this application on a cluster, using Docker Swarm as our resource scheduler. The cluster will be provisioned with Docker Machine. We will discuss service discovery, load balancing, and show how to implement those patterns with simple tools. We will also present the networking model of containers, and how to run containerized applications spanning multiple Docker hosts. On the “ops” side, we will give recipes to implement cleanly ops tasks like logging, backups, and more. This will be hands-on: we will provide sample code and we will run it on actual clusters. You won’t need to pre-install Docker before the course: each student will be given credentials to connect to an individual cluster of virtual machines. So all you need is a computer with a SSH client!
Knock, Knock: Unikernels Calling!
with Richard Mortier, University Lecturer, Cambridge University
The lightweight and secure nature of Unikernels means that a prime use-case is to customise network behaviour. At the same time, the high-level languages that many are written in means that this sort of low-level coding is opened up to those who might not traditionally consider themselves “systems developers”. MirageOS is a particular unikernel platform built in the OCaml functional programming language. Able to seamlessly target a range of environments, from a local (POSIX) development environment to Xen virtual machines running on the cloud, it is a prime example of the ways that unikernels open up low-level development. I will briefly introduce MirageOS before walking through an example developing and then running on Xen a simple network proxy using MirageOS. This proxy will implement a basic form of port-knocking, requiring a sequence of TCP connections (SYNs) to be made to the proxy to indicate a target, before permitting an outgoing connection to that target to be made. Thanks to Thomas Gazagnaire for the material used in the walkthrough!
Unikernels, Meet Docker! Containing Unikernels
with Anil Madhavapeddy, Engineer at Docker, Inc. and Richard Mortier, University Lecturer, Cambridge University
Unikernels are a burgeoning technology, ripe for deployment in a range of situations, from cloud-hosted microservices to Internet-of-Things platforms. By compiling and linking only the required code, they offer a range of benefits over traditional OS-hosted deployments, notably efficiency and, through smaller attack surfaces, security. While increasing in maturity, to date they have remained something of a technologists’ choice: technically compelling but requiring considerable effort to build, deploy and use.
To address this, some in the community have spent time trying to integrate unikernel management with the popular Docker container management stack. By enabling unikernels to be managed using the standard Docker command line tools, we bring all the ease-of-use and common understandings of that toolchain to bear on this exciting technology.
After giving some context to the challenges faced, we will demonstrate building and running a simple LAMP-like stack using Docker to build and manage Rumprun and MirageOS Unikernels.
with Amir Chaudhry, Member of Technical Staff at Docker, Inc.
As word about unikernels spreads, more people are trying to learn about this new approach to programming the cloud and embedded devices. Since information is spread across multiple sites, it can be tricky to know where to get an overview and how to get started quickly. So to help with this, there’s a new community website at unikernel.org!
The unikernel.org community site aims to collate information about the various projects and provide a focal point for early adopters to understand more about the technology and become involved in the projects themselves.
Over time, it will also become a gathering place for common infrastructure to form and be shared across projects. Early examples of this include the scripts for booting on Amazon EC2, which began with MirageOS contributors but were used and improved by Rump Kernel contributors. Continuing to work together to make such advances will ease the process of bringing in new users and contributors across all the projects.
with John Willis, Evangelist at Docker, Inc.
In 2009, at O’Reilly’s Velocity, was the first time I had heard the phrase Infrastructure as Code (IAC). In fact in 2010, I was the first person to present Chef at Scale8x. At that time we talked a lot about IAC and Just Enough Operating System (JeOS) as a model to deliver cloud like compute infrastructure. Fast forward 5 years to 2015 and we started seeing an abundance of discussions around purposeful operating systems created in the form of container images. Now in 2016 we are starting to see more and more discussions around Unikernels and very specific purpose compiled operating systems. This presentation will take a brief look at the history of how Devops principles and Operating Systems have converged. We will spend most of the time forward looking at what and how Unikernels will converge with Devops tools, processes and culture. We will end the discussion with a cool demo of how containers, unikernels and Devops ideas can work together in the future.
Learn More about Docker
- New to Docker? Try our 10 min online tutorial
- Share images, automate builds, and more with a free Docker Hub account
- Read the Docker 1.9 Release Notes
- Subscribe to Docker Weekly
- Sign up for upcoming Docker Online Meetups
- Attend upcoming Docker Meetups
- Register for DockerCon 2016
- Watch DockerCon EU 2015 videos
- Start contributing to Docker