Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Devoxx UK] - Quarkus for Spring Developers

[Devoxx UK] - Quarkus for Spring Developers

Are you familiar with Spring and like learning new things?

In this session, I will show concepts and conventions familiar to Spring developers and how those same concepts and conventions can be implemented in Quarkus, all while highlighting similarities and differences between them. Additionally, I will show similarities and differences in how testing is done, highlighting Quarkus Dev Services and continuous testing.

This session will be mostly live coding while minimizing the amount of slides. I will introduce an existing Spring application with a full test suite and build a Quarkus equivalent version of it, live. Content will come from my book, "Quarkus for Spring Developers."

From https://www.devoxx.co.uk/talk/?id=1971

Eric Deandrea

May 10, 2023
Tweet

More Decks by Eric Deandrea

Other Decks in Technology

Transcript

  1. @edeandrea • How Quarkus enables modern Java development & the

    Kubernetes-native experience 
 • Introduce familiar Spring concepts, constructs, & conventions and how they map to Quarkus 
 • Emphasis on testing patterns & practices https://red.ht/quarkus-spring-devs Free copy (while they last)! Come see me at the Red Hat booth after this talk! 4:00 PM today!
  2. @edeandrea The Warmup Issue with Java Simon Ritter - Azul

    Systems - https://youtu.be/bWmuqh6wHgE (first 13 minutes)
  3. @edeandrea Build Time Runtime Packaging 
 (maven, etc) gradle…) Load

    config file from file system Parse it Classpath scanning to find annotated classes Attempt to load class to enable/disable features Build its model of 
 the world. Start the management (thread, pool…) @ 
 @ </> How Does a Framework Start?
  4. @edeandrea Build Time Runtime @ 
 @ </> The Quarkus

    Way Runtime Build Time @ 
 @ </> Package 
 model Build Time Runtime @ 
 @ </>
  5. @edeandrea JVM Build Time @ 
 @ </> Package 


    model Native The Quarkus Way enables Native Compilation
  6. @edeandrea JVM Quarkus Spring Boot Ratio (Quarkus / SB) Framework

    version 2.13.7.CR2 2.7.9 Build time (s) 7.27 17.68 41.13% Av. RSS after startup (MB) 177.21 441.77 40.11% Av. time to 1st req (ms) 2,460.67 5,240.33 46.96% Av. RSS after 1st req (MB) 252.12 481.67 52.34% Av. throughput (req/sec) 17,940.55 6,808 263.52% Av. RSS for max throughput (MB) 523.82 665.58 78.7% Max throughput density (req/sec/ MB) 35.52 11.24 316.1% Native Quarkus Spring Boot Ratio (Quarkus / SB) Framework version 2.13.7.CR2 2.7.9 Build time (s) 118.53 199.15 59.52% Av. RSS after startup (MB) 60.33 136.54 44.18% Av. time to 1st req (ms) 41.67 217.67 19.14% Av. RSS after 1st req (MB) 65.2 141.87 45.96% Av. throughput (req/sec) 27,326.59 10,799.41 253.04% Av. RSS for max throughput (MB) 453.34 625.67 72.46% Max throughput density (req/sec/ MB) 69.43 18.47 375.95% Don’t Take My Word For It! Some real numbers (8 cores, 12GB RAM, GraalVM 22.3.r11)
  7. @edeandrea • How Quarkus enables modern Java development & the

    Kubernetes-native experience 
 • Introduce familiar Spring concepts, constructs, & conventions and how they map to Quarkus 
 • Emphasis on testing patterns & practices https://red.ht/quarkus-spring-devs Free copy (while they last)! Come see me at the Red Hat booth after this talk! 4:00 PM today!