SlideShare uma empresa Scribd logo
1 de 58
1
Deploy and Update Jakarta EE &
MicroProfile applications @
Lightspeed
With Paketo
Name: Jamie L Coleman
Title: Software Developer/Advocate @ IBM
Twitter: @Jamie_Lee_C
2
2
Contents
3
Contents of this talk
• What are Polyglot
applications?
• Why use different languages?
• What is a Buildpack?
o Compliance
o Security
o Control
o Maintainability
• Introduction to Paketo!
o What is Paketo?
o How does Paketo work?
o Paketo & Java
o Open Liberty Buildpack
o Getting started with Paketo
• Introduction to Open Liberty
• MicroProfile & Jakarta EE
• Paketo with Open Liberty Demo
• Recap
• Useful Links
4
4
What are Polyglot
applications?
5
Polyglot applications
• Application written in multiple languages.
• Used to capture additional functionality &
efficiency of different languages.
• Allow development teams to choose the
technology stack they want to use.
• If abiding by the rules of the 15 factors
for cloud-native development such as
API first, then this can be achieved easily
depending on the skills of your
developers.
6
Saving energy with efficient
applications
There is over 500,000 data centres worldwide
The area of land they consume is around the same as 6,000 football
pitches
UK energy consumption x 1.5 == global data centre energy
consumption (2019).
7
Luckily Hardware efficiency is helping
8
Application
9
Microservices and the JVM
10
Many metrics must be balanced for Java Performance
• Wide variety of use cases means many metrics must be balanced
• Different goals  different design decisions
• No single “right” answer
• Must keep a balance  make sensible trade-offs
• Key performance metrics tracked
• start-up time
• ramp-up time
• memory footprint
• response time
• CPU/Throughput
Optimizing for cloud requires a different balance across these performance metrics
start-up
time
footprin
ramp-up
response
time
CPU
11
Overview of OpenJ9
Designed from the start to span all the
operating systems needed by IBM products
This JVM can go from small to large
Can handle constrained environments or
memory rich ones
Is used by the largest enterprises on the
planet
12
Overview of OpenJ9
13
Research on greenest languages
https://medium.com/codex/what-are-the-greenest-
programming-languages-e738774b1957
14
Save time, money & energy!
Advantages
• Increase Engineer creativity
• Speed up time to market
• Draw from a big pool of talent
• More efficient applications
Disadvantages
• Scaling Issues
• Complexity!
15
15
What are Buildpacks?
16
Buildpacks
• Transform application source code into OCI images
• Conceived by Heroku (Creators of the 12 factor applications) in 2011
• Created by Pivotal and Heroku in 2018
17
Buildpacks
• Advanced Caching
o Robust caching is used to improve performance
• Auto-detection
o Images can be built directly from source without additional
instructions
• Bill of Materials
o Insights into the contents of the app through standard SBOMs
• Modular/Pluggable
o Multiple buildpacks can be used to create an image
• Multi Language
o Supports multiple programming language stacks
18
Buildpacks
• Multi Process
o Images can have multiple entry
• Minimal App image
o Image contains only what is required
• Rebasing
o Instant updates on base images without re-building
• Reproducibility
o Reproduces the same app image digest with a rebuild
• Reusability
o Leverage pre-built buildpacks maintained by a large community
19
Compliance
Ensuring your software licences are being used correctly
Top causes of software non-compliance
1. Complexity of software licences
2. Inadvertent misuse
3. Lack of software asset management procedures and tools
4. Lack of education
5. Intentional misuse
20
Stacks & Buildpacks
Ensuring your stacks are updated and secure
Buildpacks/Paketo use the notion of a stack
A stack is composed of two images that are intended to work together:
1. The build image of a stack provides the base image from which the build
environment is constructed.
2. The run image of a stack provides the base image from which application
images are built.
21
Security & Hardening features
• By using Ubuntu 18.04 and 22.04 as the base images for the stacks, you benefit from all of
the security provided by Canonical and Ubuntu.
• Automatic monitoring and patching of CVEs means that our stacks are often updated within
hours of Canonical’s patches.
• The stack images are run as a dedicated non-root user when building and running
applications.
• Each stack image has detailed metadata describing the image’s components, such as the
base operating system and packages.
• Each stack has separate images for building and running applications. The packages on
the runtime image are curated to exclude compilers and other tools that might pose
security risks.
• The build and run images have different user IDs. This means that sensitive files and
dependencies installed at build-time cannot be corrupted at run-time by malicious app
code.
22
Control
With buildpacks, you have full control over the OSes, languages, and
package management your teams can use. This allows you to connect
to a private maven repository and use dependency management
software such as Sonatype’s Nexus product.
They also provide you with a bill of materials through standard build
times SBOMs in different formats that can be used to see
insights in your applications image.
23
Maintainability
Having good maintainability helps your organisation save money and
energy in the long run.
Buildpacks offer certain features that can help with maintainability:
1. Auto-detection of source code changes
2. Using multiple buildpacks to create an application images
3. Image contains only what is required
4. Instant updates of base images without re-building
5. Reuse buildpacks maintained by a large community.
24
Comparing
buildpacks
functionality
with other
technologies
25
25
Introducing Paketo!
26
What is Paketo?
• Paketo transforms your application source code into container
images
• Paketo is Open source and provides production ready buildpacks for
the most popular languages and frameworks such as:
o PHP, Java, Node.js, Go, .NET Core, Ruby, NGINX &
• Allows you to easily build applications and keep them updated
27
How does Paketo work?
Just bring your app and Paketo Buildpacks will detect what language
your app is using, gather the required dependencies, and build it into
an image.
The build tool detects your file structure and decides what build tool to
use or you can manually select the tool you want such as:
• Gradle
• Maven
• Leiningen
• SBT
28
How does Paketo work?
Installing a Specific JVM Version
The following environment variable configures the JVM version at build-time: BP_JVM_VERSION
• Defaults to the latest 11.x version at the time of release.
• Configures a specific JDK or JRE version.
Use an Alternative JVM
• By default, the Paketo Java buildpack will use the Liberica JVM but you are able to use the JVM of your choice:
• Adoptium Paketo Adoptium Buildpack
• Alibaba Dragonwell(opens in a new tab) 2 Paketo Alibaba Dragonwell Buildpack
• Amazon Corretto(opens in a new tab) 2 Paketo Amazon Corretto Buildpack
• Azul Zulu(opens in a new tab) Paketo Azul Zulu Buildpack
• BellSoft Liberica(opens in a new tab) Paketo BellSoft Liberica Buildpack - Default
• Eclipse OpenJ9(opens in a new tab) Paketo Eclipse OpenJ9 Buildpack
• GraalVM(opens in a new tab) 2 Paketo GraalVM Buildpack
• Oracle JDK(opens in a new tab) 2 3 Paketo Oracle Buildpack
• Microsoft OpenJDK(opens in a new tab) 2 Paketo Microsoft OpenJDK Buildpack
29
How does Paketo work?
Paketo can use an alternatives Java Application Servesr from the default!
When deploying your Java application to an application runtime, the
default application server installed by the Paketo Java buildpack is Apache
Tomcat.
If you require a different application runtime, possibly one that supports
JavaEE or JakartaEE, you may select an alternative Java application
server by setting BP_JAVA_APP_SERVER when building your application
such as: samples/war -e BP_JAVA_APP_SERVER=liberty
30
30
Introducing Open Liberty
31
Open Liberty
© 2021 IBM Corporation
32
Open Liberty 5th Birthday!
© 2021 IBM Corporation
33
Focus on code
Easy to make fast and iterative changes
Easy to write tests
True-to-production testing (as much as possible)
Ready for containers
Not-in-your-way tools and flexibility
© 2021 IBM Corporation
Open Liberty Project Goals
34
Developer Experience: dev mode
• Boosts developer productivity
• Immediate feedback for code
and config changes
• No re-build necessary
mvn liberty:dev
© 2021 IBM Corporation
https://developer.ibm.com/tutorials/achieve-rapid-iterative-cloud-native-application-development/
35
Developer productivity
Repositories Build
IDEs
Dev Mode
APIs Testing
© 2021 IBM Corporation
36
6 reasons why Liberty
Just enough runtime
Low operating cost
Continuous delivery
Zero migration
Kubernetes
optimized
80% disk and 56% memory
saving
4x increased density over
Tomcat & Spring Boot
Zero-effort security fixing & zero
technical debt
100% v2v & fixpack migration
saving
Self-tuned optimal perf,
production-ready, kube-native
Developer experience
Container & kube-native
experience, rapid inner loop
Lightweight, highly-
efficient runtime
CI/CD optimized
operational experience
Simple true-to-
production developer
experience
37
37
Paketo & the Open Liberty
Buildpack
38
Open Liberty
The Paketo Buildpack for Liberty is a Cloud-Native Buildpack that
contributes Open Liberty or WebSphere Liberty for Java EE/Jakarta EE
& MicroProfile support.
GitHub - paketo-buildpacks/liberty: A Cloud Native Buildpack that
provides the Open Liberty runtime
39
Open Liberty
The buildpack will support all available profiles of the most recent versions of the Liberty runtime.
Because the Liberty versioning scheme is not conformant to semantic versioning, a Liberty version like
22.0.0.2 is defined here as 22.0.2, and should be referenced as such!
Profiles
Valid profiles for Open Liberty are:
full
kernel
jakartaee9
javaee8
webProfile9
webProfile8
microProfile5
microProfile4
40
40
Getting started with Paketo
41
Getting started
The first thing I would advise is to look at Paketo and your own
applications using things such as: SBOMs and decide on what
technology to use.
If you are working for a big corporation that decides what technology to
use then creating a SBOM is useful to determine if you need to
purchase extra licences and not incur extra fees due to licence
understandings.
42
42
MicroProfile & Jakarta EE
43
https://microprofile.io
44
What is MicroProfile?
● MicroProfile is an open-source community
specification for building Java microservices
● A community of individuals, organizations, and
vendors collaborating within an open source
(Eclipse) working group to bringAPI optimized for
building microservices to the Java community microprofile.io
© 2021 IBM Corporation
45
MicroProfile
Contributors
© 2021 IBM Corporation
46
© 2021 IBM Corporation
MicroProfile
Vendors/Implementations
47
MicroProfile 5.0 Stack
Reactive
Streams
Operators 2.0
Reactive
Messaging
2.0
GraphQL 1.1
Context
Propagation
1.3
Standalone Projects
LRA 1.0
© 2021 IBM Corporation
https://developer.ibm.com/components/open-liberty/series/what-is-microprofile/
Jakarta EE
JSON-B 2.0
Jakarta EE
JSON-P 2.0
Jakatra EE
CDI 3.0
Config 3.0
Fault
Tolerance 4.0
JWT
Propagation
2.0
Health
4.0
Metrics 4.0
Open Tracing
3.0
Open API 3.0
Jakatra EE
JAX-RS 3.0
Rest Client
3.0
48
What is Jakarta EE?
● Eclipse Jakarta EE is an open-source community
driven specification for cloud-native enterprise
Java
● Jakarta EE is a set of specifications, extending
Java SE for enterprise features for things such as
web services etc
© 2021 IBM Corporation
49
Members
50
Jakarta EE Roadmap
© 2021 IBM Corporation
50
Liberty Zero Migration means your
Java EE 7, 8 & Jakarta EE 8 apps
continue to work and can be moved to
Jarkarta EE 9 on your timescale
Jakarta EE 8 (3Q2019)
• API identical with Java
EE 8
Jakarta EE 9 (4Q2020)
• New API namespace
• API equivalent to Java
SE 8
Jakarta EE 9.1 (2Q2021)
• Java SE 11
WebSphere Liberty &
Open Liberty (3Q2019)
• Jakarta EE 8
Jakarta EE X (TBD)
• New APIs
© 2021 IBM Corporation
51
51
Open Liberty with Paketo
Demo
52
Interactive Demo
If you want to participate in this demo then we have provided an online
environment that will allow you to explore this technology!
To access any of the Open Liberty environments for exploration
reasons then head to our Guides and click the “Run In Cloud” button.
https://openliberty.io/guides/
53
53
Recap
54
Recap
• Polyglot applications can provide many benefits but can be complex.
• Buildpacks can help make this less complex by:
o Advanced Caching
o Auto-detection
o Bill of Materials
o Modular/Pluggable
o Multi Language
o Multi Process
o Minimal App image
o Rebasing
o Reproducibility
o Reusability
• Open Liberty with MicroProfile & Jakarta EE are great Open Source choices for your Java
applications and are a fully supported buildpacks that are maintained by the Open Liberty
development team.
55
Links to research for this talk
• Analyzing Polyglot Microservices. An Exploration for Enterprise | by
Tripta Gupta | Capital One Tech | Medium
• Software Compliance - Are You Compliant? - Hypertec Direct
• Cloud Native Buildpacks · Cloud Native Buildpacks
• Paketo Buildpacks - Paketo Buildpacks
56
56
Links and Materials
MicroProfile
• MicroProfile Starter: https://start.microprofile.io/
• What is MicroProfile?
https://developer.ibm.com/components/open-
liberty/series/what-is-microprofile/
• MicroProfile Homepage:
https://projects.eclipse.org/proposals/eclipse-microprofile
Open Liberty
• Open Liberty Starter: https://openliberty.io/start/
• Open Liberty Site: https://openliberty.io/
• Open Liberty Guides: https://openliberty.io/guides
• Open Liberty Docs: https://openliberty.io/docs
Other Useful Links
• Microshed Homepage: https://microshed.org/
• Testcontainers Homepage: https://www.testcontainers.org/
• Jakarta EE Homepage: https://jakarta.ee/
All Open Source!
© 2021 IBM Corporation
57
Connect with us
https://www.linkedin.com/company/openlibertyio/ https://twitter.com/OpenLibertyIO
58
Thank you!
Name: Jamie L Coleman
Title: Software Developer/Advocate @ IBM
Twitter: @Jamie_Lee_C

