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.
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 tutorial.md 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!
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
Check out our limited edition @docker hoodie for #dockerhackday winners! @icecrime not included 🙂 pic.twitter.com/d9pCyhB1eH
— Docker (@docker) September 18, 2015
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 “wit.ai” 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
- New to Docker? Try our 10 min online tutorial
- Share images, automate builds, and more with a free Docker Hub account
- Read the Docker 1.10 Release Notes
- Subscribe to Docker Weekly
- Sign up for upcoming Docker Online Meetups
- Attend upcoming Docker Meetups
- Watch DockerCon EU 2015 videos
- Start contributing to Docker
Feedback
0 thoughts on "Congratulations Docker Birthday #3 App Challenge Winners!"