Oracle WebLogic 12c New Multitenancy features

MichelSchildmeijer 2,047 views 73 slides Jun 29, 2017
Slide 1
Slide 1 of 73
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73

About This Presentation

My presentation held at the Tech17 conference of the NLOUG 15 june 2017


Slide Content

/ Oracle WebLogic 12.2 New
| Multi Tenancy Features

By Michel Schildmeijer, 6 | OF

Agenda /Topics
+ Update & Roadmap
« Microcontainers / Partitions
+ Multitenancy features
+ Continuous availability
+ JVM resource Isolation

WebLogic 12.2 Update & Roadmap 12cR1
(12.1.3)

+ WebLogic Server and Coherence 12c,now with FMW
12c

« Oracle Database 12c Integration

+ Java EE 6 with important Java EE 7 APIs

+ Java SE 7 and Java SE 8

Developer focus - Maven,Hudson,

Developer Cloud Service

Available in Cloud

WebLogic 12.2 Update & Roadmap 12cR2

WebLogic Multitenancy (12.2.1)
WebLogic Continuous Availability

Coherence Persistence and Federated Caching
Java EE 7

Automated Elasticity

REST Management

Java SE 8

+ 3

WebLogic 12.2 Update

+ Complete CAF(Cloud Application Foundation) Multitenancy:
+ JCS and FMW

+ Continuous Availability Enhancements

+ Cloud Optimizations

+ Compatibility/Usability

+ Security

WebLogic Key updates

« Improved high density deployment features
« Improved availability
+ Ready for DevOps

WebLogic Server Continuous Availability: Multi Data
Center
Active-Active Continuous Availability

Global LB

na pa

BE ==

QUALOGY

WebLogic Server Continuous Availability:

Multi Data Center

Automated DataCenter Setup/Failover

Le Transacton —>

<— Federated —>
Caching

<— storage —

<— Active —>
DataGuard

QUALOGY

Replicate State for Multi-Datacenter Deployments

Cross-Domain Transaction Recovery Multi-Datacenter Federated Caching

Cache Coherence across sites and clusters
Transaction Replication for Automated Recovery

Active/Active

WLS Domain

Managed

Hub & Spoke Active/Passive

Reduce Application Downtime

Zero Downtime Patching
Continuous Updates with:

co Automated patch rollout

o Rollback on error

