Cloud native applications are popular these days. They promise superior reliability and almost arbitrary scalability. They follow three key principles: they are built and composed as microservices. They are packaged and distributed in containers. The containers are executed dynamically in the cloud. But all this comes at a price: added complexity! Suddenly you need to consider cloud native design principles such as service discovery, configuration, resilience, health checks and diagnosability.
While current Java EE versions do not (yet) have dedicated APIs to fully address these principles, they do provide APIs and extension points to retrofit these concepts easily with only a few line of glue code into your plain Java EE microservice.
This code intense session will present how we have built a fully cloud-native Java EE based system consisting of several microservices for a large German car manufacturer in only 3 months. We will share our experiences as well as working code examples on how we leveraged and combined standard Java EE APIs and well known open source components to do the heavy cloud-native lifting. #Javaland #CloudNativeNerd #qaware