Effortless Docker Swarm Clusters on Azure

I wanted to re-iterate an article I published on Azure Blog more informally, so here we are. In the past few months, I have been trying to make it damn easy to create Docker Swarm clusters on Microsoft Azure.

Whenever I have some distributed workload I want to deploy to cloud, I prefer Docker Swarm right away:

  • it is easy to set up
  • it is simple (it speaks the Docker CLI language)

Other orchestrators (as of writing) are more tedious ... Read more →

My talk at DockerCon EU 2015

I am honored to give a talk at my most favorite dev conference ever, DockerCon 2015 Europe! When I got the email saying my proposal got accepted, I thought it was going to be the happiest moment of my year.

I was proved wrong when my talk turned out to be the top rated session of the conference! The video recording and the slides are finally here. Get your popcorn ready, sit back and enjoy the show! Read more →

wagl: Service Discovery for Docker Swarm

wagl is a DNS server which allows microservices running as containers on a distributed Docker Swarm cluster to find and talk to each other. It is minimalist and works as a drop-in container in your cluster.

This article is intended to describe inner workings of wagl and give a broader sense of the state of service discovery problem in today’s container clusters. Read more →

Comparison of Instance Metadata Services

Instance metadata service is a server available to virtual machines hosted on the cloud providers (often at It provides useful information about the VM itself and its environment, which the VM typically does not have access to.

It is often used to configure and distinguish VM instances from each other in scripts and helps a great deal in bootstrapping cluster orchestrators such as Kubernetes, Mesos etc. Read more →

Persistent Docker Volumes on Azure

With the upcoming release of Docker 1.9, Docker Volumes feature just got a whole lot better. We can now extend Docker with plugins such as volume drivers, which can manage and mount non-trivial volumes.

Last week I wrote a Docker volume driver for the Azure File Service —an offering of Azure cloud that allows you to store files using network file sharing protocol and REST APIs. This service is generally available as of today.

This volume driver uses the ... Read more →

LinuxCon: Writing Container-Friendly Applications

I recently gave a talk at LinuxCon 2015 North America in the ContainerCon track about “Writing Container-Friendly Applications”.

The talk is about how we can take advantage of very simple OS built-ins and apply some common sense to design beautiful services and command-line tools that can live happily inside the containers.

You can find the slides below in this post or here.

In the talk, I gave some examples of bad practices from popular (but somewhat old) open source projects ...

New Microsoft Employee Badges

Last year, out of boredom, I wanted to redesign the Microsoft employee badges. I just got a piece of paper, started scribbling and in a couple of hours I came up with a design that I later published as “The Blue Badge – Reimagined”.

This concept design received huge love internally at Microsoft as well as externally on Hacker News, Designer News, Reddit and many other platforms. At this point it is a good idea to admit that I am not ... Read more →