24 Mar 2016 in Deis Workflow, Announcement, Kubernetes

Deis Workflow, now in Beta!

We are excited to announce that we have recently cut a beta release for the next major release of Deis! As many of you know, for 2.0 we’ve decided to re-platform the PaaS from CoreOS’s Fleet onto Kubernetes. This gives us a stable cluster manager, a better scheduler, a smaller overall footprint (potentially a single machine!), and a great Kubernetes community to work with. This lets us focus our efforts on making it as easy as possible to deploy and scale your applications.

To borrow from the late, great David Bowie, beta brings along with it some Ch-ch-ch-ch-changes!

Read More
18 Mar 2016 in Series: Docker Overview, Docker

Docker Overview, Part One

In my last miniseries, we gave an overview of CoreOS. In this miniseries, I want to take a look at Docker. In this post we’ll look at why it’s special and how it’s built. We’ll start at the beginning, so don’t worry if you’re totally new to this.

Docker is an open source project that makes easier packaging of applications inside containers by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux.

Containers themselves are just an abstraction over Linux cgroups, which are a lower level kernel construct for jailing and limiting the resources of a process and its children.

Docker was using LinuX Containers (LXC) in the beginning, but then switched to runC, formerly known as libcontainer. runC runs in the same operating system as its host. This allows it to share a lot of the host operating system resources, such as RAM, CPU, networking, and so on.

Read More
15 Mar 2016 in Trip Report, Kubernetes, KubeCon

KubeCon Trip Report

KubeCon is the Kubernetes community conference, in its second year of running now. I had the pleasure of attending KubeCon in London last week, and I came away from it an even bigger fan of Kubernetes than I already was.

I was impressed to find out that less than two years after the first Kubernetes release, there are already over 1,200 new GitHub projects using Kubernetes. What’s even more exciting is the news that Kubernetes has moved to the Cloud Native Computing Foundation.

In this post, I’ll share my experience of the event and cover the stuff I learned.

Read More
11 Mar 2016 in Series: Fleet on CoreOS, Fleet, CoreOS

Fleet on CoreOS, Part One

Servers crash all the time. But it is important to make sure applications, and hence the business, doesn’t suffer. This is why service availability is one of biggest concerns for operational engineers deploying applications in the cloud.

Fleet—a CoreOS tool—solves this problem and frees you from worry by automatically routing application execution to healthy nodes.

So, how does this work?

How does Fleet know if a node is down? How does the rerouting happen?

We covered this in detail in a previous post. But if you’re in a hurry, I will recap.

Read More
4 Mar 2016 in Series: Connecting Containers, Docker, Overview

Connecting Docker Containers, Part Two

This post is part two of a miniseries looking at how to connect Docker containers.

In part one, we looked at the bridge network driver that allows us to connect containers that all live on the same Docker host. Specifically, we looked at three basic, older uses of this network driver: port exposure, port binding, and linking.

In this post, we’ll look at a more advanced, and up-to-date use of the bridge network driver.

We’ll also look at using the overlay network driver for connecting Docker containers across multiple hosts.

User-Defined Networks

Docker 1.9.0 was released in early November 2015 and shipped with some exciting new networking features. With these changes, now, for two containers to communicate, all that is required is to place them in the same network or sub-network.

Let’s demonstrate that.

Read More