3 Aug 2016 in Workflow, Release, Announcement

Deis Workflow 2.3 Release

Another two weeks, another Workflow release. The 2.3 release brings with it some internal release changes, improved private registry support, tools to call for help, and faster deploys. You might say Papa's got a brand new bag.

Read More
3 Aug 2016 in Kubernetes, autoscalers

Autoscalers the Hard Way

In a previous post, we showed you how to build a custom Kubernetes scheduler with Elixir.

That post was inspired by a recent talk by Kelsey Hightower.

Kelsey also tweeted:

I would take this logic and apply it to autoscalers too.

While everyone doesn’t need to go and build their own autoscaler, it can be beneficial to understand how they work. And one of the best ways to gain that experience is by trying your hand at writing your own.

Read More
1 Aug 2016 in Docker, Mac

Docker for Mac

Developers love Docker. You can see this from the amount of attention Docker has got the last couple of years. But, one of the biggest issues developers faced was the non-availability of Docker on platforms other than Linux.

There were options like Boot2Docker (which we previously covered) that made working with Docker possible on a non-Linux machine, but the experience was sub-optimal.

Now with the general availability of Docker for Mac and Windows, developers no longer need to have a Linux box to experience Docker in it's full glory.

Docker for Mac is a native Mac application, built from scratch. With a native user interface and auto-update capability, it is deeply integrated with OS X native virtualization, Hypervisor Framework, networking, and file system. This makes Docker for Mac faster and more reliable than previous ways of getting Docker on a Mac.

In this post, we'll take a look at Docker for Mac and see how to get up and running with the stable release.

For some intros to Docker, check part one and part two of our Docker overview. You can also check this post on how to create and share your first Docker image.

Read More
27 Jul 2016 in Kubernetes, scheduler, Elixir

Scheduling Your Kubernetes Pods With Elixir

Kelsey Hightower gave a really interesting talk at ContainerSched about how to create your own scheduler using the Kubernetes HTTP API.

The talk was awesome. It's incredible to see what kind of things you can do with a base system as good as Kubernetes.

However, I missed one thing. The example provided by Kelsey was a Go application. Which is the main language used with Kubernetes. So, if you look at that code without any context, you might think it's using some kind of Kubernetes internal packages. But it's not! It's a standalone piece of code that happens to make some HTTP calls.

To illustrate this point, I decided to write my own scheduler, in a different language. In my case, Elixir, because that's the language I happen to be learning at the moment.

This post isn't an intro to Elixir, but the code should be easy to follow.

Also, I'm going to use localhost when accessing the Kubernetes API. Why? For simplicity. If we run kubectl proxy on a computer connected to the Kubernetes master, we will not need to deal with authorization, hosts, and so on. The proxy command will do it for us.

So, let's dive in.

Read More
25 Jul 2016 in Workflow, Release, Announcement

Deis Workflow 2.2 Release

It may be the hottest July on record but we've got some new cool stuff in the latest release of Deis Workflow. Sit back, grab a cold drink, and check out the latest Workflow release.

Read More