A talk about the innovation of WebLogic Server, held at the Oracle Groundbreakers Tour APAC 2020 https://oracle-groundbreakers-apac-virtual-tour-2020.heysummit.com/speakers/michel-schildmeijer/
why an Opensea Clone Script might be your perfect match.pdf
WebLogic and GraalVM
1. A presentation by Michel Schildmeijer,
30 October 2o2o
A new era for application servers:
WebLogic and GraalVM
2. • From Amsterdam, the Netherlands
• Lead Technologist at Qualogy
• Oracle ACE since 2012
• Authored 2 books about WebLogic in 2011
• IT Career started with UNIX in 1994
• Former BEA technology in 2000
• Focus on containerization strategies,
DevOps etc.
Me
3. Topics
• Short flashback WebLogic
• WebLogic:
• Containerized(OKE / Verrazzano)
• Cloud neutral
• Jakarta EE and GraalVM
• WebLogic and GraalVM Integration
4. Short Flashback WebLogic
• WebLogic 1.48 – 1995 (founders developed also the 1st JDBC Drivers)
• Ground base Caffe Roma – Caffe WebLogic in San Francisco
• DBKona
• JDBC drivers for interacting with databases
• HTMLKona
• Classes to create servlets
• T3Kona
• 1st Server release begin 1996
6. Short Flashback WebLogic
• In 1998 BEA Acquired WebLogic
• In 2008 oracle Acquired BEA (10.3)
• WebLogic Server 11gR3 (10.3.4) --> 01-2011
• End 2012 WebLogic 12
• End 2019 WebLogic 14
7. Oracle WebLogic Foundation
Cloud Application Foundation for Java applications
WebLogic Server
Java EE: Reliability, Availability, Scalability & Performance
Coherence EE
Data Grid Scale Out for Java, C++, .NET
Java Virtual Machines
Oracle and OpenSource JVM’s
DevelopmentTools
Jdeveloper/Eclipse
EnterpriseManager
AdminandOperations
WebLogic Suite
Custom App
Packaged
App
Fusion
Middleware
9. Future of WebLogic
• 1st Focus of Oracle will be Cloud
• Focus on containers and orchestration
• Domain partitions are deprecated
• All Cloud versions will be released for on premise
• Current on premise version: 14.1.1 and ongoing
10. WebLogic Cloud –
Container Engine for
Kubernetes (OKE)
WebLogic Cloud – Virtual
Machines (VM)
WebLogic Cloud Options – no Java Cloud Service
11. OKEVM
Non-JRF 12.2.1.3
Provisioning Marketplace Operator and Marketplace
Universal Credit Model Yes (planned) Yes (planned)
BYOL model Yes (available today) Yes (planned)
Coherence (WLS Suite) Installed Yes
WLS versions
JRF 12.2.1.3/11.1.1.7
Non-JRF 12.2.1.3
JRF 12.2.1.3
ETA Available today (BYOL) Q1CY2020
WebLogic Cloud options
12. WebLogic Cloud Neutral
• Containerized workloads
• Monitoring and tracing tools
• Service mesh
• Security
• Open source
13. WebLogic Cloud Neutral
• CNCF Certified
• WebLogic Server is certified & supported for production use
• Container runtimes:
• Docker & cri-o
• Orchestration
• Kubernetes
• Service Mesh:
• Certification for Istio is ongoing
Future:
• Smaller footprint for WebLogic Server
• Coherence is supported in Kubernetes with operator
• Java & Jakarta EE 8 support WebLogic and Coherence 14.1.1
• Verrazano
14. WebLogic Multi Cloud
• Run on Azure:
• IaaS on VMs – Azure Virtual Machines
• Single Node
• Only WLS install
• Admin Server
• Single VM, started domain & AdminServer.
• Cluster
• n-node highly available cluster of WLS VMs
• Dynamic Cluster
15. WebLogic Multi Cloud
AdminServer Managed Servers
Cluster
Azure Region
Database
Azure App Gateway
AdminServer Managed Servers
Cluster
Azure Region
Database
Azure App Gateway
Replication
Azure Traffic Manager
16. WebLogic Multi Cloud
• Run on Azure Kubernetes Service:
• Azure Managed Kubernetes
• Like OKE
18. Verrazzano
• From Coffee(Java) to Italian wine ?
• Enterprise Grade Open Source Container platform
• Kubernetes Open Source EE?
19. Verrazzano
• Project from based on:
• Containers (Docker)
• Orchestration (Kubernetes)
• Kubernetes Management(Rancher)
• Identity & Access Management(Keycloak)
• Service Routing (Istio)
• Logging and tracing(ELK, Jaeger)
20. Hybrid Application and Environment Management
Open Operating Systems
Cloud Native Environment
Public Cloud Private Cloud Hybrid Cloud
Operators
Verrazzano base
21. Hybrid Application and Environment Management
Open Operating Systems
Cloud Native Environment
Java Microservices Polyglot microservicesTraditional Applications
Public Cloud Private Cloud Hybrid Cloud
Operators
Verrazzano integration
24. WebLogic Kubernetes Operator
Kubernetes Cluster
pod
pod pod pod pod
K8S Node K8S Node
WebLogic Cluster
WLS K8S operator
Orchestrate
manage
kubectl
Manage WLS configured or dynamic
clusters
loadbalance
Expose T3 + Admin Console to Ingress
WLS Logs to Elastic Search
Operational: Start Stop, REST API, WLDF
Install Domain
inputs (yaml)
K8S Job Domain
resource
Create domain K8S resource
25. JakartaEE
• Collaboration with the Eclipse Foundation
• New standard for Enterprise Java, Java EE 8 compatible
• Same Java EE 8 APIs using the javax namespace
• WebLogic Server 14.1.1 supports Jakarta EE 8
• Baseline for evolution of Enterprise Java
• Vendor-neutral, open source community process
26. Helidon – Java path to microservices
• Set of libraries for bringing Java apps to microservices
• Latest MicroProfile standard
• JPA and JTA support
• gRPC & UCP support
• Performance benchmarks
• GraalVM support
• Supported by Oracle
27. • Set of libraries for bringing Java apps to microservices
• Latest MicroProfile standard
• JPA and JTA support
• gRPC & UCP support
• Performance benchmarks
• GraalVM support
• Supported by Oracle
Helidon – Java path to microservices
28. GraalVM
• GraalVM –virtual machine for running polyglot
Applications:
• JavaScript, Python, Ruby, R, Java, Scala...
• The same JVM commands, flags, and options
• High performance
• Fully Java compliant
• Run languages natively in JVM – so no Java implementation
like:
• Jython Python - Graalpython
• JRuby Ruby - Truffleruby
29. GraalVM CE
• Open Source Community JVM
• JVM for Java based languages
• Also Kotlin and Scala
• Also an interpreter for non Java languages:
• Python, NodeJS
• And even lowlevel system languages
• C, C++
30. Java Source code .java
Java bytecodeJRE
RuntimeCompiler
Java Runtime
JDK Compiler
The Traditional Java Virtual Machine
31. • A Java application runs a piece of code
• Code enters the JVM
• It enters several stages:
• Operations
• Data structure
• Transformation ( to bytecode)
Java code
JVM
Operat
ons
Data
Structu
re
Transformati
on
110110
100
JVM Code to machine
32. GraalVM
JAVA VM
Foundation
JVM Compiler InterfaceCompiler Interface
GraalVM Compiler
Truffle Framework
Sulong
JVM Languages
Lightweight Languages
Compiler
Low Level Languages
33. Example Flow GraalVM
C++ code
LLVM Interpreter
Sulong
Truffle
Framework
Truffle Interpreter
Graal Interpreter
Compile & Execute
34. GraalVM EE
• Enterprise implementation of Opensource
• Subscription License
• CPU
• Core factor 0.25
• 6 cores require 2 processor licenses (6x0.25, rounded up)
• Named User Plus
• Certified for WebLogic 14 and included
• Free when running on Oracle Cloud Infrastructure
• Two modes:
• JIT – By WebLogic
• AOT – Standalone ( native image )
35. GraalVM EE Integration
Actions
• Obtain the GraalVM EE software package
• Build a GraalVM EE Docker Image and push it to private
container registry
• Build a WebLogic 14 image using the GraalVM EE Image and
push it to private registry
• Create a WebLogic 14 domain on Kubernetes using the
WebLogic Kubernetes Operator
42. Conclusions / Open Ends
• WebLogic 14 on JDK 11 – not all features
• Some endorsed jars to support EE8 on JDK8
• Not modular, still jars
• No FMW support
• Focus is container/cloud/neutral
• Ongoing evolution of how we do IT
• We need to invest in innovation
• Set a roadmap/path for your IT landscape
• Java Application Servers can talk many languages
• But are Application Servers still relevant…?
Good day to you all, here from the NL. Introduction, talk about the COVID situation
Talk in brief about the topics
We also have developed Open Sourced utilities like the Operator – to help deployment and management of the WebLogic domain and the Kubernetes resources on behalf of the WebLogic domain
Monitoring Exporter – to export the WebLogic runtime metrics that can be consumed by tools like Prometheus and Grafana
Deploy Tooling : to help take WebLogic configuration from on premises and move them to Containers/Kubernetes environments
mprove productivity — Developers that have integrated containers into their development tool chains have seen improvements in productivity. One of the key reasons why is that containers provide pre-made platforms that are easy to spin up and use by developers. Before, just setting up a development environment could take days to complete to write some of the most basic apps. Containers however give the developer tools pre-installed on images that can be used for building and testing applications in an environment that closely mirrors a production environment. Read about how Lyft used containers to standardize their developer’s tools and improve productivity.
Improve operation efficiency — Containers by their nature help improve operational efficiency because they decouple applications from the underlying infrastructures. This means that applications can be patched independently of the infrastructure without disrupting both the applications and the infrastructure. Applications therefore can be patched on a tighter cadence than they historically have because it doesn’t interfere with infrastructure or necessarily involved operations to deploy the applications and patches. Developers can simply patch the application images and automatically redploy them with DevOps tool chains. Cornell University combined containers with DevOps tools to streamline their IT operations and drastically improved efficiency in the organization. ht
Improve time to market — One of the best ways to improve revenue is to improve time to market. The combined effects of containers on developers and improved operation efficiencies means that software ship faster with fewer bugs. This not only improves customer satisfaction, but it also translates into getting new features and new software into the hands of customers before the competition does. A McKinsey study showed how DevOps when combined with containers was able to improve 70% with time to market whenever these two were combined.
Lower TCO — Besides the benefits from efficiency and productivity gains, containers generally have a lower total cost of ownership than their virtual machine counterparts. There’s a number of factors involved here, but it hinges on the fact that containers do not carry with them operating systems and their associated costs (such as licensing) and all of the operation costs of maintaining operating systems. By eliminating this overhead, it can substantially reduce the total cost of ownership for most any application being deployed into a container. more in depth. Docker too has put together a ROI savings estimator calculator that compares VM with containers.
Cloud agnostic, infrastructure agnostic — Most companies these days are not selling software, rather selling SaaS or something to that effect. But for companies wanting to sell software, containers enable software to run on virtually every public cloud offering available and on premise. Azure Container Service, Azure Service Fabric, Azure Web Apps, Azure Container Instances, AWS Elastic Beanstock, AWS EC2 Container Service, and Google Compute all offer options. Likewise, Docker and/or Kubernetes can run on premise and use the exact same container images. For companies looking to be able to run an app anywhere on any cloud, public or private, containers offer a way to do this consistently across all of the platforms.
The case for container adoption is fortunately easy to verify given that there are real world examples and analysis supporting the claims made by the sales pitch. The key endeavor for any organization is to focus in on how containers (or any technology for that matter) can deliver business values to justify the return on investment. In the case of containers, this is often huge given that it can practically improve every part of application lifecycle management.