Open Source Summit Prague: Developer Tools for Kubernetes

This is a live blog of this talk by the Azure Containers team. Michelle Noorali, leads SIG-Apps. Matt Butcher wrote the Children’s Guide for Kubernetes.

They mention that they are going to talk about long running applications/services and short running batch jobs.

Michelle started to talk about Kubernetes primatives for long running processes. She talked about Deployments, Stateful Sets and Daemon Sets.

Then, she moved on to Helm and Draft which helps repeatable steps around building and deploying container images. These are things that they found everybody on their team doing.

Draft creates a Dockerfile, Helm Chart. Basically, Draft automates the docker build, docker push, and Helm deploy. This tries to abstract the Kubernetes concepts, reduce the cognitive load on developers and lower the barrier to entry.

Uses the concept of a Draft Pack. These can be stored on GitHub.

Michelle concluded and handed it over to Matt for short lived applications.

Matt began with explaining that Michelle and his team are focused on making Kubernetes easier, similar to an operating system.

He talked about how event driven programming is very popular in the cloud and Kubernetes is good at short life application s and event driven processes.

The question becomes are there tools that can help make these event driven apps easier? He then introduced a new tool called Brigade. This source code is brand new and open source. It’s and event driven scripting framework with pipelines (the sequence in which things happen).

The Brigade gateway sits and waits for an event. The script that you write then handles that event and runs all the tasks in the pipeline.

The Brigade Gateway transforms triggers into Brigade events. An Event tells what happened (name, etc). Here is an example flow:

He then chatted a bit about how scripting can save thousands of lines of code for general purpose processes. He then related how containers can basically be used like shell scripts – as long as we know the inputs and outputs that we have and want, we can leverage thousands of lines of existing, already built code, for general purpose computing.

He then did a quick demo. He showed two different simple hello world scripts in order. Very similar to cat-ing a file, piping it to Ask and parsing the output. Effectively making Kubernetes the distributed operating system and Brigade as the shell.

Comment: The concept is similar, but different than Unix/Linux. There is still no standard for primatives like cat, awk, sed, etc. But in certain ways, it’s more powerful because it can do things like execute two tasks in parallel, then execute a third task once both events have completed.

He then discussed a lot of different workloads which they experimented with and what worked well. Examples were Trello events, GitHub alerts and log aggregation.

They proceeded to a few questions and closed when the time ran out.

Comment: I think it was a good talk and had some interesting ideas for how to solve a problem very similar to the Enterprise integration Patterns in Apache Camel.

Leave a Reply

Your email address will not be published. Required fields are marked *