Mais conteúdo relacionado

Semelhante a Deploy and Update Jakarta EE & MicroProfile applications with Paketo.pptx

No Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the CloudNo Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the CloudAll Things Open
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of dockerJohn Zaccone
 
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...sparkfabrik
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?LOGINPHP360
 
Docs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API ExperiencesDocs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API ExperiencesAnne Gentle
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDr Ganesh Iyer
 
SwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxSwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxGrace Jansen
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?LOGINPHP360
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...LetsConnect
 
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earthPittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earthGrace Jansen
 
Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10MagaliDavidCruz
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service OverviewKyle Brown
 
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies Daniel Oh
 
1.INTRODUCTION TO JAVA_2022 MB.ppt .
1.INTRODUCTION TO JAVA_2022 MB.ppt      .1.INTRODUCTION TO JAVA_2022 MB.ppt      .
1.INTRODUCTION TO JAVA_2022 MB.ppt .happycocoman
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 

Semelhante a Deploy and Update Jakarta EE & MicroProfile applications with Paketo.pptx (20)

No Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the CloudNo Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the Cloud
 
document
documentdocument
document
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
Android NDK
Android NDKAndroid NDK
Android NDK
 
Docs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API ExperiencesDocs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API Experiences
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
SwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxSwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptx
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
Android ndk
Android ndkAndroid ndk
Android ndk
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
 
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earthPittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
 
Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
 
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
 
