The monolith applications world got us used to services connected to each other in direct, easy ways. The cloud environments and the modern and current microservices architectures with virtual or containerized setups where the instances can vary in number and location, create an ever-changing context where the communication between services becomes a bit more complicated.
We explore some of the different patterns of Service Discovery in a microservices architecture, and focus on pros and cons, while also mentioning concrete examples of tools and software available.