OGh Oracle Fusion Middleware Experience 2016
Jaap Poot, 16 februari 2016
High density deployments using
Weblogic Multitenancy
Jaap Poot
Principal Oracle Consultant
Since feb 2013 @
Fusion Middleware
Exalogic
ODA
OVM
Linux
DBA
2
Introduction
jaap.poot@amis.nl
https://nl.linkedin.com/in/jpoot
https://technology.amis.nl/
http://www.fmwadmin.com/
3
Weblogic Multitenancy
Key concepts
• Tenants
• Domain partition
• Resource Groups
• Resource Group Template
• Virtual Targets
• Deployment Scope
Oracle Traffic Director
Virtual Server 1
Managed Server/Cluster
Partition 1
Virtual
Target 1
Resource Group
App
App
JMS
Data
Source
JNDI
Partition 2
Virtual
Target 2
Resource Group
App
App
JMS
Data
Source
JNDI
Container Database
PDB 1 PDB 2
Virtual Server 2
4
Weblogic Multitenancy
5
Weblogic Multitenancy
Consolidation
6
Weblogic Multitenancy
Consolidation
• Move from dedicated domains to Multitenant domains
• Less management of
– Hardware/VM’s
– OS
– JVM
– Domains
• Optimal use of resources
• No increase in response times
(According to Oracle)
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
7
Weblogic Multitenancy
Consolidation
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
App
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
8
Weblogic Multitenancy
Portability for DevOps
9
Weblogic Multitenancy
Portability for DevOps
• Transition apps from Dev to Production environments
• No application changes needed
• Fast startup/shutdown
• Container like packaging
• Load balancer integration
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Production
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Dev
10
Weblogic Multitenancy
Portability for DevOps
• Export and Import Partitions
• Via FMW Control, Console, WLST or REST
• Sample WLST command
– exportPartition(partitionName, expArchPath, [includeAppsNLibs], [keyFile])
– Provide replacement attributes
• <partitionName>-attributes.json in the same directory as Partition Archive file
• Replace partition properties, JDBC, JMS, and other resources in resource groups
– importPartition(archiveFileName, [partitionName], [createNew], [keyFile])
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Dev
• Transition apps from Dev to Production environments
• Without any application change or redeployment
11
Weblogic Multitenancy
Portability for DevOps
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Export Import
Export Import
Export Import
Test
Acceptance
Production
Change attributes as needed
12
Weblogic Multitenancy
Portability for DevOps
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
On premise
Domain
Admin
Server
MS1
MS2
MSxx
Partition
App
Partition
App
Partition
App
Cloud
Export -> Import to the Cloud
As soon as Oracle Java Cloud Service
provides WebLogic 12.2.x
13
Weblogic Multitenancy
Isolation
14
Weblogic Multitenancy
Isolation
• Memory and CPU isolation at the JVM level
– Resource Consumption Management (RCM)
– Oracle JDK 8u40
• Virtual Target per partition for application access
• Dedicated JNDI tree for resource isolation
• Workmanager per partition for thread management
• Security realm per partition possible
• Data can be segregated with PDB’s
– PDB’s are not required!
• Per-partition management
Oracle Traffic Director
Virtual Server 1
Managed Server/Cluster
Partition 1
Virtual
Target 1
Resource Group
App
App
JMS
Data
Source
JNDI
Partition 2
Virtual
Target 2
Resource Group
App
App
JMS
Data
Source
JNDI
Container Database
PDB 1 PDB 2
Virtual Server 2
15
Weblogic Multitenancy
Isolation
JVM (JDK 8u40+)
Partition 1
App App JMS
Data
Source
Resource Group JNDI
Partition 2
App App JMS
Data
Source
Resource Group JNDI
Partition 3
App App JMS
Data
Source
Resource Group JNDI
Partition 4
App App JMS
Data
Source
Resource Group JNDI
16
Weblogic Multitenancy
Components
17
Weblogic Multitenancy
Components
Oracle Weblogic ServerOracle
Traffic Director
Oracle
Coherence
Oracle
Database
Partition 1
Virtual
Target 1
App App JMS
Data
Source
Partition 1 Pluggable
database 1
Resource Group JNDI
Partition 2
Virtual
Target 2
App App JMS
Data
Source
Partition 2 Pluggable
database 2
Resource Group JNDI
18
Weblogic Multitenancy
Components Specified
• Oracle Traffic Director
– Optional
– Provides Load balancing
– Installed in separate or with WebLogic in single domain
– Creating a WebLogic MT Partition automatically creates a OTD Partition
• Virtual Target
– A virtual target can be used by only one partition or domain
– One or more virtual targets per resource group
– A virtual target can be used by many resource groups within a partition
– Route by host name and/or URI prefix and/or port number
• Domain Partition
– Portion of a WebLogic domain
– Dedicated to running application instances and resources
– Can be separately managed
19
Weblogic Multitenancy
Components Specified
• Resource Groups
– Separate group of deployable applications, libraries, jms servers and queues, data
sources
– Can be derived from a Resource Group Template (See below)
– Override resource settings as needed when derived
– Create at Domain or Partition level
• Resource Group Templates
– Provides a collection of deployable resources
– Don’t have targets
– Can be referenced by multiple Resource Groups
20
Resource Consumption
Management
• Resource Consumption Management is introduced in JDK 8u40
– Only with G1 Garbage collector
• Enable Resource Consumption Management
– $DOMAIN_HOME/bin/startWeblogic.sh
– #JAVA_OPTIONS="-XX:+UnlockCommercialFeatures -XX:+ResourceManagement -
XX:+UseG1GC ${SAVE_JAVA_OPTIONS}"
• Supported resources
– FileOpen: The number of open file descriptors in use by a partition
– HeapRetained: The amount of heap (in MB) retained/in use by a partition
– CpuUtilization: The percentage of CPU time utilized by a partition with respect to the
available CPU time of the WebLogic process
21
Resource Consumption
Management – Policy Types
• Triggers
– Notify
• Notify system administrator that a threshold has been reached
– Slow
• Reducing the thread-usage time for the partition
– Fail
• Fails resource consumption requests – Only applicable for Open Files
– Shutdown
• Inititate shutdown of a partition
• Fair Share
– Allocate a percentage of the available resource for the partition
– All resources available when there is no contention
22
Resource Consumption
Management - example
23
Domain to Partition Conversion
Tool – DPCT
• Migrates a WebLogic Server Domain to a Domain Partition
• Supports version 10.3.6, 12.1.2, 12.1.3 or 12.2.1
• Archive containing the resources can be used as input for importPartition
• Create your own overrides file to adjust attributes
• DPCT is available for download from OTN
• Video demonstration by Steve Button
– https://youtu.be/D1vQJrFfz9Q
24
Weblogic Multitenancy
Live Migration
• Part of Continuous availability (separate license required)
• Move running partition Resource Groups
• Eliminates application downtime for planned events
• Targets are automatically transferred by OTD
25
Weblogic Multitenancy
Live Migration
Oracle
Traffic Director
Partition 1
Cluster 1
Partition 1
App App JMS
Data
Source
Resource Group JNDI
Cluster 2
Partition 1
App App JMS
Data
Source
Resource Group JNDI
1. Migrate API is called
2. Partition/Resource Group starts on
new hosts
3. Sessions are replicated to new
hosts
4. New origin server pool added to
OTD configuration
– Old pool used for sticky requests to
old pool only
– New pool used for all new requests
5. Graceful shutdown called on
partition/resource group on original
hosts
6. Virtual Target configuration updated
with new cluster only
26
Weblogic Multitenancy
License information
• Oracle WebLogic Server Enterprise Edition and WebLogic Suite Options
– Oracle WebLogic Server Multitenant includes the following components:
• Oracle Traffic Director
• Oracle WebLogic Server Multitenant Domain Partitions and integrated constructs including Virtual Targets,
Resource Groups, Resource Consumption Managers
• Oracle WebLogic Coherence Grid Edition Option
– Oracle WebLogic Server Continuous Availability includes the following components:
• Oracle Traffic Director
• Oracle WebLogic Server Zero Downtime Patching
• Oracle WebLogic Server Cross Domain XA Transaction Recovery
• Oracle WebLogic Server Domain Partition Live Migration
• Oracle WebLogic Coherence Grid Edition Option
• Oracle Enterprise Manager Site Guard
• Oracle Traffic Director is NOT a separate licensed product!
http://docs.oracle.com/cd/E55108_01/doc.1213/e56762/wlsuite_options.htm#CJAIADEI
27
WebLogic Multitenancy
Limitations
• WebLogic Multitenancy does not support
– Oracle Web Service Manager
– SOA Suite
– Application Development Framework (ADF)
– WebCenter
– Oracle Service Bus
– Oracle Enterprise Scheduler
– WebLogic SCA
28
Roadmap
29
Weblogic Multitenancy
Demo
(If time permits)
30
Questions?
31