1.INTRODUCTION TO JAVA_2022 MB.ppt .
1.INTRODUCTION TO JAVA_2022 MB.ppt      .1.INTRODUCTION TO JAVA_2022 MB.ppt      .
1.INTRODUCTION TO JAVA_2022 MB.ppt .
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 

Mais de Jamie Coleman

Open Source Licence to Kill in Software Development
Open Source Licence to Kill in Software DevelopmentOpen Source Licence to Kill in Software Development
Open Source Licence to Kill in Software DevelopmentJamie Coleman
 
The Secret Life of Maven Central - LJC 2022.pptx
The Secret Life of Maven Central - LJC 2022.pptxThe Secret Life of Maven Central - LJC 2022.pptx
The Secret Life of Maven Central - LJC 2022.pptxJamie Coleman
 
Code to Cloud Workshop, Shifting Security to the Left
Code to Cloud Workshop, Shifting Security to the LeftCode to Cloud Workshop, Shifting Security to the Left
Code to Cloud Workshop, Shifting Security to the LeftJamie Coleman
 
The Death Star & The Ultimate Vulnerability.pptx
The Death Star & The Ultimate Vulnerability.pptxThe Death Star & The Ultimate Vulnerability.pptx
The Death Star & The Ultimate Vulnerability.pptxJamie Coleman
 
