SlideShare a Scribd company logo
1 of 31
Download to read offline
©2021 VMware, Inc.
Going Serverless
using the Spring Framework ecosystem
Timo Salm
Senior Specialist Solution Engineer VMware Tanzu
September 2021
©2021 VMware, Inc.
Agenda
2
▪ About me
▪ What is Serverless?
▪ Going Serverless with your Spring Boot applications
©2021 VMware, Inc. 3
About me
Timo Salm
Senior SpecialistSolutionEngineer for VMware Tanzu
▪ https://tanzu.vmware.com/
▪ Twitter: @salmto
▪ GitHub: https://github.com/tsalm-pivotal
4
©2021 VMware, Inc.
What Is Serverless?
©2021 VMware, Inc. 5
Serverless doesn’t mean there are no servers, it means you don’t care about them.
Serverless can be group into two areas:
▪ Backend as a Service (BaaS) Replacing server-side, self-managed components with off-the-shelf
services
▪ Functions as a Service (FaaS) A new way of building and deploying server-side software, oriented
around deploying individual functions
The key is that with both, you don't have to manageyour own server hosts or server processes and can
focus on business value!
What is Serverless?
©2021 VMware, Inc. 6
A Serverless service …
▪ … does not require managing a long-lived host or application instance
▪ … self auto-scales and auto-provisions, dependent on load
▪ … has implicit high availability
▪ … has performance capabilities defined in terms other than host size/count
▪ … has costs that are based on precise usage, up from and down to zero usage
Key characteristics
What is Serverless?
©2021 VMware, Inc. 7
▪ Shorter lead time
▪ Reduced packaging and deploymentcomplexity
▪ Increased flexibility of scaling
▪ Reduced resource cost
▪ Reduced labor cost
▪ Reduced risk
Why Serverless?
©2021 VMware, Inc. 8
▪ Unpredictable costs
▪ Spinning up machines takes time - from a few seconds to minutes
▪ Most Serverless applications are stateless and the managementof state can be somewhat tricky
▪ Higher latency due to inter-component communication over HTTP APIs and “cold starts”
▪ Problematic with downstream systems that cannot increase their capacity quickly enough
▪ Typically limited in how long each invocation is allowed to run
▪ Multitenancy problems
Part 1/2
Drawbacks / Limitations of Serverless
©2021 VMware, Inc. 9
▪ Debugging is more complicated (a single request can travel between several machines and some of
those machines disappear at times)
▪ Added work is needed to provide tracing and monitoring solutions, which can add complexity and cost
to the project
▪ Security can be more demanding in a serverless environment
▪ Loss of control over
▪ absoluteconfiguration
▪ the performance of Serverless components
▪ issue resolution
▪ security
▪ The difficulty of local testing
▪ Vendor lock-in unless you are using OSS projects like e.g. Knative
Part 2/2
Drawbacks / Limitations of Serverless
©2021 VMware, Inc. 10
An open-source community project which adds components for
deploying, running, and managing applicationson any Kubernetes
in a Serverless way.
What is Knative?
To primary components:
▪ Serving:Supports deploying and serving of serverless applications and functions
▪ Eventing: Enables developers to use an event-driven architecture with serverless
applications
©2021 VMware, Inc. 11
Summary
The primary drivers for the adoption of Serverless are:
Developer
productivity
Platform elasticity Cost savings
12
©2021 VMware, Inc.
Going Serverless
with your Spring Boot applications
13
©2021 VMware, Inc.
Demo
Running a Spring Boot application on Knative
©2021 VMware, Inc. 16
Unleash the full potential of Serverless for our application
Faster startup time Lower resource
consumption
(memory, CPU)
More cost savings
©2021 VMware, Inc. 17
Interpretation vs Compilation
Just-in-Time vs Ahead-of-Time
.java
Java Class
JIT @ Compile Time
Compiler
.class
Bytecode
JIT @ JVM Runtime
JIT
Compiler
Native
Code
.java
Java Class
AOT @ Compile Time
Compiler
.class
Bytecode
AOT @ Native Runtime
.jar
Archive
Executed
Native
Executable
Executed
.jar
Archive
©2021 VMware, Inc. 18
What are Native Images?
Smaller, faster and lower resource consumption
▪ Standaloneexecutableof ahead-of-time compiled Javacode
▪ Includes the applicationclasses, classes from its dependencies, runtime library classes, and statically linked
native code from JDK
▪ Runs without the need of a JVM, necessary componentsare includedin a runtime system, called“Substrate VM”
▪ Specific to the OS and machine architecture for which it was compiled
▪ Requires fewer resources than regular Javaapplicationsrunning on a JVM
©2021 VMware, Inc. 19
▪ Basic idea: One VM that can execute applications written in Java and other JVM languages while also
providing runtimes for JavaScript, Ruby, Python, and a number of other popular languages
▪ Started by Oracle: https://graalvm.org/
▪ GraalVM’s polyglot capabilities make it possible to mix multiple programming languages in a single
application while eliminating any foreign language call costs
▪ Still in “early adopter” mode, but
matures quickly
A high-performance JDKdistribution
What is GraalVM?
©2021 VMware, Inc. 20
Tradeoffs between JVM and Native Images
©2021 VMware, Inc. 21
▪ A static analysis of your application from the main entry point is performed at build time
▪ The unused parts are removed at build time
▪ Configuration is required for reflection, resources, and dynamic proxies
▪ Classpath is fixed at build time
▪ No class lazy loading: everything shipped in the executables will be loaded in memory on startup
▪ Some code will run at build time
▪ There are some limitations around some aspects of Java applications that are not fully supported
Key differences between JVM and GraalVM native image platform
©2021 VMware, Inc. 23
Spring Native provides incubating support
for compiling Spring applications to lightweight native executables using the
GraalVM native-image compiler.
The goal is to support compilation of existing or new Spring Boot
applications to native executables.
Unchanged.
©2021 VMware, Inc. 24
▪ Choose Spring Boot 2.5.4 as your
project’sparent for the Spring
Native0.10.3 release
▪ Java8 and Java11 supported for
NativeImages at this time in the
GraalVM
Get started with Spring Native
Create a new project on start.spring.io or use an existing one
©2021 VMware, Inc. 25
▪ Use Spring Boot 2.5.4 as your
project’sparent for the latest Spring
Nativerelease
▪ Add a dependencyto the latest
Spring Nativelibrary
e.g. spring-native version 0.10.3
▪ Leverage Paketo JavaNativeImage
Buildpack
▪ Configure the Spring Boot Maven
Plugin to build a nativeimage
▪ Add the Spring AOT plugin
Get started with Spring Native
Create a new project on start.spring.io or use an existing one
©2021 VMware, Inc. 26
▪ Add the nativebuild tools plugin
Get started with Spring Native
Create a new project on start.spring.io or use an existing one
©2021 VMware, Inc. 27
Two options to build a native image with Spring Native
Via Cloud-Native-Buildpacks
▪ Configure your build to use the Paketo Buildpacks
▪ Tell the buildpackto produce a native image
▪ The result is a small containerimage with the
compiled nativeexecutable inside
▪ No local GraalVM installationneeded
▪ Super easy to use
▪ Run mvn spring-boot:build-imageto create a
containerwith your application
Via GraalVM native image Mavenplugin
▪ Configure your build to compileto a native
executable
▪ Produces a native executable for the platform you are
running on
▪ Requires GraalVM locallyinstalled
▪ Also super easy to use
▪ Run mvn -Pnative -DskipTests package to buildthe
application.
28
©2021 VMware, Inc.
Demo
Running a Spring Boot application as Native Image
on Knative
©2021 VMware, Inc. 30
Performance expectations
Sample On the JVM Nativeapplication
spring-boot-hello-
world
Build: 19 s
Memory(RSS): 225M
Startup time: 2.367s
Build: 04:21 min +1374%
Memory(RSS): 68M -70%
Startup time: 0.119s -95%
actuator-r2dbc-
webflux
Build: 8s
Memory(RSS): 640M
Startup time: 3.0s
Build: 141s +1700%
Memory(RSS): 86M -87%
Startup time: 0.094s -97%
petclinic-jdbc Build: 9s
Memory(RSS): 417M
Startup time: 2.6s
Build: 194s +2050%
Memory(RSS): 101M -75%
Startup time: 0.158s -94%
©2021 VMware, Inc. 31
Ongoing improvements in reducing footprint
Sample Sep 2019 Mar 2021
commandlinerunner Build: 90s
Exec. size: 48M
Memory(RSS): 29M
Build: 50s
Exec. size: 21M
Memory(RSS): 22M
webflux-netty Build: 193s
Exec. size: 81M
Memory(RSS): 95M
Build: 79s
Exec. size: 47M
Memory(RSS): 48M
webmvc-tomcat Build: 203s
Exec size: 105M
Memory(RSS): 70M
Build: 67s
Exec. size: 45M
Memory(RSS): 51M
©2021 VMware, Inc. 32
▪ Delegate Native Imagebuilding to the CI/CD pipeline, leveraging Spring Native and Paketo
Buildpacks
▪ Unchanged Developer UX in your IDE, with the same JVM
Use JVM locally, delegate Native Builds to CI/CD…
Can I keep the great Spring UX when going Native?
©2021 VMware, Inc. 33
Spring Boot 3, based on Spring Framework 6, is expected to provide first-
class support for native application deployment, as well as an optimized
footprint on the JVM.
The road ahead
©2021 VMware, Inc. 34
▪ Documentation: https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/
▪ Spring Native project on Github: https://github.com/spring-projects-experimental/spring-native
▪ Workshop by my awesome colleague Dan Dobrin: https://github.com/ddobrin/native-spring-on-k8s-
with-graalvm-workshop
Resources
©2021 VMware, Inc.
Thank You

