Bulletproof Java Enterprise Applications for The Hard Production Life
It's one thing to develop Java Enterprise applications, to execute, and validate them in test environments. Running the application in production, however, is a whole other story. Production life is harsh, unforgivable and the ultimate verification whether your application is able to add value to its users. Besides knowing the Java Enterprise APIs, developers therefore also need to know how to meet production requirements.
This session shows which non-functional requirements we enterprise developers need to be aware of to build stable and resilient applications. We will see different resiliency approaches, such as circuit breakers, bulkheads, or backpressure, in action. We will implement these concepts using the Java Enterprise API, MicroProfile, and certain Java EE extensions. Furthermore, we will see, how especially service meshes enable us to add resiliency to multiple microservices in a transparent, redundancy-free fashion.
Adding telemetry to our applications is crucial to gather insights about the application under production load. We will see how to enhance our microservices with concerns such as monitoring, tracing, or logging in a minimalistic way.
All of the time will be spent live-demoing Java Enterprise applications that are deployed to an Istio cluster. Over the last year or so much has been happening to Java the JVM and the Java ecosystem. Yet there is so much more to come.
- Demo project: JBCNConf 2019, Voxxed Days CERN, JPoint, Istanbul, DevNexus
- Presentation slides: JBCNConf 2019, Voxxed Days CERN, JPoint, Istanbul, DevNexus
Thanks for attending my session! I love to share knowledge and to continuously improve. Therefore, I really appreciate your constructive feedback. Thanks for taking the time :-)
- Java EE Porcupine extension
- Applying Bulkheads And Backpressure using MicroProfile
- Applying Bulkheads And Backpressure to Java EE
- Monitoring Open Liberty with Prometheus & Grafana
- Monitoring resiliency behavior with MicroProfile
- Instrumenting Porcupine With Prometheus & Grafana
- Bulletproof Enterprise Java for Meeting Challenging Production Requirements
- Applying Back Pressure When Overloaded
- Improving Testability of Java Microservices with Container Orchestration and a Service Mesh
- MicroProfile Fault Tolerance