Why Building Your Ship (Application) with Raw Materials is a Bad Idea!.pptx
Why Building Your Ship (Application) with Raw Materials is a Bad Idea!.pptxWhy Building Your Ship (Application) with Raw Materials is a Bad Idea!.pptx
Why Building Your Ship (Application) with Raw Materials is a Bad Idea!.pptxJamie Coleman
 
Code to Cloud Workshop.pptx
Code to Cloud Workshop.pptxCode to Cloud Workshop.pptx
Code to Cloud Workshop.pptxJamie Coleman
 
Magic of Automation and Everyday Chores.pptx
Magic of Automation and Everyday Chores.pptxMagic of Automation and Everyday Chores.pptx
Magic of Automation and Everyday Chores.pptxJamie Coleman
 
Code to Cloud Workshop
Code to Cloud WorkshopCode to Cloud Workshop
Code to Cloud WorkshopJamie Coleman
 
Using Static Analysis Tools to Become a Superhero Programmer.pptx
Using Static Analysis Tools to Become a Superhero Programmer.pptxUsing Static Analysis Tools to Become a Superhero Programmer.pptx
Using Static Analysis Tools to Become a Superhero Programmer.pptxJamie Coleman
 
Microservices made easy JavaCro 2021
Microservices made easy JavaCro 2021Microservices made easy JavaCro 2021
Microservices made easy JavaCro 2021Jamie Coleman
 
Replicating production on your laptop using the magic of containers v2
Replicating production on your laptop using the magic of containers v2Replicating production on your laptop using the magic of containers v2
Replicating production on your laptop using the magic of containers v2Jamie Coleman
 
Simple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMSimple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMJamie Coleman
 
Open Source In The World Of Java
Open Source In The World Of JavaOpen Source In The World Of Java
Open Source In The World Of JavaJamie Coleman
 
Replicating production on your laptop using the magic of containers
Replicating production on your laptop using the magic of containersReplicating production on your laptop using the magic of containers
Replicating production on your laptop using the magic of containersJamie Coleman
 
Simple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmSimple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmJamie Coleman
 
Codecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshopCodecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshopJamie Coleman
 
Cloud native java workshop
Cloud native java workshopCloud native java workshop
Cloud native java workshopJamie Coleman
 
