When should one think of Kubernetes like scaling up and down?

I read this post : https://elixirforum.com/t/is-an-app-with-3000-microservices-a-fit-for-elixir-otp-over-kubernetes-grpc

My takeway = I don’t need my elixir / phoenix app to scale (via kubernetes) until I hit a limit on $5 digital ocean droplet or the lowest tier on fly. But can I guess that limit beforehand?

  1. (if someone has experience) Maybe a 1000 concurrent users ( interacting via 4-5 GenServers ) ?
  2. Is elixir system a sort of midway between monolith and microservices?
1 Like

You don’t need scaling until you hit the limit of a high end $100 per month VPS; Running an army of very weak VPS is dumb. Scaling is a problem that is nice to have, but thinking about it too much before hand will not help you to get there.

4 Likes

That relieves me of my worries ! $100 a month VPS means I am in business already :stuck_out_tongue:

we had just a few 100s of online users on our realtime collaboration tool (creating forms, one form can be filling by multiple people at same time, validation of responses can be done multiple judges at same time) and we ran it on one paid Heroku Standard Dyno.

But it depends what your app is doing and how is developed. You have to know your app, you have to use APM (for example AppSignal). First step is to optimize your up, not scale. When you have N+1 queries, or wrong code which is too heavy and can be better with not big effort do it before scaling. Scaling can be easy with Elixir, but also tricky and more expensive. We use on other bigger project k8s and not because of scaling but because of HA, redundancy, we run there about 60 elixir apps. About 60% of cost of these k8s clusters are wasted for k8s itself or just idle.

2 Likes