$30 off During Our Annual Pro Sale. View Details »

Cloud-native Java with Quarkus, Mandrel and Jib

Cloud-native Java with Quarkus, Mandrel and Jib

Nowadays, Java is considered to be mature and classical. Though the Java technology might not be a modern one, it’s still at the forefront of the trends and en vogue. It still has a strong influence and is widely spread in a number of system landscapes, which are evolving at this very moment to follow cloud transformation trends. The challenge lies in hauling Java up into the cloud as lean and nifty as possible.

I’d like to offer a solution to the above-mentioned challenge. That is when the CDI framework Quarkus comes on the scene. It’s lightweight at first glance, and yet it has an enormous potential due to an exquisite collection of the best of breed libraries and standards. Additional components of this solution include Mandrel, which provides native Java builds, and Jib, which simplifies the build process. This results in a container image of your Java App being built and pushed to your container registry in one step.

Avatar for Big Lecodeski

Big Lecodeski

July 28, 2023
Tweet

Other Decks in Technology

Transcript

  1. how could it come to this 😱 32 years 🥳

    write once, run anywhere everything used to be better 2 . 7
  2. CDI framework by Red Hat CDI as in Spring, but

    optimized for microservices simplified architecture reduced memory footprint reduced boot-up time 4 . 2
  3. Mandrel by Red Hat downstream version of GraalVM no polyglot

    architecture, no LLVM only native-image faster build time, less build time memory 5 . 3
  4. ⏱️ | | Mandrel | GraalVM | w/o Jib |

    Spring | JAR/JVM | |-----------------------|---------|---------|---------|--------|---------| | boot-up time (ms) | 20 | 21 | 20 | 51 | 1042 | | shutdown time (ms) | 6 | 4 | 5 | 45 | 87 | | memory usage (MB) | 6,6 | 6,6 | 6,6 | 24 | 92,3 | | idle cpu usage (%) | 0,005 | 0,005 | 0,005 | 0,11 | 0,33 | | code complexity (LOC) | 0 | 0 | 31 | 24 | -7 | | image size (MB) | 70,85 | 70,85 | 77,59 | 86,14 | 388,33 | | build time (s) | 209 | 230 | 241 | 283 | 48 | 9 . 2
  5. list of references (Downloaded: 2022-08-16) (Downloaded: 2022-08-16) (Downloaded: 2022-08-16) (Downloaded:

    2022-08-19) (Downloaded: 2022-08-21) (Downloaded: 2023-05-22) (Downloaded: 2022-08-16) (Downloaded: 2022-08-16) (Downloaded: 2022-08-16) (Downloaded: 2022-08-16) (Downloaded: 2022-08-21) (Downloaded: 2022-08-21) (Downloaded: 2022-08-21) (Downloaded: 2022-08-16) (Downloaded: 2022-08-06) (Downloaded: 2022-08-07) (Downloaded: 2022-08-16) (Downloaded: 2022-08-16) (Downloaded: 2022-08-16) (Downloaded: 2022-08-21) (Downloaded: 2022-08-21) https://github.com/lecodeski/containerize-java https://de.wikipedia.org/wiki/Java_Virtual_Machine https://docs.oracle.com/javase/7/docs/technotes/guides/security/spec/security-spec.doc1.html https://de.wikipedia.org/wiki/Finanztechnologie https://bootcamp.berkeley.edu/blog/most-in-demand-programming-languages/ https://www.future-processing.com/blog/fintech-applications-development-using-java/ https://haslab.github.io/SAFER/scp21.pdf https://de.wikipedia.org/wiki/Java-Technologie https://de.wikipedia.org/wiki/Java-Laufzeitumgebung https://www.baeldung.com/spring-dependency-injection https://developers.redhat.com/blog/2019/03/07/quarkus-next-generation-kubernetes-native-java-framework https://github.com/graalvm/mandrel/blob/default/README.md https://developers.redhat.com/blog/2021/04/14/mandrel-a-specialized-distribution-of-graalvm-for-quarkus#what_is_mandrel https://quarkus.io/guides/building-native-image https://github.com/GoogleContainerTools/jib https://cloud.google.com/java/getting-started/jib?hl=de https://kubernetes.io/blog/2016/12/container-runtime-interface-cri-in-kubernetes https://de.wikipedia.org/w/index.php?title=Apache_Maven#Die_Konfigurationsdatei:_pom.xml https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#a-build-lifecycle-is-made-up-of-phases https://quarkus.io/guides/config https://de.wikipedia.org/wiki/Just-in-time-Kompilierung https://www.baeldung.com/ahead-of-time-compilation 10 . 1