Seriously Open Cloud Native Java Microservices
Seriously Open Cloud Native Java MicroservicesSeriously Open Cloud Native Java Microservices
Seriously Open Cloud Native Java MicroservicesJamie Coleman
 
The new java developers kit bag
The new java developers kit bagThe new java developers kit bag
The new java developers kit bagJamie Coleman
 
Hands-on cloud-native Java with MicroProfile, Kubernetes and Istio at Javantura
Hands-on cloud-native Java with MicroProfile, Kubernetes and Istio at JavanturaHands-on cloud-native Java with MicroProfile, Kubernetes and Istio at Javantura
Hands-on cloud-native Java with MicroProfile, Kubernetes and Istio at JavanturaJamie Coleman
 

Mais de Jamie Coleman (20)

Open Source Licence to Kill in Software Development
Open Source Licence to Kill in Software DevelopmentOpen Source Licence to Kill in Software Development
Open Source Licence to Kill in Software Development
 
The Secret Life of Maven Central - LJC 2022.pptx
The Secret Life of Maven Central - LJC 2022.pptxThe Secret Life of Maven Central - LJC 2022.pptx
The Secret Life of Maven Central - LJC 2022.pptx
 
Code to Cloud Workshop, Shifting Security to the Left
Code to Cloud Workshop, Shifting Security to the LeftCode to Cloud Workshop, Shifting Security to the Left
Code to Cloud Workshop, Shifting Security to the Left
 
The Death Star & The Ultimate Vulnerability.pptx
The Death Star & The Ultimate Vulnerability.pptxThe Death Star & The Ultimate Vulnerability.pptx
The Death Star & The Ultimate Vulnerability.pptx
 
Why Building Your Ship (Application) with Raw Materials is a Bad Idea!.pptx
Why Building Your Ship (Application) with Raw Materials is a Bad Idea!.pptxWhy Building Your Ship (Application) with Raw Materials is a Bad Idea!.pptx
Why Building Your Ship (Application) with Raw Materials is a Bad Idea!.pptx
 
Code to Cloud Workshop.pptx
Code to Cloud Workshop.pptxCode to Cloud Workshop.pptx
Code to Cloud Workshop.pptx
 
Magic of Automation and Everyday Chores.pptx
Magic of Automation and Everyday Chores.pptxMagic of Automation and Everyday Chores.pptx
Magic of Automation and Everyday Chores.pptx
 
Code to Cloud Workshop
Code to Cloud WorkshopCode to Cloud Workshop
Code to Cloud Workshop
 
Using Static Analysis Tools to Become a Superhero Programmer.pptx
Using Static Analysis Tools to Become a Superhero Programmer.pptxUsing Static Analysis Tools to Become a Superhero Programmer.pptx
Using Static Analysis Tools to Become a Superhero Programmer.pptx
 
Microservices made easy JavaCro 2021
Microservices made easy JavaCro 2021Microservices made easy JavaCro 2021
Microservices made easy JavaCro 2021
 
Replicating production on your laptop using the magic of containers v2
Replicating production on your laptop using the magic of containers v2Replicating production on your laptop using the magic of containers v2
Replicating production on your laptop using the magic of containers v2
 
Simple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMSimple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVM
 
Open Source In The World Of Java
Open Source In The World Of JavaOpen Source In The World Of Java
Open Source In The World Of Java
 
Replicating production on your laptop using the magic of containers
Replicating production on your laptop using the magic of containersReplicating production on your laptop using the magic of containers
Replicating production on your laptop using the magic of containers
 
Simple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmSimple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvm
 
Codecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshopCodecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshop
 
Cloud native java workshop
Cloud native java workshopCloud native java workshop
Cloud native java workshop
 
Seriously Open Cloud Native Java Microservices
Seriously Open Cloud Native Java MicroservicesSeriously Open Cloud Native Java Microservices
Seriously Open Cloud Native Java Microservices
 
The new java developers kit bag
The new java developers kit bagThe new java developers kit bag
The new java developers kit bag
 
Hands-on cloud-native Java with MicroProfile, Kubernetes and Istio at Javantura
Hands-on cloud-native Java with MicroProfile, Kubernetes and Istio at JavanturaHands-on cloud-native Java with MicroProfile, Kubernetes and Istio at Javantura
Hands-on cloud-native Java with MicroProfile, Kubernetes and Istio at Javantura
 

Último

Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 

Último (20)

Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 

Deploy and Update Jakarta EE & MicroProfile applications with Paketo.pptx

  • 1. 1 Deploy and Update Jakarta EE & MicroProfile applications @ Lightspeed With Paketo Name: Jamie L Coleman Title: Software Developer/Advocate @ IBM Twitter: @Jamie_Lee_C
  • 3. 3 Contents of this talk • What are Polyglot applications? • Why use different languages? • What is a Buildpack? o Compliance o Security o Control o Maintainability • Introduction to Paketo! o What is Paketo? o How does Paketo work? o Paketo & Java o Open Liberty Buildpack o Getting started with Paketo • Introduction to Open Liberty • MicroProfile & Jakarta EE • Paketo with Open Liberty Demo • Recap • Useful Links
  • 5. 5 Polyglot applications • Application written in multiple languages. • Used to capture additional functionality & efficiency of different languages. • Allow development teams to choose the technology stack they want to use. • If abiding by the rules of the 15 factors for cloud-native development such as API first, then this can be achieved easily depending on the skills of your developers.
  • 6. 6 Saving energy with efficient applications There is over 500,000 data centres worldwide The area of land they consume is around the same as 6,000 football pitches UK energy consumption x 1.5 == global data centre energy consumption (2019).
  • 10. 10 Many metrics must be balanced for Java Performance • Wide variety of use cases means many metrics must be balanced • Different goals  different design decisions • No single “right” answer • Must keep a balance  make sensible trade-offs • Key performance metrics tracked • start-up time • ramp-up time • memory footprint • response time • CPU/Throughput Optimizing for cloud requires a different balance across these performance metrics start-up time footprin ramp-up response time CPU
  • 11. 11 Overview of OpenJ9 Designed from the start to span all the operating systems needed by IBM products This JVM can go from small to large Can handle constrained environments or memory rich ones Is used by the largest enterprises on the planet
  • 13. 13 Research on greenest languages https://medium.com/codex/what-are-the-greenest- programming-languages-e738774b1957
  • 14. 14 Save time, money & energy! Advantages • Increase Engineer creativity • Speed up time to market • Draw from a big pool of talent • More efficient applications Disadvantages • Scaling Issues • Complexity!
  • 16. 16 Buildpacks • Transform application source code into OCI images • Conceived by Heroku (Creators of the 12 factor applications) in 2011 • Created by Pivotal and Heroku in 2018
  • 17. 17 Buildpacks • Advanced Caching o Robust caching is used to improve performance • Auto-detection o Images can be built directly from source without additional instructions • Bill of Materials o Insights into the contents of the app through standard SBOMs • Modular/Pluggable o Multiple buildpacks can be used to create an image • Multi Language o Supports multiple programming language stacks
  • 18. 18 Buildpacks • Multi Process o Images can have multiple entry • Minimal App image o Image contains only what is required • Rebasing o Instant updates on base images without re-building • Reproducibility o Reproduces the same app image digest with a rebuild • Reusability o Leverage pre-built buildpacks maintained by a large community
  • 19. 19 Compliance Ensuring your software licences are being used correctly Top causes of software non-compliance 1. Complexity of software licences 2. Inadvertent misuse 3. Lack of software asset management procedures and tools 4. Lack of education 5. Intentional misuse
  • 20. 20 Stacks & Buildpacks Ensuring your stacks are updated and secure Buildpacks/Paketo use the notion of a stack A stack is composed of two images that are intended to work together: 1. The build image of a stack provides the base image from which the build environment is constructed. 2. The run image of a stack provides the base image from which application images are built.
  • 21. 21 Security & Hardening features • By using Ubuntu 18.04 and 22.04 as the base images for the stacks, you benefit from all of the security provided by Canonical and Ubuntu. • Automatic monitoring and patching of CVEs means that our stacks are often updated within hours of Canonical’s patches. • The stack images are run as a dedicated non-root user when building and running applications. • Each stack image has detailed metadata describing the image’s components, such as the base operating system and packages. • Each stack has separate images for building and running applications. The packages on the runtime image are curated to exclude compilers and other tools that might pose security risks. • The build and run images have different user IDs. This means that sensitive files and dependencies installed at build-time cannot be corrupted at run-time by malicious app code.
  • 22. 22 Control With buildpacks, you have full control over the OSes, languages, and package management your teams can use. This allows you to connect to a private maven repository and use dependency management software such as Sonatype’s Nexus product. They also provide you with a bill of materials through standard build times SBOMs in different formats that can be used to see insights in your applications image.
  • 23. 23 Maintainability Having good maintainability helps your organisation save money and energy in the long run. Buildpacks offer certain features that can help with maintainability: 1. Auto-detection of source code changes 2. Using multiple buildpacks to create an application images 3. Image contains only what is required 4. Instant updates of base images without re-building 5. Reuse buildpacks maintained by a large community.
  • 26. 26 What is Paketo? • Paketo transforms your application source code into container images • Paketo is Open source and provides production ready buildpacks for the most popular languages and frameworks such as: o PHP, Java, Node.js, Go, .NET Core, Ruby, NGINX & • Allows you to easily build applications and keep them updated
  • 27. 27 How does Paketo work? Just bring your app and Paketo Buildpacks will detect what language your app is using, gather the required dependencies, and build it into an image. The build tool detects your file structure and decides what build tool to use or you can manually select the tool you want such as: • Gradle • Maven • Leiningen • SBT
  • 28. 28 How does Paketo work? Installing a Specific JVM Version The following environment variable configures the JVM version at build-time: BP_JVM_VERSION • Defaults to the latest 11.x version at the time of release. • Configures a specific JDK or JRE version. Use an Alternative JVM • By default, the Paketo Java buildpack will use the Liberica JVM but you are able to use the JVM of your choice: • Adoptium Paketo Adoptium Buildpack • Alibaba Dragonwell(opens in a new tab) 2 Paketo Alibaba Dragonwell Buildpack • Amazon Corretto(opens in a new tab) 2 Paketo Amazon Corretto Buildpack • Azul Zulu(opens in a new tab) Paketo Azul Zulu Buildpack • BellSoft Liberica(opens in a new tab) Paketo BellSoft Liberica Buildpack - Default • Eclipse OpenJ9(opens in a new tab) Paketo Eclipse OpenJ9 Buildpack • GraalVM(opens in a new tab) 2 Paketo GraalVM Buildpack • Oracle JDK(opens in a new tab) 2 3 Paketo Oracle Buildpack • Microsoft OpenJDK(opens in a new tab) 2 Paketo Microsoft OpenJDK Buildpack
  • 29. 29 How does Paketo work? Paketo can use an alternatives Java Application Servesr from the default! When deploying your Java application to an application runtime, the default application server installed by the Paketo Java buildpack is Apache Tomcat. If you require a different application runtime, possibly one that supports JavaEE or JakartaEE, you may select an alternative Java application server by setting BP_JAVA_APP_SERVER when building your application such as: samples/war -e BP_JAVA_APP_SERVER=liberty
  • 31. 31 Open Liberty © 2021 IBM Corporation
  • 32. 32 Open Liberty 5th Birthday! © 2021 IBM Corporation
  • 33. 33 Focus on code Easy to make fast and iterative changes Easy to write tests True-to-production testing (as much as possible) Ready for containers Not-in-your-way tools and flexibility © 2021 IBM Corporation Open Liberty Project Goals
  • 34. 34 Developer Experience: dev mode • Boosts developer productivity • Immediate feedback for code and config changes • No re-build necessary mvn liberty:dev © 2021 IBM Corporation https://developer.ibm.com/tutorials/achieve-rapid-iterative-cloud-native-application-development/
  • 35. 35 Developer productivity Repositories Build IDEs Dev Mode APIs Testing © 2021 IBM Corporation
  • 36. 36 6 reasons why Liberty Just enough runtime Low operating cost Continuous delivery Zero migration Kubernetes optimized 80% disk and 56% memory saving 4x increased density over Tomcat & Spring Boot Zero-effort security fixing & zero technical debt 100% v2v & fixpack migration saving Self-tuned optimal perf, production-ready, kube-native Developer experience Container & kube-native experience, rapid inner loop Lightweight, highly- efficient runtime CI/CD optimized operational experience Simple true-to- production developer experience
  • 37. 37 37 Paketo & the Open Liberty Buildpack
  • 38. 38 Open Liberty The Paketo Buildpack for Liberty is a Cloud-Native Buildpack that contributes Open Liberty or WebSphere Liberty for Java EE/Jakarta EE & MicroProfile support. GitHub - paketo-buildpacks/liberty: A Cloud Native Buildpack that provides the Open Liberty runtime
  • 39. 39 Open Liberty The buildpack will support all available profiles of the most recent versions of the Liberty runtime. Because the Liberty versioning scheme is not conformant to semantic versioning, a Liberty version like 22.0.0.2 is defined here as 22.0.2, and should be referenced as such! Profiles Valid profiles for Open Liberty are: full kernel jakartaee9 javaee8 webProfile9 webProfile8 microProfile5 microProfile4
  • 41. 41 Getting started The first thing I would advise is to look at Paketo and your own applications using things such as: SBOMs and decide on what technology to use. If you are working for a big corporation that decides what technology to use then creating a SBOM is useful to determine if you need to purchase extra licences and not incur extra fees due to licence understandings.
  • 44. 44 What is MicroProfile? ● MicroProfile is an open-source community specification for building Java microservices ● A community of individuals, organizations, and vendors collaborating within an open source (Eclipse) working group to bringAPI optimized for building microservices to the Java community microprofile.io © 2021 IBM Corporation
  • 46. 46 © 2021 IBM Corporation MicroProfile Vendors/Implementations
  • 47. 47 MicroProfile 5.0 Stack Reactive Streams Operators 2.0 Reactive Messaging 2.0 GraphQL 1.1 Context Propagation 1.3 Standalone Projects LRA 1.0 © 2021 IBM Corporation https://developer.ibm.com/components/open-liberty/series/what-is-microprofile/ Jakarta EE JSON-B 2.0 Jakarta EE JSON-P 2.0 Jakatra EE CDI 3.0 Config 3.0 Fault Tolerance 4.0 JWT Propagation 2.0 Health 4.0 Metrics 4.0 Open Tracing 3.0 Open API 3.0 Jakatra EE JAX-RS 3.0 Rest Client 3.0
  • 48. 48 What is Jakarta EE? ● Eclipse Jakarta EE is an open-source community driven specification for cloud-native enterprise Java ● Jakarta EE is a set of specifications, extending Java SE for enterprise features for things such as web services etc © 2021 IBM Corporation
  • 50. 50 Jakarta EE Roadmap © 2021 IBM Corporation 50 Liberty Zero Migration means your Java EE 7, 8 & Jakarta EE 8 apps continue to work and can be moved to Jarkarta EE 9 on your timescale Jakarta EE 8 (3Q2019) • API identical with Java EE 8 Jakarta EE 9 (4Q2020) • New API namespace • API equivalent to Java SE 8 Jakarta EE 9.1 (2Q2021) • Java SE 11 WebSphere Liberty & Open Liberty (3Q2019) • Jakarta EE 8 Jakarta EE X (TBD) • New APIs © 2021 IBM Corporation
  • 51. 51 51 Open Liberty with Paketo Demo
  • 52. 52 Interactive Demo If you want to participate in this demo then we have provided an online environment that will allow you to explore this technology! To access any of the Open Liberty environments for exploration reasons then head to our Guides and click the “Run In Cloud” button. https://openliberty.io/guides/
  • 54. 54 Recap • Polyglot applications can provide many benefits but can be complex. • Buildpacks can help make this less complex by: o Advanced Caching o Auto-detection o Bill of Materials o Modular/Pluggable o Multi Language o Multi Process o Minimal App image o Rebasing o Reproducibility o Reusability • Open Liberty with MicroProfile & Jakarta EE are great Open Source choices for your Java applications and are a fully supported buildpacks that are maintained by the Open Liberty development team.
  • 55. 55 Links to research for this talk • Analyzing Polyglot Microservices. An Exploration for Enterprise | by Tripta Gupta | Capital One Tech | Medium • Software Compliance - Are You Compliant? - Hypertec Direct • Cloud Native Buildpacks · Cloud Native Buildpacks • Paketo Buildpacks - Paketo Buildpacks
  • 56. 56 56 Links and Materials MicroProfile • MicroProfile Starter: https://start.microprofile.io/ • What is MicroProfile? https://developer.ibm.com/components/open- liberty/series/what-is-microprofile/ • MicroProfile Homepage: https://projects.eclipse.org/proposals/eclipse-microprofile Open Liberty • Open Liberty Starter: https://openliberty.io/start/ • Open Liberty Site: https://openliberty.io/ • Open Liberty Guides: https://openliberty.io/guides • Open Liberty Docs: https://openliberty.io/docs Other Useful Links • Microshed Homepage: https://microshed.org/ • Testcontainers Homepage: https://www.testcontainers.org/ • Jakarta EE Homepage: https://jakarta.ee/ All Open Source! © 2021 IBM Corporation
  • 58. 58 Thank you! Name: Jamie L Coleman Title: Software Developer/Advocate @ IBM Twitter: @Jamie_Lee_C

