3. ÜBER MICH
Wer bin ich - und wenn ja, wie viele?
• CIO New Technologies
• Enterprise & Mobile
• Autor, Speaker, Coach & Mentor
• Snowboard & MTB Enthusiast (a.k.a. “stets bemüht“)
Lars Röwekamp (a.k.a. @mobileLarson)
8. #WISSENTEILEN
Wo liegt eigentlich das Problem?
Bedarf in Zeiten von Cloud & Co.
• klein a.k.a. niedriger Speicherbedarf
• schnell a.k.a. geringe Startup Time
• flexibel a.k.a. Modularisierung
9. #WISSENTEILEN
Wo liegt eigentlich das Problem?
Java EE ist
• groß a.k.a. hoher Speicherbedarf
• langsam a.k.a. lange Startup Time
• unflexibel a.k.a. alles oder nix*
* gilt selbst für das stark abgespeckte WebProfile?
12. #WISSENTEILEN
Wo liegt eigentlich noch das Problem?
Java EE ist
• nicht für Microservices & Cloud konzipiert
• auf eine Runtime zugeschnitten
13. #WISSENTEILEN
Aber ist das wirklich ein Problem?*
Java EE ist
• stabil
• verbreitet
• standardisiert
• btw: erstes E in JEE steht für Enterprise
* Warum nicht einfach auf JEE verzichten?
37. #WISSENTEILEN
Variante: weniger ist mehr
PRO
• Standards
• schmal
• schnell
CONS
• Bootstrapping
• eingeschränkt*
• Micro* vs. Makro
* stark abhängig von der jeweiligen Lösung
41. #WISSENTEILEN
Variante: eXtended minimalized Standard
Eclipse MicroProfile Mission
„An open forum to optimize Enterprise Java
for a microservices architecture by
innovating across multiple implementations
and collaborating on common areas of interest
with a goal of standardization.“
55. #WISSENTEILEN
Variante: eXtended minimized Standard
PRO
• Standards
• Micro & Marko
• schmal*
• schnell*
• flexibel
CONS
• Bootstrapping
• je mehr, desto* …
* ist stark abhängig von den eingebundenen APIs
56. #WISSENTEILEN
Enterprise Java in Zeiten von Cloud & Co ….
STANDARDPROPRITARY
SLOW
FAST
… or here
! STANDARD
but SLOW
You are here …
! FAST but
PROPRITARY
…but you want
to be here! ? STANDARD
and FAST
60. #WISSENTEILEN
„I started thinking about my application’s
performance—in this case, the bootstrap time—and
asked myself whether I was happy with the actual time
my application took to start up. The answer was no.
And, nowadays, this is one of the most important
metrics to be considered when working with
microservices, mainly on a serverless architecture.“
Filipe Spolti, Red Hat
85. #WISSENTEILEN
Enterprise Java in Zeiten von Cloud & Co ….
STANDARDPROPRITARY
SLOW
FAST
… or here
! STANDARD
but SLOW
You are here …
! FAST but
PROPRITARY
…but you want
to be here! ? STANDARD
and FAST
86. #WISSENTEILEN
Enterprise Java in Zeiten von Cloud & Co ….
STANDARDPROPRITARY
SLOW
FAST
… or here
! STANDARD
but SLOW
You are here …
! FAST but
PROPRITARY
STANDARD *
and FAST
!Quarkus
aka Voodoo
87. #WISSENTEILEN
Enterprise Java in Zeiten von Cloud & Co ….
Voodoo Regeln
• Support von „leading“ APIs & Frameworks
• Dependency-Auflösung zur Compile-Time
• kurze Turnaround Zeiten via Dev Mode
• native Container-Images mit GraalVM
90. #WISSENTEILEN
„You are NOT Amazon,
Twitter or Netflix.“*
* except you are Amazon, Twitter or Netflix ;-)
91. #WISSENTEILEN
Enterprise Java in Zeiten von Cloud & Co ….
Voodoo Regeln eXtended Version
• “FatJARs are bad.“
• „Layered Containers are good.“
• „Small layered Containers are even better.“
• „Small* layered native Containers are best.“
* Distroless Container Image als extreme Variante