SlideShare a Scribd company logo
1 of 8
Copyright © 2023, Oracle and/or its affiliates 23/11/2023
Copyright © 2023, Oracle and/or its affiliates
1
Ways to Level Up Your Java
Application with GraalVM
Olga Gupalo
Principal Technical Writer, GraalVM
Oracle
November 23, 2023
23/11/2023
2 Copyright © 2023, Oracle and/or its affiliates
2
1. Use GraalVM and Native Image
2. Use GraalVM Native Build Tools
3. Statically link your application & make a small container
4. Use Github Actions
Top Things You Can Do
Copyright © 2023, Oracle and/or its affiliates
3
Copyright © 2023, Oracle and/or its affiliates
Why GraalVM Native Image?
4 23/11/2023
Compile a Java application ahead-of-time into a native executable so that it starts almost instantaneously, provides
peak performance with no warmup, and requires less memory and CPU resources
Perfect for containerized workloads and microservices
Adopted by Micronaut, Spring Boot, Helidon, and Quarkus
IDE and Java Tools
Use your favourite
Java IDE and
development tools
Develop Build
Native Build Tools
Use Maven and
Gradle plugins that
make it easy to
compile your
applications ahead-
of-time as part of a
build process
Test
JUnit 5 Support
Test your native
applications
with JUnit test
support compiled
ahead-of-time
Debug
Debugging with GDB
Set breakpoints, step
through Java sources
line-by-line, and
inspect variables in a
native executable with
GDB and in supported
IDEs
Support for JFR,
JMX, and more
Monitor with the
same JVM tools
such as JFR, JMX,
heap dumps,
jvmstat
Monitor
Container Images
Deploy in light-weight
container images. A
statically-linked native
executable can even
run in a scratch
container image
Package &
Deploy
Demo Part Objectives
1. Add a basic Spring Boot application to a container image and run it
2. Build a native executable from this application, using GraalVM Native Image
3. Add that native executable to a container image
4. Shrink the application container image size using Distroless containers
5. See how to use the GraalVM Native Build tools, Maven Plugin in particular
6. Use GitHub Actions to automate the build of a native executable as part of a CI/CD pipeline
5 Copyright © 2023, Oracle and/or its affiliates
https://luna.oracle.com/lab/268ea851-2f09-43e6-8d70-40a10cb4de03
Luna Lab in Oracle Cloud Infrastructure
Copyright © 2023, Oracle and/or its affiliates
6
Copyright © 2023, Oracle and/or its affiliates
Thank You
https://www.graalvm.org/
23/11/2023
7
Resources
Demo code repository: https://github.com/olyagpl/jibber-demo/
More online labs (search for: GraalVM): https://luna.oracle.com
GraalVM website: https://www.graalvm.org
GraalVM workshops: https://github.com/graalvm/workshops
GraalVM demos: https://github.com/graalvm/graalvm-demos
8 Copyright © 2023, Oracle and/or its affiliates

More Related Content

Similar to Ways to Level Up Your Java Application with GraalVM.pptx

Opensource gis development - part 1
Opensource gis development - part 1Opensource gis development - part 1
Opensource gis development - part 1
Andrea Antonello
 
Build your android app with gradle
Build your android app with gradleBuild your android app with gradle
Build your android app with gradle
Swain Loda
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
Hamed Hatami
 

Similar to Ways to Level Up Your Java Application with GraalVM.pptx (20)

7 maven vsgradle
7 maven vsgradle7 maven vsgradle
7 maven vsgradle
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsFrom GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
 
Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for android
 
Magic with groovy & grails
Magic with groovy & grailsMagic with groovy & grails
Magic with groovy & grails
 
GraalVM Overview Compact version
GraalVM Overview Compact versionGraalVM Overview Compact version
GraalVM Overview Compact version
 
Grails Spring Boot
Grails Spring BootGrails Spring Boot
Grails Spring Boot
 
