Goals & Motivation

I recently launched an app called Fakes.io where users can create realistic AI-generated photos of people, along with fake information about the person. The app has a simple & easy to use API endpoint that allows programmers to generate images using their favourite programming language.

While building the app, I had a few design considerations in mind, namely:

  • How can I run the app as cheaply as possible?
  • Am I able to scale out (or in) depending on the amount of traffic?
  • Will the API backend have self healing capability so it stays up while I am off on a…

Growing up I have been consistently reminded by my parents that being a doctor was (and still is) a prestigious profession and a surefire way to be wealthy. It was a virtually uncontested claim that permeates all cultures across the globe.

Recently, I have returned to my hometown in Australia and caught up with a good friend and her new partner, who happened to be a medical resident at a tertiary hospital. …

Photo by cottonbro from Pexels


In Part 1 we went through the theory and price comparisons between all major cloud providers and how we achieve the magical number of $1 per day to run a fully managed Kubernetes Cluster, which powers my new app Fakes.io.

The following is a tutorial on how to create your very own cheapest managed Kubernetes cluster.


  • I am assuming that you have basic knowledge of Azure. If you are new to Azure, feel free to have a look at the Azure Fundamentals Course here.
  • You need to have an Azure account. You can sign up here if you don’t.
  • You…


Currently there are guides out there on how to deploy JupyterHub on Kubernetes using native cloud services. How about if you just wanted to just use a single cloud instance? Or even an on-premise solution?

This guide will cover how to host your own JupyterHub on a single bare metal instance.

Bit of a background…

Jupyter Notebook is an extremely popular web-based IDE amongst software engineers and data scientists. JupyterHub can be understood as the environment that serves Jupyter Notebook to each individual. For more information visit https://jupyter.org/hub

In April 2018, my team and I competed in the Alibaba NAB…

Tutorial: Creating Alibaba ECS Instance

Precursor to the guide JupyterHub with Kubernetes On Single Bare Metal Instance

The minimum requirement for JupyterHub configuration is as of below:

Minimum Specification
vCPU: 2 Cores
Memory: 4GiB
Disk Space: 40GB

Create your Alibaba Cloud account and login via https://account.alibabacloud.com/register/intl_register.htm

In Singapore Zone C, let’s select a General Purpose Type g5 with 2 vCPU and 8GiB of memory, using Ubuntu 18.04 with security enhancement. Leave default of Storage of 40GiB.

George Paw

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store