More Related Content

What's hot

Spring Boot Whirlwind Tour
Spring Boot Whirlwind TourSpring Boot Whirlwind Tour
Spring Boot Whirlwind TourVMware Tanzu
 
Spring: Your Next Java Micro-Framework
Spring: Your Next Java Micro-FrameworkSpring: Your Next Java Micro-Framework
Spring: Your Next Java Micro-FrameworkVMware Tanzu
 
Introducing Spring Framework 5.3
Introducing Spring Framework 5.3Introducing Spring Framework 5.3
Introducing Spring Framework 5.3VMware Tanzu
 
Resilient and Adaptable Systems with Cloud Native APIs
Resilient and Adaptable Systems with Cloud Native APIsResilient and Adaptable Systems with Cloud Native APIs
Resilient and Adaptable Systems with Cloud Native APIsVMware Tanzu
 
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...VMware Tanzu
 
Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - SpringOne 2020Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - SpringOne 2020Matt Raible
 
Introducing Spring Cloud Gateway and API Hub for VMware Tanzu
Introducing Spring Cloud Gateway and API Hub for VMware TanzuIntroducing Spring Cloud Gateway and API Hub for VMware Tanzu
Introducing Spring Cloud Gateway and API Hub for VMware TanzuVMware Tanzu
 
Developers Are Users, Too
Developers Are Users, TooDevelopers Are Users, Too
Developers Are Users, TooVMware Tanzu
 
