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.
.@alexellisuk look at 0:40 of this video from major french newspaper LeMonde : don't see something familiar ? #docker & #openfaas powa :) /cc @laurentgrangeau https://t.co/t2c0aaPrYg
— Adrien Blind (@AdrienBlind) November 21, 2017
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.
#TeamServerless community joining together 7pm BST for a @Dockercon recap and @openfaas contributors meeting 👏💻😃 pic.twitter.com/fTRCGd3zjQ
— Alex Ellis (@alexellisuk) October 22, 2017
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.
@openfaas on Google #Kubernetes engine ! https://t.co/VYqNmp1N6d
— Chen Goldberg (@GoldbergChen) December 5, 2017
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:
Some serious @openfaas exposure by @monadic at #KubeCon! Congrats to fellow #DockerCaptain @alexellisuk 👍 pic.twitter.com/fD0I2Pbavv
— Phil Estes (@estesp) December 7, 2017
— Weaveworks (@weaveworks) December 7, 2017
Proud to see @openfaas in the keynote at KubeCon today highlighting Colorisebot a great collaboration with @developius https://t.co/0klkt57Qqe pic.twitter.com/Qk9Wzcj3Nr
— OpenFaaS (@openfaas) December 7, 2017
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
-
Read my notes from Dockercon on developing Colorisebot with OpenFaaS
-
Read Weave's latest blog post: Running OpenFaaS on GKE - a step by step guide.
-
Read Finnian's blog post from Dockercon on Machine Learning
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.