In the Part 3 of these article series (http://nicolasduminil.blogspirit.com/archive/2018/06/08/basic-of-microservices-part-3-3106892.html), we demonstrated how to load-balance between micro-services instances, using he Netfkix Eureka service. This way we achieved one of the most important goals of the Service Orientated Architecture: the services virtualization and their location transparency. The Part 4 (http://nicolasduminil.blogspirit.com/archive/2018/06/14/microservices-basics-part-4-the-netflix-hystrix-service-3107106.html) showed how to use the Netflix Hystrix service in order to improve microservices resilience.
Now it is time to consider some cross-cutting concerns like security, logging and tracing. While it is possible to implement these cross-cutting concerns individually, for each microservice, it would be much better if we would have a unique place where we could do it, only once, for all our microservices. Enter the Netflix Zuul.