Opensource gis development - part 1
Opensource gis development - part 1Opensource gis development - part 1
Opensource gis development - part 1
 
20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVM20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVM
 
8_PDFsam_DevOps.pdf
8_PDFsam_DevOps.pdf8_PDFsam_DevOps.pdf
8_PDFsam_DevOps.pdf
 
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
 
Build your android app with gradle
Build your android app with gradleBuild your android app with gradle
Build your android app with gradle
 
Slim3 quick start
Slim3 quick startSlim3 quick start
Slim3 quick start
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
 
GWT Training - Session 1/3
GWT Training - Session 1/3GWT Training - Session 1/3
GWT Training - Session 1/3
 
Aug penguin16
Aug penguin16Aug penguin16
Aug penguin16
 
Microservices in Java
Microservices in JavaMicroservices in Java
Microservices in Java
 
Angular + JHipster - JHipster Conf
Angular + JHipster - JHipster ConfAngular + JHipster - JHipster Conf
Angular + JHipster - JHipster Conf
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Ways to Level Up Your Java Application with GraalVM.pptx

  • 1. Copyright © 2023, Oracle and/or its affiliates 23/11/2023 Copyright © 2023, Oracle and/or its affiliates 1
  • 2. Ways to Level Up Your Java Application with GraalVM Olga Gupalo Principal Technical Writer, GraalVM Oracle November 23, 2023 23/11/2023 2 Copyright © 2023, Oracle and/or its affiliates 2
  • 3. 1. Use GraalVM and Native Image 2. Use GraalVM Native Build Tools 3. Statically link your application & make a small container 4. Use Github Actions Top Things You Can Do Copyright © 2023, Oracle and/or its affiliates 3
  • 4. Copyright © 2023, Oracle and/or its affiliates Why GraalVM Native Image? 4 23/11/2023 Compile a Java application ahead-of-time into a native executable so that it starts almost instantaneously, provides peak performance with no warmup, and requires less memory and CPU resources Perfect for containerized workloads and microservices Adopted by Micronaut, Spring Boot, Helidon, and Quarkus IDE and Java Tools Use your favourite Java IDE and development tools Develop Build Native Build Tools Use Maven and Gradle plugins that make it easy to compile your applications ahead- of-time as part of a build process Test JUnit 5 Support Test your native applications with JUnit test support compiled ahead-of-time Debug Debugging with GDB Set breakpoints, step through Java sources line-by-line, and inspect variables in a native executable with GDB and in supported IDEs Support for JFR, JMX, and more Monitor with the same JVM tools such as JFR, JMX, heap dumps, jvmstat Monitor Container Images Deploy in light-weight container images. A statically-linked native executable can even run in a scratch container image Package & Deploy
  • 5. Demo Part Objectives 1. Add a basic Spring Boot application to a container image and run it 2. Build a native executable from this application, using GraalVM Native Image 3. Add that native executable to a container image 4. Shrink the application container image size using Distroless containers 5. See how to use the GraalVM Native Build tools, Maven Plugin in particular 6. Use GitHub Actions to automate the build of a native executable as part of a CI/CD pipeline 5 Copyright © 2023, Oracle and/or its affiliates
  • 6. https://luna.oracle.com/lab/268ea851-2f09-43e6-8d70-40a10cb4de03 Luna Lab in Oracle Cloud Infrastructure Copyright © 2023, Oracle and/or its affiliates 6
  • 7. Copyright © 2023, Oracle and/or its affiliates Thank You https://www.graalvm.org/ 23/11/2023 7
  • 8. Resources Demo code repository: https://github.com/olyagpl/jibber-demo/ More online labs (search for: GraalVM): https://luna.oracle.com GraalVM website: https://www.graalvm.org GraalVM workshops: https://github.com/graalvm/workshops GraalVM demos: https://github.com/graalvm/graalvm-demos 8 Copyright © 2023, Oracle and/or its affiliates