I'm looking for insights on creating a full local development environment that closely resembles our cloud Kubernetes configuration. We have about 20 Java Spring Boot services (not using native images), and we operate on AWS (EKS) with managed services like RDS, DocumentDB, and Kafka. My goal is to run our entire stack locally, not just one service. I know port-forwarding to a remote cluster is a temporary fix, so I'm seeking something reproducible and easy to share with the team.
I'm wrestling with a few challenges:
- **Memory Consumption**: Running 20 JVM services locally sounds overwhelming. How are others managing this?
- **Local Alternatives for AWS Services**: How can I best replicate RDS, DocumentDB, and Kafka locally? Is PostgreSQL in Docker and vanilla MongoDB good enough?
- **K8s Runtime Options**: I'm exploring k3s, k3d, kind, and minikube. What's working best for setups like this?
Also, I've considered tools like telepresence and mirrord for debugging, but I'm looking for a more primary solution. I'd love to hear about your actual setups for similar stacks, whether you run all services locally or maintain a shared dev cluster.
4 Answers
For a local setup like yours, I suggest using k3d with lightweight alternatives like PostgreSQL, MongoDB, and Redpanda. In my experience, many teams either reduce their stack or opt for a shared dev cluster to manage resource consumption better. If you can decouple your services and limit dependencies, you can run different parts in parallel without overloading your machine.
Honestly, if you’re trying to run all those services locally, it’s going to be tough. Most developers either run a subset of the stack or rely on Docker Compose, which can make it easier to manage without crashing your system.
My company has quite a similar situation—63 Spring Boot apps and a bunch of databases. We manage to run everything on Minikube, but it requires hefty resources (at least 48GB). We’ve minimized resource needs, which helps, and we even consolidated some Spring Boot apps into a single Tomcat container to share JVM resources and reduce memory use.
Running all those JVM services together is seriously intense! A lot of teams I know lean towards a shared dev cluster for heavier workloads. You might want to check out Docker Desktop for local Kubernetes, along with Localstack for mimicking your AWS services. It’s straightforward to set up and can ease the burden on your local machine.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically