Congratulations Docker Birthday #3 App Challenge Winners!

Apr 22 2016

Last month, over 5,000 people attended one of the 125 Docker Birthday celebrations scheduled worldwide! In case you missed it, check out the pics from all of the #dockerbday celebrations including the awesome birthday cakes!

With the help of the community, we created a self-paced beginners’ tutorial for attendees to learn Docker basics as they built, shipped and ran the voting app.

Check out the Docker Birthday map to see all the participants who successfully completed the training!

Those who managed to finish the tutorial rapidly were encouraged to hack on this voting app based on what they learned. From rewriting the python web app or the java worker to scaling the voting app with Docker Swarm or adding an ELK stack as logging mechanism, participants came up with really good ideas on how to improve the app while learning.

The Docker team voted for the top 3 winners using the following judging criteria:

  • Fit: Does Docker improve the project or fundamentally enable it?
  • Efficiency: Is this implementation small in size, easy to transport, quick to start up and run?
  • Integration: Does the project integrate well into other systems, or is it sufficiently complex itself to be its own system?
  • Usefulness / coolness: Is the feature or improvement useful / cool?
  • Longevity: Can the project be improved / built upon?

The results are finally in and we’re excited to share with you the names of the winner but we first wanted to highlight one of the hack that we really stood apart: Docker Birthday app running in Windows Containers on TP4 by Stefan Scherer. This is the Docker Birthday app running on a Windows Server 2016 TP4 completely in Windows Containers. There are some workarounds as some features are missing but, we thought it was really cool to see a preview before Windows containers hit GA so we’ve decided to award Stefan an honorary 1st place.


1st Place

HAProxy load balancer, autoscaling functionality and simple load testing by Konstantinos Faliagkas

Key changes/features:

    • A haproxy load balancer, based on the dockercloud/haproxy image, for dynamic configuration.
    • Dockerized the locust load testing framework, in order to create fake http requests to the voting page.
    • Autoscaling of the voting-app and worker containers. Using the docker remote API, I monitor the CPU usage of the two containers and scale up or down, depending on the threshold. The bottom threshold is 5% and the upper at 30%.


2nd Place

Scalable and secure Docker birthday app using Swarm and Load balancer by Venkata Nagesh Devarapalli

Key changes/features:

  • Updated with instructions to run a scalable birthday app on Docker Swarm
  • Added voting and worker apps load balancer configuration file lb/haproxy.cfg at docker-birthday-3/example-voting-app
  • Updated docker-compose.yml and added the load balancer service


3rd Place

Vote from multiple languages, improved NodeJs server and see live results in Donut chart by Kulin Choksi

Key changes/features:

  • Maintain list of programming languages to be voted in python app (http://localhost:5000/)
  • Randomly generate votes, can specify how many random votes you want to generate (http://localhost:5000/generate-random-votes?count=1000)
  • Each random voter id is prefixed with “#”
  • Without count parameter, it will generate 100 random votes
  • Watch live voting result with Pie chart (http://localhost:5001/)
  • NodeJs server is improved to send score only when found change from last database polling
  • If new client is connected to NodeJs server then it will send score to that client only instead of broadcasting


Congratulations to our winners!

DockerCon-2016-regnow 1st place wins a swag package and a free conference pass to DockerCon 2016.

We look forward to welcoming Stefan Scherer and Konstantinos Faliagkas at DockerCon 2016 in Seattle!

We’ll be shipping a special Docker Hoodie to Venkata Nagesh Devarapalli and Kulin Choksi



Here is the complete list of all the hacks they were submitted as part of the Docker Birthday App Challenge:

Redis Notified Worker by rdgoite

Simple load tester in Scala by Xinjiang Shao

Docker Birthday 3 App on a Dockerized Swarm Cluster by Kai LIU

Birthday App with ELK logging stack by Hierony Manurung

Votes Map Visualization by Lucas Shrewsbury

Worker implementation in Go by Steve Jiang

Interlock plugin to handle scale up/down voting-app by Titan Lien

Rewrite Java Worker by Eddu Melendez

Swarm + load balancing + ELK logging support by Mathieu Buffenoir

Realtime voting and vote load-testing by Alex Ellis

Cucumber support for docker-compose by Stefan Rohe

Add Twitter streaming API for voting by Hsiang-Yu Liao

Random Voting Bot and “” Voting Bot by Stanley Ng

Front end changes to the voting app by Chaithanya

Github integration for language voting by Angel Pimentel

Vote generator app and fix minor feature in voting app by Jordan Fernando

Docker-Ether-Wallet Dockerfile by Ming-der Wang

Change names of the languages by their logo by Sarah Masud


Learn More about Docker


0 thoughts on "Congratulations Docker Birthday #3 App Challenge Winners!"

DockerCon 2022

Registration is now open for DockerCon 2022! Join us for this free, immersive online experience complete with product demos, breakout learning tracks, panel discussions, hacks & tips, deep dive technical sessions, and much more.

Register Now