Notas do Editor

  1. Talk about current team using other languages to scrape data from Social media
  2. .
  3. Jamie
  4. Jamie
  5. Jamie Provide the APIs and runtime capabilities that help with creating large numbers of collaborating services Basically having something where you aren't required to do some steps before shutdown - that shooting a container won't leave you in a bad situation Meaning if you just kill it, you don’t leave stuff hanging around. The ‘weight’ of your cloud-native application should be proportional to what the application does/uses. You don’t want to be bringing along 0.5GB of runtime to serve up a simple servlet. https://12factor.net/dev-prod-parity Make the time gap small: a developer may write code and have it deployed hours or even just minutes later. Make the personnel gap small: developers who wrote code are closely involved in deploying it and watching its behavior in production. Make the tools gap small: keep development and production as similar as possible. https://12factor.net/config Resource handles to the database, Memcached, and other backing services Credentials to external services such as Amazon S3 or Twitter Per-deploy values such as the canonical hostname for the deploy Dev env where testing is done is the same as production. Using the same OS, Runtime, etc. Docker. Immutable build… to make sure code doesn’t have to change. Single build form the Dockerfile – don’t re-build. Explicitly listing version in Dockerfiles Availability of Docker images, single independent process, etc…
  6. Jamie
  7. Jamie
  8. Grace
  9. Grace
  10. Grace
  11. Grace
  12. Grace