i am a mainly js engineer and so far have lived entirely within the firebase world as far as my backend goes. in your (and everyone else's) opinion, then: when -do- you need it? set some quantifiable bars for me please?
I could throw the "you'll know it when you see it" but I'll try not to!
1. You have a large amount of underused hardware/VM 's you want to cluster.
2. You have an eloborate microservices system with a dynamic service discovery mechanism.
3. You have the above over many regions / teams.
4. All your services are mostly stateless.
5. Your team of rockstar ops engineers are building their own crappy version of Kubernetes just to deal with the engineering challenges your business faces.
Funnily, my current employer is just that. We predate K8s, so it can be forgiven somewhat. Transitioning, though, is just awful. We have every reason to transition, yet getting the system setup, running, and working with the current infrastructure is a daunting task.
You don't need K8s, until you do, at which point switching can be a nightmare scenario.
If you are able to be cost effective and run services on firebase, then keep doing so. Please!
If you need to do something that doesn’t map well to firebase, then my next stop would be AppEngine.
If what you want to run won’t map well to AppEngine, then start looking at K8S.
For me, this is usually wanting to run some kind of legacy system, or where a higher level of security is needed, or if you want or need to plan to run across multiple cloud vendors or in a mixed workload environment.
If AppEngine has been covered by google’s BAA when I started my current gig, I would have just used that, with k8s to handle the couple of oddball things that we are using that wouldn’t run as well there.
Personally, it’s not about scale so much as certain kinds of architectures or problems. You might have a system that needs to run a smallish number of nodes, but has reasons for needing what kubernetes offers without wanting to reinvent the wheel yet again with the existing cast of characters.
Honestly, I have no idea about Firebase or AppEngine in China. It might entirely be FUD. But, if what you imply is true, then Kubernetes is probably a good solution for your goals.
Run your application on GKE and grow your company. When it comes time to move into China, add a cluster on a cloud provider there.
When you notice that you spend such significant money (i.e. multiple salaries) on hardware capacity planning that employing a team to operate kubernetes might be cheaper instead. Probably not going to happen unless you run on hundreds to thousands of machines.
What's your bar for using webpack (or your js builder of choice)? If you're fluent and at-ease with it, you'll probably use it even for hello-world app. Same (in spirit) for k8.