Slide 1

Slide 1 text

Patrick Wolf @wolkenarchitekt Serverless Clean Architecture with Spring Native

Slide 2

Slide 2 text

Recap: Clean Architecture https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html 2012

Slide 3

Slide 3 text

Recap: Clean Architecture (with Spring Boot) https://www.baeldung.com/spring-boot-clean-architecture 2021

Slide 4

Slide 4 text

Clean Architecture (with Spring Boot)

Slide 5

Slide 5 text

Clean Architecture with serverless persistence

Slide 6

Slide 6 text

Clean Architecture on AWS

Slide 7

Slide 7 text

Spring Native Goal: Allow developers to compile their Spring Boot applications to native executables with minimal changes Methods: ● GraalVM ● Ahead-of-time compilation (AOT)

Slide 8

Slide 8 text

GraalVM / AOT challenges + benefits Challenges: ● No lazy loading ● No reflection ● No proxies ● Long compile times Benefits: ● Extremely fast startup ● Low memory footprint https://springone.io/2021/sessions/spring-native

Slide 9

Slide 9 text

Demo

Slide 10

Slide 10 text

What’s next? ● In November: Spring Boot 2.6.0 with Spring Native 0.11.0 and GraalVM 21.3 ● AOT application context ● Java 17 ● UPX compression

Slide 11

Slide 11 text

Conclusion Challenges: ● Lack of good examples / templates for problem solution ● Not real-life-ready yet (e.g.) – no Oracle DB support – no mockito for tests Prospect: ● Perfect for serverless apps and apps on Kubernetes ● Will become standard once initial issues are solved

Slide 12

Slide 12 text

If you can't test it, mock it! 28. Oktober 2021 Nächster TechTalk