We are exploring Consul as our mesh for microservices development. However, we have doubts about the best practices when developing locally microservices.
From what we have read online, ideally, (i.e. with 20 microservices) rather than deploying locally all those microservices, we should just deploy & develop the one we are working on and rely on the ones deployed in our cloud account for development.
We have thoughts about a building our own custom router using L7 capabilities. However, this has the downside of having to maintain a dedicated router in our dev account to support local development for our engineers.
Alternatively, we were considering the possibility of creating local clusters for our developers running on their laptops that connect to the consul mesh running in our AWS account. This would allow us to use Consul routing capabilities to achieve the same behaviour but without having to maintain an additional service.
A few questions around this topic:
- Is this an acceptable usage of Consul Mesh Gateways?
- Are there any other best practices to achieve this?
We have found Telepresence, which has been built specifically to solve this type of challenges but it’s only available for Kubernetes (and we are running on AWS Fargate + EC2).
Any help or guide on this topic would be highly appreciated!