Microservices and containers are now influencing application design and deployment patterns, and will continue to do so for the foreseeable future. In a previous post, I wrote about how 60 percent of all new applications will use cloud-enabled continuous delivery microservice architectures, DevOps, and containers. I also pointed out how the Java community has evolved to adopt microservices architecture in innovative ways, resulting in different approaches both in product implementations and design patterns. In our newest developer journey, Deploy Java microservices with polyglot support, we’re picking up one of the patterns where microservices within a polyglot model need to coexist. We show how to deploy a Java microservices application that co-exists with other polyglot microservices, leveraging sidecars for service discovery. Service discovery, registration, and routing are fundamental tenets of microservices, but they become more challenging when a Java application that uses microservices starts down the polyglot route. In cases that rely on JVM frameworks like MicroProfile and SpringBoot, the framework capabilities might not be sufficient. To address issues with polyglot applications, sidecar patterns have emerged. A sidecar is conceptually “attached” to the main (that is, the “parent”) application and complements it by providing “platform features.” With this kind of model, your microservices can use sidecars either as processes inside the same microservice container or in their own containers to leverage platform capabilities like service discovery, routing, and load balancing. In this journey, we show how you can deploy a sample Java microservices application in a Kubernetes cluster and extending it for polyglot support by adding sidecars. We have integrated with the IBM Bluemix DevOps toolchain to provide a one-click deployment for anyone who wants to try it out quickly. We hope you’ll follow the journey, extend it, and send us your feedback. Any and all pull requests to extend the journey are welcome – and I’m really hoping someone helps evolve it to use container-based sidecars!

2 comments on"Polyglot microservices and the sidecar pattern — a great fit!"

  1. […] applications solved a lot of issues with monolithic applications, but as mentioned in my previous post, as the number of these microservices continues to grow, new challenges arise, such as service […]

  2. […] languages, and various other aspects such as application models, operational patterns (like sidecars for functions) and the bifurcation of software engineering due to the trend towards adding glue functions between […]

Join The Discussion

Your email address will not be published. Required fields are marked *