Hi, I have been working with the Launchpad stack recently and I noticed something - each cluster serves only one environment. As in, either staging or production.
I am really puzzled by this design. It’s a kubernetes cluster. Aren’t they supposed to be resilient and be able to host multiple environments in separate namespaces without affecting one another?
I didn’t quite understand when we had grove-staging and grove-production as well, but that got eventually consolidated to just grove-production.
In our shared cluster instances are starting to appear like “my-instance-stage-production”, “my-instance-prod-production” because the cluster is marked as “production” environment. While it is only cosmetically strange for the shared cluster, I see some clients having dedicated Github repos for the 2 environments with their “instances” directory with just “staging” instance or “production” instance. It feels a bit like a glorified docker-compose at that point.
Is this the result of our inability to stop adding abstraction layers? Or a symptom of the cloud providers’ reliability going down? What’s driving this design where we are treating entire k8s clusters as an individual unit of compute?
I am sorry, I don’t have a ticket for this. Just wanted to ask after spending sometime with the stack to understand things.