Colorisebot and OpenFaaS

You can tweet any black and white photo to Colorisebot and it will turn it into colour instantly and reply back to you with the result - whether that's a family photo, fine art from Ansel Adams or a clip from your favourite Dr. Who episode.

Colorisebot has gained fans around the world and was picked up by the global media too.

Background story

The idea for Colorisebot came from two 17-year old developers from Britain: Finnian Anderson and Oli Callaghan.

I met Finnian earlier this year when he stumbled upon one of my many tutorials for building a Raspberry Pi cluster. We hit it off immediately and began collaborating together where I would mentor, encourage and advocate for him.

Over the year that we've known each other I've seen Finnian speak at Dockercon twice and grow as he has become a part of the global container community.

From Dockercon to KubeCon

Leading up to Dockercon Finnian and I worked around the clock to create a Twitter bot with OpenFaaS that could scale to demand, handle failures and rate limiting and found a home for it on Docker Swarm hosted on Packet.net's bare metal offering.

Since Dockercon we've hardened the code for the bot to make it more resilient and easier to manage including building a rich dashboard with Grafana and Prometheus. We also started to work with weaveworks and are excited to say that has resulted in us moving Colorisebot to a sponsored cluster on Google Kubernetes Engine (GKE). Stefan Prodan from DX at weaveworks (also a very active OpenFaaS contributor) helped us integrate with Weave Cloud for monitoring for visualisation of traffic between functions.

10,000 ft

This is a 10,000ft view of what's going on whenever you tweet.

OpenFaaS uses a long-running service (tweet-listener) to sync with Twitter's streaming API. Any tweeted photos are stored in Minio (Object Storage) and then the Colorise function is invoked by the OpenFaaS Gateway.

Colorising an image is CPU intensive so takes 5-10 seconds and runs asynchronously through the use of NATS Streaming (Kakfa is also available). Finally when that's done the Tweet-pic function gets called - colours are normalised with ImageMagick and we Tweet back to you using a Python function.

You can read the source-code over on GitHub - repaint-the-past.

From the KubeCon keynote

OpenFaaS featured in Alexis Richardson's keynote (CEO Weaveworks). Here are some of the highlights:

You can also get the live-tweet stream from my talk FaaS and Furious - 0 to Serverless in 60 Seconds, Anywhere from the following Twitter-thread thanks to Weaveworks.

Dive into the story

Support OpenFaaS

Launched over 12 months ago, OpenFaaS is an open-source project that Makes Serverless Functions Simple for Docker and Kubernetes. We've gained over 8k GitHub stars, Best Cloud Software Award from InfoWorld, 65 contributors and over 1400 commits along with a thriving community.

You can become a backer for OpenFaaS on Patreon or Star the project on GitHub. We're on Twitter as @openfaas.

Alex Ellis

Read more posts by this author.

Subscribe to Alex Ellis' Blog

Subscribe to keep in touch. By providing your email, you agree to receive marketing emails from OpenFaaS Ltd

or subscribe via RSS with your favourite RSS reader

Learn Go with my new eBook

eBook cover

"Everyday Go" is the fast way to learn tools, techniques and patterns from real tools used in production based upon my experience of building and running OpenFaaS at scale.

Buy a copy on Gumroad