Spring Boot Observability
Spring Boot ObservabilitySpring Boot Observability
Spring Boot ObservabilityVMware Tanzu
 
What’s New in Spring Data MongoDB
What’s New in Spring Data MongoDBWhat’s New in Spring Data MongoDB
What’s New in Spring Data MongoDBVMware Tanzu
 
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Connecting Spring Apps to Distributed SQL Clusters Running in KubernetesConnecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Connecting Spring Apps to Distributed SQL Clusters Running in KubernetesVMware Tanzu
 
Spring Boot—Production Boost
Spring Boot—Production BoostSpring Boot—Production Boost
Spring Boot—Production BoostVMware Tanzu
 
Micronaut: A new way to build microservices
Micronaut: A new way to build microservicesMicronaut: A new way to build microservices
Micronaut: A new way to build microservicesLuram Archanjo
 
How To Be a Java Automated Testing Superstar
How To Be a Java Automated Testing SuperstarHow To Be a Java Automated Testing Superstar
How To Be a Java Automated Testing SuperstarVMware Tanzu
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIVMware Tanzu
 
Peering Inside the Black Box: A Case for Observability
Peering Inside the Black Box: A Case for ObservabilityPeering Inside the Black Box: A Case for Observability
Peering Inside the Black Box: A Case for ObservabilityVMware Tanzu
 
The Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsVMware Tanzu
 
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real EventsVMware Tanzu
 

What's hot (20)

Spring Boot Whirlwind Tour
Spring Boot Whirlwind TourSpring Boot Whirlwind Tour
Spring Boot Whirlwind Tour
 
Spring: Your Next Java Micro-Framework
Spring: Your Next Java Micro-FrameworkSpring: Your Next Java Micro-Framework
Spring: Your Next Java Micro-Framework
 
What Is Spring?
What Is Spring?What Is Spring?
What Is Spring?
 
Introducing Spring Framework 5.3
Introducing Spring Framework 5.3Introducing Spring Framework 5.3
Introducing Spring Framework 5.3
 
Resilient and Adaptable Systems with Cloud Native APIs
Resilient and Adaptable Systems with Cloud Native APIsResilient and Adaptable Systems with Cloud Native APIs
Resilient and Adaptable Systems with Cloud Native APIs
 
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
 
Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - SpringOne 2020Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - SpringOne 2020
 
Introducing Spring Cloud Gateway and API Hub for VMware Tanzu
Introducing Spring Cloud Gateway and API Hub for VMware TanzuIntroducing Spring Cloud Gateway and API Hub for VMware Tanzu
Introducing Spring Cloud Gateway and API Hub for VMware Tanzu
 
Developers Are Users, Too
Developers Are Users, TooDevelopers Are Users, Too
Developers Are Users, Too
 
Spring Boot Observability
Spring Boot ObservabilitySpring Boot Observability
Spring Boot Observability
 
What’s New in Spring Data MongoDB
What’s New in Spring Data MongoDBWhat’s New in Spring Data MongoDB
What’s New in Spring Data MongoDB
 
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Connecting Spring Apps to Distributed SQL Clusters Running in KubernetesConnecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
 
What Is Spring?
What Is Spring?What Is Spring?
What Is Spring?
 
Spring Boot—Production Boost
Spring Boot—Production BoostSpring Boot—Production Boost
Spring Boot—Production Boost
 
Micronaut: A new way to build microservices
Micronaut: A new way to build microservicesMicronaut: A new way to build microservices
Micronaut: A new way to build microservices
 
How To Be a Java Automated Testing Superstar
How To Be a Java Automated Testing SuperstarHow To Be a Java Automated Testing Superstar
How To Be a Java Automated Testing Superstar
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
 
Peering Inside the Black Box: A Case for Observability
Peering Inside the Black Box: A Case for ObservabilityPeering Inside the Black Box: A Case for Observability
Peering Inside the Black Box: A Case for Observability
 
The Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native Applications
 
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
 

Similar to Going Serverless Using the Spring Framework Ecosystem

Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookVMware Tanzu
 
Building Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonLeon Stigter
 
Knative goes
 beyond serverless | Alexandre Roman
Knative goes
 beyond serverless | Alexandre RomanKnative goes
 beyond serverless | Alexandre Roman
Knative goes
 beyond serverless | Alexandre RomanKCDItaly
 
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator VMworld
 
Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudEberhard Wolff
 
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroFabio Tiriticco
 
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...IBM Systems UKI
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetessparkfabrik
 
Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)GabrielaRodriguez182401
 
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...VMworld
 
Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Chris Ciborowski
 
Kubernetes Storage Webinar.pptx
Kubernetes Storage Webinar.pptxKubernetes Storage Webinar.pptx
Kubernetes Storage Webinar.pptxEnrico Rampazzo
 
Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesMarco Vermeulen
 
JavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptxJavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptxGrace Jansen
 
Backroll: Production Grade KVM Backup Solution Integrated in CloudStack
Backroll: Production Grade KVM Backup Solution Integrated in CloudStackBackroll: Production Grade KVM Backup Solution Integrated in CloudStack
Backroll: Production Grade KVM Backup Solution Integrated in CloudStackShapeBlue
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitDon Marti
 
