- Newest
- Most votes
- Most comments
When building a microservices application with Spring Boot and FastAPI, there are several approaches to handle the development vs. production environment differences:
For your API Gateway question: You have a few options to address the local vs. production API Gateway challenge:
- You can use Spring Cloud Gateway during development and continue using it in production. This provides consistency across environments and eliminates the need to switch between different gateway implementations.
- Alternatively, you could use a local proxy tool like Envoy or NGINX during development that mimics the behavior of AWS API Gateway, then switch to AWS API Gateway in production.
For service discovery:
- In local development, you can use tools that are compatible with both environments:
- Spring Cloud's service discovery mechanisms (like Eureka)
- A local Kubernetes cluster using tools like Minikube or Kind
- Docker Compose with manual service configuration
The key is to minimize differences between environments. Using Kubernetes locally (through Minikube or Kind) can help maintain consistency with your production environment, allowing you to use the same service discovery mechanisms in both places.
Another approach is to adopt a hybrid deployment model where you use Amazon EKS for both environments, which would provide consistent container orchestration and service discovery mechanisms across development and production. This would allow you to leverage the same Kubernetes-based service discovery in both environments.
By choosing tools and approaches that work consistently across environments, you can reduce the friction between development and production deployments.
Sources
What is the different between ECS and EKS? | AWS re:Post
Re-architecting as microservices in Linux containers - AWS Prescriptive Guidance
Managed Kubernetes – Amazon Elastic Kubernetes Service (EKS) Hybrid Nodes - AWS
Relevant content
- asked 3 years ago
- asked 3 years ago

can I use localstack ?