Quasars: Paving the way to Kubernetes

There’s been some significant infrastructure changes under the hood of Quasars and I wanted to talk about them here.

What changed

In another blog post I had talked about how Quasars uses Blue/Green Deployments, but as of today, that is no longer the case. In reality, very little has changed. Instead of having two web servers being toggled between with a floating IP, these two web servers fulfill requests behind a load balancer.

The rationale

Quasars is a hobby project. As such, it serves an important role of being a conduit in which I can learn new technologies. Kubernetes is one of these technologies. The use of a load balancer prepares Quasars to adopt Kubernetes in a couple ways:

  • Kubernetes will define a load balancer and a few nodes. In some ways this is miming one possible cluster configuration.
  • It allows the quasars-app-xx boxes to be a bit “dumber” to reflect how they’ll behave in the future. For example, TLS termination and renewal is no longer done by the app boxes themselves as the load balancer provides this for them.

So, is Kubernetes overkill for a web application that receives < 10 requests per minute? Definitely, but that’s not the point. 🙂

Next steps

The next thing I’ll be working on is getting a containerized build going and publishing that to Docker Hub through CI/CD. Once that is in place I can start configuring a Kubernetes cluster and eventually do a cutover.