COP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptxCOP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptxNitesh95975
 
Packaging tool options
Packaging tool optionsPackaging tool options
Packaging tool optionsLen Bass
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishVMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVMware Tanzu
 

Similar to Going Serverless Using the Spring Framework Ecosystem (20)

Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
 
Building Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and Tekton
 
Knative goes
 beyond serverless | Alexandre Roman
Knative goes
 beyond serverless | Alexandre RomanKnative goes
 beyond serverless | Alexandre Roman
Knative goes
 beyond serverless | Alexandre Roman
 
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
VMworld 2013: Part 1: Getting Started with vCenter Orchestrator
 
Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and Cloud
 
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
 
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)
 
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
 
Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015
 
Kubernetes Storage Webinar.pptx
Kubernetes Storage Webinar.pptxKubernetes Storage Webinar.pptx
Kubernetes Storage Webinar.pptx
 
Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBees
 
JavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptxJavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptx
 
Backroll: Production Grade KVM Backup Solution Integrated in CloudStack
Backroll: Production Grade KVM Backup Solution Integrated in CloudStackBackroll: Production Grade KVM Backup Solution Integrated in CloudStack
Backroll: Production Grade KVM Backup Solution Integrated in CloudStack
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration Summit
 
COP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptxCOP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptx
 
Packaging tool options
Packaging tool optionsPackaging tool options
Packaging tool options
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 

More from VMware Tanzu

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItVMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleVMware Tanzu
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductVMware Tanzu
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready AppsVMware Tanzu
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And BeyondVMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfVMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023VMware Tanzu
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptxVMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchVMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - FrenchVMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootVMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerVMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeVMware Tanzu
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsVMware Tanzu
 
SpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your TeamSpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your TeamVMware Tanzu
 
SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...
SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...
SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...VMware Tanzu
 

More from VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 
SpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your TeamSpringOne Tour: Doing Progressive Delivery with your Team
SpringOne Tour: Doing Progressive Delivery with your Team
 
SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...
SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...
SpringOne Tour: Make the Right Thing the Obvious Thing: The Journey to Intern...
 

Recently uploaded

cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Recently uploaded (20)

cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