Settings for rose
[Configuration | Monitoring | Control || Security | Web Service Sscurty [ZO LC | ‘Notes |

[ General | JTA | Concurrency | JPA) EJES | Web Applications | Log Domain
[Pater À

Workflow Task ki Rollout Type ‘Status of Last Action

There are no tems to deplay

Patch

Application Downtime

‘Te pgs paye ae man omiso wee tl

Zero Downtime Patching er pores
Continuous Updates with: art ES
co Automated patch rollout er success

an Reseme: seo

o Rollback on error

Fo Completed Commands: 2

0 Total Commande: »
Progress sting Worn EDO ried veces 29 tp compa
Net Execete Step (vous spect)

et vet Step: (bo vane sp,

egin Time wiersaxeanest

End Tae: roms mest

Application Downtime

Recoverable Persistent Caching
Storage of cached data and metadata with automated
recovery

Multitenant Live Partition Migration
Migrate Running Tenant Partitions

WebLogic Multitenant Partition
Portability

Live Migration

e Move running partitions and resource
groups from one cluster to another
without impacting application users.

e Eliminate application unplanned
downtime

e Current scope:

« Resource group

Cluster 1 Cluster 2

Partition 1 [ rtition 1

u Clusters within a domain
a Webapps
a Requires OTD

1
1
1
1
i
1
L

Support for Site Failover

Oracle Traffic Director
Fast, scalable, SW LBR

WebLogic

Coherence

Oracle Site Guard

End-to-end Disaster Recovery automation.

Primary Standby
EM Cloud
Control

bLe

es

:

BE +» 8
“pan >

Developer focus
e Java EE 7 API Support
« Quick Installer
a Approximately 200 MB
a Replaces zip distribution for developers

a Single command install via OUI - no GUI
a Patchable via OPatch --
e Deployment performance improvements
a Mainly because of parallel deployment b
+ Oracle Enterprise Pack for Eclipse La
o Net Installer included in WLS installations Drs como

e NetBeans and JDeveloper/ADF support

QUALOGY

Developer focus

e Fastswap deployments
a Re initiate classes at runtime
a Only in development mode

nn rerpnise Em |

QUALOGY

Automated Elasticity for Dynamic Clusters

+ Administration APIs for Dynamic Clusters
+ Start/stop a specified number of servers
+ Expand/shrink the size of the cluster

+ Manage server lifecycle FAN
e Simple/automated scale up/down or tune SmartRules
e Rules-based decisions based on capacity, Monitor Action
demand or schedule Scale-Out)

WLDf Watches, Notifications changed to
Policies, Actions
+ Policies: SmartRules, Calendar-based
policies
+ Actions: scaleUp, scaleDown, REST, script
Peak Loads, Adding Partitions, Batch
Processing, Rebalancing

Cluster Scale-Out mms)

QUALOGY

WebLogic REST Management API

+ REST API for managing WebLogic
+ Flexbible for DevOps
+ Operational needs
+ Covers all of WebLogic management

+ Configure, Start/Stop, Deploy,
Monitor

« Flexible
+ HTTP, no WebLogic client jars
+ Generated from WebLogic MBeans

WebApp WebApp
A

WebLogic Domain

QUALOGY

Other Improved features

+ Deployment Performance Enhancements
o Application class loading in parallel.

a Indexing of class finder data

a Deployment caching helping large deployments process
faster.

a Scanning caching for libraries and applications, for faster
server restart and deployment time.

Other Improved features

+ JDBC Data Sources
a Simplified Driver Installation/Update
o Proxy Data Source Support
a Connection Leak Profiling Enhancements
o JDBC Object Closed Usage—Collect profile information about application
components that close a connection, statement, or result set.

a Local Transaction Connection Leak—Collect profile info about application
leaks;no commit or rollback the transaction

o Support for Encrypted Passwords in a Data Source Definition

Other Improved features

e JTA/JDBC
a Transaction logs in the database (JDBC Tlogs)
o No transaction TLog writes (No TLOG)
a Logging Last Resource (LLR) transaction optimization

e Messaging for Multitenancy

o JMS Modules, JMS Resources, Path Service, Stores

a Integration solutions, including the Messaging Bridge, JMS pools,
and Foreign JMS Servers.

a Store-and-Forward (SAF) agents, including JMS SAF.

o AQ JMS using Foreign JMS Servers.

a Easier JMS Cluster Configuration and High Availability
Enhancements

Other Improved features

o Automatic Service Migration: Automatically restart a
failed JMS instance on a different WebLogic Server
instance.

o Restart-In-Place: Automatically restart a failed JMS
instance on its running WebLogic Server instance.

o Cluster Targeted SAF Agents, Bridges, and Path
Services

o Fail-back: Return an instance to its original host
server when the host server restarts.

Other Improved features

Dynamic Clustered WebLogic JMS Configuration

o JMS Clustering EEE
a

aos ec
Sta teres
DS Relationship Key
ESA
‘target>siAclusterediMsserver</>| Tarpetsto —>
Retna >

/ Oracle WebLogic Multitenancy
details

©

QUALOGY

Multitenancy — what is it?

e Is the opposite of multi instance
e One software instance for multiple tenants

e Sharing software infrastructure and resources

Multitenancy - Why?

e Breakdown monoliths into manageable apps containers
e Sharing but also isolation
e Can be cost effective - sharing resources

e In the cloud Multitenancy where security and Isolation is important

Multitenancy - Considerations

e Strong security
e Strong performance

e Strong monitoring

WebLogic Multitenant Use case
Pluggable Partition as a Deployment Unit

Multiple instances Single instance

JVM

PART PART

QUALOGY

WebLogic Multitenant
Not yet supports:

+ Oracle Web Service Manager
+ SOA Suite
« Application Development Framework (ADF)
+ WebCenter

Oracle Service Bus
+ Oracle Enterprise Scheduler

WebLogic SCA

But coming soon....

Base Technical Concepts MT

=>
Virtual Cache 2 e Service
Target
=> ES
Coherence
=>
Virtual a=
Target | id
7 | =
Traffic We | "4 \
lebLogic Server
Director 9

Components: Virtual Target, Partition, Resource Group

- Virtual Target

— Locate and access the partition (virtual
hostnames, URIs, ports)

— Targeted to server/cluster ‘Partition

+ Partition Vresource Group
1

— Runtime/isolation characteristics (Java
isolation/RCM, Work Managers, Security)

— Assigned to virtual target
- Resource group
— Applications and resources managed together
— Created within a partition
— Targeted to virtual target

— Group Java EE applications & resources in a
distinct unit

Partition Targeting - Virtual Target
e Contains addresses, protocol settings,

and targeting so..- how to get to Partition 1
partition and where does it run Virtual Target
a Host name and port: url.nl:8080 + Host:port

* URI
o Optional URI: /myapp + Channel

+ web Server
a Network Access Point/Channel Que

* SSL
a Protocol specific configuration Tage

= Web Server configuration
« T3, IIOP configuration

o Target clusters and managed servers
e Request routing determined by host
name and optional URI

QUALOGY

WebLogic Server

Simple Case Domain Partitions

OTD
Virtual Target Virtual Target DP2
+ Name: VTL + Name: VT2
+ Host:port: + Host: port: ES A 1
+ <url1>-mt.com + <url2>-mt.com vr !
+ Target: + Target: DP DP1 i
+ App_cluster + App_cluster !
VT2 M3 -orz MA
H 1
i 1
1 1
1 1
1 1
1 1
1 1
i 1
1 svri svr3 |;
1
1 1

App_cluster

Common Topology of WebLogic Domain

DOMAIN

CLUSTER 1

CLUSTER 2
CLUSTER 3

Common Topology of WebLogic Domain

One Security
Realm

Administration
Logs

TARGET FOR
Apps, JDBC,
JMS

QUALOGY

Topology of WebLogic Domain Partition

DOMAIN PARTITION

Security Realm
per partition

Administration RESOURCE GROUP GROUPS:
RESOURCE GROUP
2

RESOURCE GROUP
2

QUALOGY

Is targeting missing?

DOMAIN PARTITION

Security Realm
per partition

Administration
Logs

— =p

QUALOGY

Advanced Targetting for Virtual Targets, Partitions,
and Resource Groups

RESOURCE GROUP 1

Available Targets:

Virtual Target 1 CLUSTER 1
Host/port/URI:

www.url.nl/app1
Target: CLUSTER 1 CLUSTER 2

CLUSTER 3

Advanced Targeting for Virtual Targets, Partitions,
and Resource Groups

RESOURCE GROUP 1

Available Targets:

Virtual Target 2 CLUSTER 1
Host/port/URI:

www.url.nl/app2
Target: CLUSTER 2 CLUSTER 2

CLUSTER 3

QUALOGY

Advanced Targeting for Virtual Targets, Partitions,
and Resource Groups

MAIN PARTITION 4

RESOURCE GROUP 1
RESOURCE GROUP 2

Host/port/URI: www.url.nl/app3
Target: CLUSTER 2

Virtual Target 5
Host/port/URI: www. justid.nl/app4
Target: CLUSTER 3

QUALOGY

Fusion Middleware Control

THE console for Multitenancy Management

e Updated to enable
configuration and
management of Domain
Partitions
a Partition monitoring,
troubleshooting

a Interacts with Lifecycle
Manager to propagate
changes to Traffic Director,
etc.

{Tom
e.-
40

®-

Fusion Middleware Control

THE console for Multitenancy Management

+ Updated to enable
configuration of WebLogic ORACLE a e Bm mm =
managed servers and clusters #52. =

+ Updated to enable
configuration and
management of Coherence
Managed Servers

e REST and WLST also available

JT

!

Resource Group Templates

Partition 1 - Appt Override
source Group

Pooper]

App Resource APP1 PDB
Group Template

Appl deploy1

Appl deploy2
IMS

Container Database

APP2 PDB
Mail Session yee

JDBC Resource

WebLogic Server

QUALOGY

Isolation for Partitions
Security/Identity Isolation
« Realm, users per partition

JVM Runtime Isolation
+ More control between JDK and WebLogic
+ Heap, CPU, threads, requests...

Isolation for Partitions

Traffic/Data Isolation
+ Dedicated JNDI, segregated data
+ Dedicated and shared Coherence caches

Administrative Isolation
- Admin roles, lifecycle, troubleshooting

Security Isolation for Domain Partitions

e Per partition configuration
a Per-partition security realm
e Default Roles scoped to partitions
o Admin, operator, deployer, monitor

JVM Isolation -
Resource Consumption Managers

Runtime Isolation Within a JVM
e More integration WebLogic and the JDK

e Prevents resource hogging, protects applications in a shared JVM
e Managed resources

a Retained heap, CPU time, open file descriptors

e This Resource Consumption Management requires:
© Oracle JDK 8u40+ and the

a G1 Garbage Collector.
a JVM arguments to enable :

-XX:UnlockCommercialFeatures -XX:+ResourceManagement -XX: +UseG1GC

QUALOGY

JVM Isolation -
Resource Consumption Managers

Runtime Isolation Within a JVM

+ Open File Descriptors (file-open): Tracks the number of open files.
includes files open through
a FileInputStream, FileOutputstream, RandomAccessFile
a Native IO File channels
e Heap - retained bytes (heap-retained):
o Tracks the amount of Heap retained in use by a Domain Partition

+ CPU Utilization (cpu-utilization): Percentage of CPU time utilized by a
Partition

Policy Model - Triggers and Fair Share, Recourse Actions
Runtime Isolation Within a JVM
e Trigger: threshold of usage of a resource.

a When the consumption of resource crosses a specified threshold, a
specified resource action is performed.

© Best for environments where usage by Domain Partitions are
predictable

e Fair Share: Similar to the “Fair Share Request Class” in
WorkManagers

JVM Isolation - Resource Consumption Managers

Runtime Isolation Within a JVM

e JVM actions
a Notify - inform administrator that a threshold has been crossed
a Slow - reduce partition's ability to consume resources
o Fail - reject requests for the resource (file descriptors only)

a Stop - initiate the shut down sequence for the offending
partition
“Boundaries” and Fair Share usage patterns

Creating a Resource Manager

Add Resource Manager

_—

Dane one policy now. Spec any additonal policies aer his resource manager is
created

Poly Type HeapRetaned >|

Fair Share my Slow and Far Shar cantbo used together.

Triggers

Add it to the partition

ORACLE Enterprise Manager Fusion Middleware Control 126 BE WobLogic Domain + | weblogic ¥ =
= to ar Br
(© Domain Parton » D Startup IH Shut Down Nov 5.2015 100535 pm PST A)
‘Domain base_domainbase_domaintdawensmm > Parton: Mosroc-Dov
Revert

Use this page to specity resource sharing policies for this partion. A Partition Work Manager manages the threads allocated to the partiton and manages
‘scheduling work instances to those threads. A resource consumption manager allows you to partition access to shared JDK resources such as CPU,
Heap, File and Network, monitor their access and entorce comprehensive policies on the consumption ol these resources for this partion.

Partition Work Manager Configuration
Select a Partition Work Manager defined for this domain or specily the following attributes here to prioritize the thread usage of the WLS thread poo!
amongst partitions. This helps set the relative priority of the domain partitions.

© No Partition Work Manager

Es

© Specily he Partition Work Manager settings for his domain partion.

Resource Manager Configuration

Selecta resource manager defined for this domain or create a domain partition specific resource manager and polici
policies will only be effective ifthe underlying JDK version is 8440 or later.

Note thatthe resource manager

TT Lien à domain naniion anneifi ranutan mannanr (A new resource manager will be created.)

Example using Limits

Heap Example JVM

Declared Boundaries
Heap Example JVM

Partition 1 Partition 1 Partition 3 Partition 4 i

Declared Boundaries
Heap Example JVM

Partition 1 | Reaching 1.25 GB
so “notify” action

Heap Exam Crossing 1.5 GB

———= == = | triggers “slow”
action

0.75 GB
0.5 GB 0.5 GB

QUALO

Crossing 2 GB
triggers “stop”

Declarg action
Heap Exa

JVM

{2.0 |
| | Partition 1 Partition 3 Partition 4

QUALO

Declared Boundaries
Heap Example JVM

Fair Star Steady state:

+ partitions with fair share of heap
+ Every partition can get equal if neccesary

Heap Example 9 GB JVM

Partition 1 Partition 2 Partition 3 Partition 4
175 GB 1.75 GB 1.75 GB 1.75 GB

Partition 1 can use as
much as it needs

Fair Share
Heap Example | 9 GB JVM
Partition 1
4.0GB

Partition 2
0.5 GB
Partition | Partition |
3

0.25GB 0.25GB |

When other partitions begin to

; compete for heap, WebLogic
Fair Share slows requests in Partition 1
Heap Example VM
u E A A Pa AAA
Partition 1 Partitio Partitio | Partitio
4.0 GB n2 n3 n4
1.33 1.33 1.33
GB GB GB

Finally, retained heap will
be divided among all
. partitions

Fair Share
Heap Example 9 GB JVM

Partition 1 Partition 2 Partition 3 Partition 4
2.0 GB 2.0 GB 2.0 GB 2.0 GB

If Partition 1 starts to
run away with heap,
Fair Share |it will hit the “stop”

Heap Example _ | trigger 9 GB JVM
l E la I
I Partition 1
¡ 6.51 GB pai fon I
| 0.25 GB
I Partition |
I =
0.25 GB |
I SE =
| 0.5
I
I

QUALOGY

Partition and Resource Group Lifecycle
Independence between “tenants”

° Start/Stop ui Stop a single instance
o Partition Stop a partition of a partition
o Partition on a single Managed y
Server

o Resource group
co Resource group on a single
Managed Server
e Enables refresh for non-
dynamic configuration changes

Microcontainers

e Monoliths broken into small services
e Portability between environments

e Parity between dev and production
e Fast startup/shutdown

e Easy scale up

e Enable migration to the cloud

Microcontainer Portability
Export Import of partitions

« Enables container-like packaging
« Move applications in between
environments
© Dev to test, test to production, etc
« Export E

a Service packaging - Captures partition

Oracle Traffic Director | |, |

Pluggab|¢ Partitjon
configuration, application binaries, etc.

+ Import

© Adapt to host environment: virtual target,

Pluggable Partitipn|
security realm, resource management,

Coherence integration

© Service startup - no need to start dedicated JVM

Domain 1 Domain 2

Domain 3

QUALOGY

Microcontainer Portability
Export Import of partitions
+ OTD Load balancer integration SEEN Director | | y

« Automatic service enablement with
Oracle Traffic Director

« Consistent endpoint, independent
scalability

svci

ETE |

Resources|

Domain 1 Domain 2

Domain 3

QUALOGY

Application Portability
Domain to Partition Conversion Tool - D-PCT

+ Conversion domain partition for existing applications
a Convert applications to services, migration to WebLogic MT
+ Migrate
a Captures relevant domain configuration, such as applications, system resources
+ Import
a import separate applications into separate partitions, create resource group templates
a Adjust to host : virtual target, security realm, resource management
a Load balancer integration(OTD)

Application Portability
Domain to Partition Conversion Tool - D-PCT

+ D-PCT to be downloaded separate

e D-PCT supports 10.3.6, 12.1.1, 12.1.2 and 12.1.3 source domains

e Patch is needed for 12.2.1 to use the import domain partition from this
conversion

Microcontainer Portability Live Migration

+ Move running services (partitions and
resource groups) from one cluster to
another Cluster 1
e Eliminate service downtime for planned Partition 1
events
+ Current possibilities:
a resource group
a clusters/servers within a domain
o Webapps
e Future
a All application types and protocols, including T3,
RMI, JMS, etc.
a Migration across domains

WebLogic Multitenant

Some comments

+ Special option needed for GC - G1 garbage collector + Java8
required
+ Monitoring can detect port (partitions) failures
« Monitoring tools not yet available
+ CPU/IO/Memory is topHeap is target
+ Partition restart not always working
+ Memory accounting for triggers is loose - GC statistics
+ Generally works OK
+ Sometimes partitions failed but JVM still run
+ SUMMARY - JVM stable after 10s of partitions restarts

Any Questions?

Let’s keep in touch!!
The ACE Community

O) [email protected]

— https://community.oracle.com/blogs/mnemonic

https://www.qualogy.com/nl/techblog/author/michel-
BLOG

schildmeijer

QUALOGY

Any Questions?

Let’s keep in touch!!

@MNEMONICO1
@Qualogy_news

nl.linkedin.com/in/mschldmr

QUALOGY