Should a startup use k8s for their infrastructure?

Manabie Tech-Product Blog
Manabie
Published in
2 min readMar 5, 2020

A fresh start in a new startup company, my job as the first BE dev (among with three others) is preparing infrastructure for our new business’ disruptive platform. We come up with a healthy discussion on whether we should use k8s.

We want:

  • To forget the time we spend in an established company, really fighting with our code
  • Not to over-complicate things if not necessary, focusing on delivery working features
  • Something simple but robust, not letting our first-valuable customer upset with downtime and alike, since we have already had 4–5 services.

We all know k8s (thanks to the legacy of the boring established company), but we also value simple architecture. Someone has told us: if your platform can run in a single machine, single-machine deployment is the best architect. And we all agree!

As the PIC, I came up with a list of minimum requirements for the system:

  • Simple log collector, log rotate
  • Simple health check, monitoring
  • Simple configuration as code
  • Simple Black-Red deployment
  • Simple vertical scaling (and of course service discovery by any means)
  • Simple RBAC for the infrastructure: For example, I intend to allow Devs team to freely deploy their service, but only DevOps to modify shared components (like gateway).

With the given list, I start my quest to set up thing, and here is the plan in my head as I will do in old time:

  • Write an Ansible or Puppet script for configuration, then:
  • Set up a file system, rsyslog rules
  • Set up NGINX as load balancer, find config health check
  • Prometheus for monitoring
  • Maybe config Consul for service discovery
  • I don’t remember if Puppet allows RBAC.

However,, on second thought, I decide to continue using k8s. At least, when deploying on hosted services like Google GKE or Amazon EKS, you have most of the things ready.

For now, the Manabie system is driven by GKE with the enchantment from Istio for security and traffic management. Our next blog post will cover whether a startup should use Istio for their infrastructure.

That’s for today. Thank you for reading!

If you would like to be a part of Manabie and to work together to create more positive impact in education, let’s visit us at: https://manabie.com/careers

--

--