Going Serverless Using the Spring Framework Ecosystem

  • 1. ©2021 VMware, Inc. Going Serverless using the Spring Framework ecosystem Timo Salm Senior Specialist Solution Engineer VMware Tanzu September 2021
  • 2. ©2021 VMware, Inc. Agenda 2 ▪ About me ▪ What is Serverless? ▪ Going Serverless with your Spring Boot applications
  • 3. ©2021 VMware, Inc. 3 About me Timo Salm Senior SpecialistSolutionEngineer for VMware Tanzu ▪ https://tanzu.vmware.com/ ▪ Twitter: @salmto ▪ GitHub: https://github.com/tsalm-pivotal
  • 4. 4 ©2021 VMware, Inc. What Is Serverless?
  • 5. ©2021 VMware, Inc. 5 Serverless doesn’t mean there are no servers, it means you don’t care about them. Serverless can be group into two areas: ▪ Backend as a Service (BaaS) Replacing server-side, self-managed components with off-the-shelf services ▪ Functions as a Service (FaaS) A new way of building and deploying server-side software, oriented around deploying individual functions The key is that with both, you don't have to manageyour own server hosts or server processes and can focus on business value! What is Serverless?
  • 6. ©2021 VMware, Inc. 6 A Serverless service … ▪ … does not require managing a long-lived host or application instance ▪ … self auto-scales and auto-provisions, dependent on load ▪ … has implicit high availability ▪ … has performance capabilities defined in terms other than host size/count ▪ … has costs that are based on precise usage, up from and down to zero usage Key characteristics What is Serverless?
  • 7. ©2021 VMware, Inc. 7 ▪ Shorter lead time ▪ Reduced packaging and deploymentcomplexity ▪ Increased flexibility of scaling ▪ Reduced resource cost ▪ Reduced labor cost ▪ Reduced risk Why Serverless?
  • 8. ©2021 VMware, Inc. 8 ▪ Unpredictable costs ▪ Spinning up machines takes time - from a few seconds to minutes ▪ Most Serverless applications are stateless and the managementof state can be somewhat tricky ▪ Higher latency due to inter-component communication over HTTP APIs and “cold starts” ▪ Problematic with downstream systems that cannot increase their capacity quickly enough ▪ Typically limited in how long each invocation is allowed to run ▪ Multitenancy problems Part 1/2 Drawbacks / Limitations of Serverless
  • 9. ©2021 VMware, Inc. 9 ▪ Debugging is more complicated (a single request can travel between several machines and some of those machines disappear at times) ▪ Added work is needed to provide tracing and monitoring solutions, which can add complexity and cost to the project ▪ Security can be more demanding in a serverless environment ▪ Loss of control over ▪ absoluteconfiguration ▪ the performance of Serverless components ▪ issue resolution ▪ security ▪ The difficulty of local testing ▪ Vendor lock-in unless you are using OSS projects like e.g. Knative Part 2/2 Drawbacks / Limitations of Serverless
  • 10. ©2021 VMware, Inc. 10 An open-source community project which adds components for deploying, running, and managing applicationson any Kubernetes in a Serverless way. What is Knative? To primary components: ▪ Serving:Supports deploying and serving of serverless applications and functions ▪ Eventing: Enables developers to use an event-driven architecture with serverless applications
  • 11. ©2021 VMware, Inc. 11 Summary The primary drivers for the adoption of Serverless are: Developer productivity Platform elasticity Cost savings
  • 12. 12 ©2021 VMware, Inc. Going Serverless with your Spring Boot applications
  • 13. 13 ©2021 VMware, Inc. Demo Running a Spring Boot application on Knative
  • 14. ©2021 VMware, Inc. 16 Unleash the full potential of Serverless for our application Faster startup time Lower resource consumption (memory, CPU) More cost savings
  • 15. ©2021 VMware, Inc. 17 Interpretation vs Compilation Just-in-Time vs Ahead-of-Time .java Java Class JIT @ Compile Time Compiler .class Bytecode JIT @ JVM Runtime JIT Compiler Native Code .java Java Class AOT @ Compile Time Compiler .class Bytecode AOT @ Native Runtime .jar Archive Executed Native Executable Executed .jar Archive
  • 16. ©2021 VMware, Inc. 18 What are Native Images? Smaller, faster and lower resource consumption ▪ Standaloneexecutableof ahead-of-time compiled Javacode ▪ Includes the applicationclasses, classes from its dependencies, runtime library classes, and statically linked native code from JDK ▪ Runs without the need of a JVM, necessary componentsare includedin a runtime system, called“Substrate VM” ▪ Specific to the OS and machine architecture for which it was compiled ▪ Requires fewer resources than regular Javaapplicationsrunning on a JVM
  • 17. ©2021 VMware, Inc. 19 ▪ Basic idea: One VM that can execute applications written in Java and other JVM languages while also providing runtimes for JavaScript, Ruby, Python, and a number of other popular languages ▪ Started by Oracle: https://graalvm.org/ ▪ GraalVM’s polyglot capabilities make it possible to mix multiple programming languages in a single application while eliminating any foreign language call costs ▪ Still in “early adopter” mode, but matures quickly A high-performance JDKdistribution What is GraalVM?
  • 18. ©2021 VMware, Inc. 20 Tradeoffs between JVM and Native Images
  • 19. ©2021 VMware, Inc. 21 ▪ A static analysis of your application from the main entry point is performed at build time ▪ The unused parts are removed at build time ▪ Configuration is required for reflection, resources, and dynamic proxies ▪ Classpath is fixed at build time ▪ No class lazy loading: everything shipped in the executables will be loaded in memory on startup ▪ Some code will run at build time ▪ There are some limitations around some aspects of Java applications that are not fully supported Key differences between JVM and GraalVM native image platform
  • 20. ©2021 VMware, Inc. 23 Spring Native provides incubating support for compiling Spring applications to lightweight native executables using the GraalVM native-image compiler. The goal is to support compilation of existing or new Spring Boot applications to native executables. Unchanged.
  • 21. ©2021 VMware, Inc. 24 ▪ Choose Spring Boot 2.5.4 as your project’sparent for the Spring Native0.10.3 release ▪ Java8 and Java11 supported for NativeImages at this time in the GraalVM Get started with Spring Native Create a new project on start.spring.io or use an existing one
  • 22. ©2021 VMware, Inc. 25 ▪ Use Spring Boot 2.5.4 as your project’sparent for the latest Spring Nativerelease ▪ Add a dependencyto the latest Spring Nativelibrary e.g. spring-native version 0.10.3 ▪ Leverage Paketo JavaNativeImage Buildpack ▪ Configure the Spring Boot Maven Plugin to build a nativeimage ▪ Add the Spring AOT plugin Get started with Spring Native Create a new project on start.spring.io or use an existing one
  • 23. ©2021 VMware, Inc. 26 ▪ Add the nativebuild tools plugin Get started with Spring Native Create a new project on start.spring.io or use an existing one
  • 24. ©2021 VMware, Inc. 27 Two options to build a native image with Spring Native Via Cloud-Native-Buildpacks ▪ Configure your build to use the Paketo Buildpacks ▪ Tell the buildpackto produce a native image ▪ The result is a small containerimage with the compiled nativeexecutable inside ▪ No local GraalVM installationneeded ▪ Super easy to use ▪ Run mvn spring-boot:build-imageto create a containerwith your application Via GraalVM native image Mavenplugin ▪ Configure your build to compileto a native executable ▪ Produces a native executable for the platform you are running on ▪ Requires GraalVM locallyinstalled ▪ Also super easy to use ▪ Run mvn -Pnative -DskipTests package to buildthe application.
  • 25. 28 ©2021 VMware, Inc. Demo Running a Spring Boot application as Native Image on Knative
  • 26. ©2021 VMware, Inc. 30 Performance expectations Sample On the JVM Nativeapplication spring-boot-hello- world Build: 19 s Memory(RSS): 225M Startup time: 2.367s Build: 04:21 min +1374% Memory(RSS): 68M -70% Startup time: 0.119s -95% actuator-r2dbc- webflux Build: 8s Memory(RSS): 640M Startup time: 3.0s Build: 141s +1700% Memory(RSS): 86M -87% Startup time: 0.094s -97% petclinic-jdbc Build: 9s Memory(RSS): 417M Startup time: 2.6s Build: 194s +2050% Memory(RSS): 101M -75% Startup time: 0.158s -94%
  • 27. ©2021 VMware, Inc. 31 Ongoing improvements in reducing footprint Sample Sep 2019 Mar 2021 commandlinerunner Build: 90s Exec. size: 48M Memory(RSS): 29M Build: 50s Exec. size: 21M Memory(RSS): 22M webflux-netty Build: 193s Exec. size: 81M Memory(RSS): 95M Build: 79s Exec. size: 47M Memory(RSS): 48M webmvc-tomcat Build: 203s Exec size: 105M Memory(RSS): 70M Build: 67s Exec. size: 45M Memory(RSS): 51M
  • 28. ©2021 VMware, Inc. 32 ▪ Delegate Native Imagebuilding to the CI/CD pipeline, leveraging Spring Native and Paketo Buildpacks ▪ Unchanged Developer UX in your IDE, with the same JVM Use JVM locally, delegate Native Builds to CI/CD… Can I keep the great Spring UX when going Native?
  • 29. ©2021 VMware, Inc. 33 Spring Boot 3, based on Spring Framework 6, is expected to provide first- class support for native application deployment, as well as an optimized footprint on the JVM. The road ahead
  • 30. ©2021 VMware, Inc. 34 ▪ Documentation: https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/ ▪ Spring Native project on Github: https://github.com/spring-projects-experimental/spring-native ▪ Workshop by my awesome colleague Dan Dobrin: https://github.com/ddobrin/native-spring-on-k8s- with-graalvm-workshop Resources