High density deployments using weblogic multitenancy

  • 1.
    OGh Oracle FusionMiddleware Experience 2016 Jaap Poot, 16 februari 2016 High density deployments using Weblogic Multitenancy
  • 2.
    Jaap Poot Principal OracleConsultant Since feb 2013 @ Fusion Middleware Exalogic ODA OVM Linux DBA 2 Introduction jaap.poot@amis.nl https://nl.linkedin.com/in/jpoot https://technology.amis.nl/ http://www.fmwadmin.com/
  • 3.
    3 Weblogic Multitenancy Key concepts •Tenants • Domain partition • Resource Groups • Resource Group Template • Virtual Targets • Deployment Scope Oracle Traffic Director Virtual Server 1 Managed Server/Cluster Partition 1 Virtual Target 1 Resource Group App App JMS Data Source JNDI Partition 2 Virtual Target 2 Resource Group App App JMS Data Source JNDI Container Database PDB 1 PDB 2 Virtual Server 2
  • 4.
  • 5.
  • 6.
    6 Weblogic Multitenancy Consolidation • Movefrom dedicated domains to Multitenant domains • Less management of – Hardware/VM’s – OS – JVM – Domains • Optimal use of resources • No increase in response times (According to Oracle) Domain Admin Server MS1 MS2 MSxx App Domain Admin Server MS1 MS2 MSxx App Domain Admin Server MS1 MS2 MSxx App Domain Admin Server MS1 MS2 MSxx Partition App Partition App Partition App
  • 7.
  • 8.
  • 9.
    9 Weblogic Multitenancy Portability forDevOps • Transition apps from Dev to Production environments • No application changes needed • Fast startup/shutdown • Container like packaging • Load balancer integration Domain Admin Server MS1 MS2 MSxx Partition App Partition App Partition App Production Domain Admin Server MS1 MS2 MSxx Partition App Partition App Partition App Dev
  • 10.
    10 Weblogic Multitenancy Portability forDevOps • Export and Import Partitions • Via FMW Control, Console, WLST or REST • Sample WLST command – exportPartition(partitionName, expArchPath, [includeAppsNLibs], [keyFile]) – Provide replacement attributes • <partitionName>-attributes.json in the same directory as Partition Archive file • Replace partition properties, JDBC, JMS, and other resources in resource groups – importPartition(archiveFileName, [partitionName], [createNew], [keyFile])
  • 11.
    Domain Admin Server MS1 MS2 MSxx Partition App Partition App Partition App Dev • Transition appsfrom Dev to Production environments • Without any application change or redeployment 11 Weblogic Multitenancy Portability for DevOps Domain Admin Server MS1 MS2 MSxx Partition App Partition App Partition App Domain Admin Server MS1 MS2 MSxx Partition App Partition App Partition App Domain Admin Server MS1 MS2 MSxx Partition App Partition App Partition App Export Import Export Import Export Import Test Acceptance Production Change attributes as needed
  • 12.
    12 Weblogic Multitenancy Portability forDevOps Domain Admin Server MS1 MS2 MSxx Partition App Partition App Partition App On premise Domain Admin Server MS1 MS2 MSxx Partition App Partition App Partition App Cloud Export -> Import to the Cloud As soon as Oracle Java Cloud Service provides WebLogic 12.2.x
  • 13.
  • 14.
    14 Weblogic Multitenancy Isolation • Memoryand CPU isolation at the JVM level – Resource Consumption Management (RCM) – Oracle JDK 8u40 • Virtual Target per partition for application access • Dedicated JNDI tree for resource isolation • Workmanager per partition for thread management • Security realm per partition possible • Data can be segregated with PDB’s – PDB’s are not required! • Per-partition management Oracle Traffic Director Virtual Server 1 Managed Server/Cluster Partition 1 Virtual Target 1 Resource Group App App JMS Data Source JNDI Partition 2 Virtual Target 2 Resource Group App App JMS Data Source JNDI Container Database PDB 1 PDB 2 Virtual Server 2
  • 15.
    15 Weblogic Multitenancy Isolation JVM (JDK8u40+) Partition 1 App App JMS Data Source Resource Group JNDI Partition 2 App App JMS Data Source Resource Group JNDI Partition 3 App App JMS Data Source Resource Group JNDI Partition 4 App App JMS Data Source Resource Group JNDI
  • 16.
  • 17.
    17 Weblogic Multitenancy Components Oracle WeblogicServerOracle Traffic Director Oracle Coherence Oracle Database Partition 1 Virtual Target 1 App App JMS Data Source Partition 1 Pluggable database 1 Resource Group JNDI Partition 2 Virtual Target 2 App App JMS Data Source Partition 2 Pluggable database 2 Resource Group JNDI
  • 18.
    18 Weblogic Multitenancy Components Specified •Oracle Traffic Director – Optional – Provides Load balancing – Installed in separate or with WebLogic in single domain – Creating a WebLogic MT Partition automatically creates a OTD Partition • Virtual Target – A virtual target can be used by only one partition or domain – One or more virtual targets per resource group – A virtual target can be used by many resource groups within a partition – Route by host name and/or URI prefix and/or port number • Domain Partition – Portion of a WebLogic domain – Dedicated to running application instances and resources – Can be separately managed
  • 19.
    19 Weblogic Multitenancy Components Specified •Resource Groups – Separate group of deployable applications, libraries, jms servers and queues, data sources – Can be derived from a Resource Group Template (See below) – Override resource settings as needed when derived – Create at Domain or Partition level • Resource Group Templates – Provides a collection of deployable resources – Don’t have targets – Can be referenced by multiple Resource Groups
  • 20.
    20 Resource Consumption Management • ResourceConsumption Management is introduced in JDK 8u40 – Only with G1 Garbage collector • Enable Resource Consumption Management – $DOMAIN_HOME/bin/startWeblogic.sh – #JAVA_OPTIONS="-XX:+UnlockCommercialFeatures -XX:+ResourceManagement - XX:+UseG1GC ${SAVE_JAVA_OPTIONS}" • Supported resources – FileOpen: The number of open file descriptors in use by a partition – HeapRetained: The amount of heap (in MB) retained/in use by a partition – CpuUtilization: The percentage of CPU time utilized by a partition with respect to the available CPU time of the WebLogic process
  • 21.
    21 Resource Consumption Management –Policy Types • Triggers – Notify • Notify system administrator that a threshold has been reached – Slow • Reducing the thread-usage time for the partition – Fail • Fails resource consumption requests – Only applicable for Open Files – Shutdown • Inititate shutdown of a partition • Fair Share – Allocate a percentage of the available resource for the partition – All resources available when there is no contention
  • 22.
  • 23.
    23 Domain to PartitionConversion Tool – DPCT • Migrates a WebLogic Server Domain to a Domain Partition • Supports version 10.3.6, 12.1.2, 12.1.3 or 12.2.1 • Archive containing the resources can be used as input for importPartition • Create your own overrides file to adjust attributes • DPCT is available for download from OTN • Video demonstration by Steve Button – https://youtu.be/D1vQJrFfz9Q
  • 24.
    24 Weblogic Multitenancy Live Migration •Part of Continuous availability (separate license required) • Move running partition Resource Groups • Eliminates application downtime for planned events • Targets are automatically transferred by OTD
  • 25.
    25 Weblogic Multitenancy Live Migration Oracle TrafficDirector Partition 1 Cluster 1 Partition 1 App App JMS Data Source Resource Group JNDI Cluster 2 Partition 1 App App JMS Data Source Resource Group JNDI 1. Migrate API is called 2. Partition/Resource Group starts on new hosts 3. Sessions are replicated to new hosts 4. New origin server pool added to OTD configuration – Old pool used for sticky requests to old pool only – New pool used for all new requests 5. Graceful shutdown called on partition/resource group on original hosts 6. Virtual Target configuration updated with new cluster only
  • 26.
    26 Weblogic Multitenancy License information •Oracle WebLogic Server Enterprise Edition and WebLogic Suite Options – Oracle WebLogic Server Multitenant includes the following components: • Oracle Traffic Director • Oracle WebLogic Server Multitenant Domain Partitions and integrated constructs including Virtual Targets, Resource Groups, Resource Consumption Managers • Oracle WebLogic Coherence Grid Edition Option – Oracle WebLogic Server Continuous Availability includes the following components: • Oracle Traffic Director • Oracle WebLogic Server Zero Downtime Patching • Oracle WebLogic Server Cross Domain XA Transaction Recovery • Oracle WebLogic Server Domain Partition Live Migration • Oracle WebLogic Coherence Grid Edition Option • Oracle Enterprise Manager Site Guard • Oracle Traffic Director is NOT a separate licensed product! http://docs.oracle.com/cd/E55108_01/doc.1213/e56762/wlsuite_options.htm#CJAIADEI
  • 27.
    27 WebLogic Multitenancy Limitations • WebLogicMultitenancy does not support – Oracle Web Service Manager – SOA Suite – Application Development Framework (ADF) – WebCenter – Oracle Service Bus – Oracle Enterprise Scheduler – WebLogic SCA
  • 28.
  • 29.
  • 30.
  • 31.

Editor's Notes

  • #8 Use Case Consolidate many domains to fewer resources
  • #12 Use Case Walk Through DTAP without any changes
  • #15 Multiple resource groups possible, in the same partition
  • #16 Use Case Deploy the same application multiple time while keeping them completely separated
  • #18 Total overview
  • #24 https://blogs.oracle.com/WebLogicServer/entry/now_available_domain_to_partition