High density deployments using weblogic multitenancy

31
OGh Oracle Fusion Middleware Experience 2016 Jaap Poot, 16 februari 2016 High density deployments using Weblogic Multitenancy

Transcript of High density deployments using weblogic multitenancy

Page 1: High density deployments using weblogic multitenancy

OGh Oracle Fusion Middleware Experience 2016

Jaap Poot, 16 februari 2016

High density deployments using Weblogic Multitenancy

Page 2: High density deployments using weblogic multitenancy

Jaap Poot

Principal Oracle Consultant

Since feb 2013 @

Fusion Middleware

Exalogic

ODA

OVM

Linux

DBA

2

Introduction

[email protected]

https://nl.linkedin.com/in/jpoot

https://technology.amis.nl/

http://www.fmwadmin.com/

Page 3: High density deployments using weblogic multitenancy

3

Weblogic MultitenancyKey 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

Page 4: High density deployments using weblogic multitenancy

4

Weblogic Multitenancy

Page 5: High density deployments using weblogic multitenancy

5

Weblogic Multitenancy

Consolidation

Page 6: High density deployments using weblogic multitenancy

6

Weblogic MultitenancyConsolidation

• 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

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

Page 7: High density deployments using weblogic multitenancy

Domain

Admin

Server

MS1

MS2

MSxx

App

Domain

Admin

Server

MS1

MS2

MSxx

App

Domain

Admin

Server

MS1

MS2

MSxx

App

7

Weblogic MultitenancyConsolidation

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

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

Page 8: High density deployments using weblogic multitenancy

8

Weblogic Multitenancy

Portability for DevOps

Page 9: High density deployments using weblogic multitenancy

9

Weblogic MultitenancyPortability for DevOps

• Transition apps from Dev to Production environments

• No application changes needed

• Fast startup/shutdown

• Container like packaging

• Load balancer integration

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

Production

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

Dev

Page 10: High density deployments using weblogic multitenancy

10

Weblogic MultitenancyPortability 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])

Page 11: High density deployments using weblogic multitenancy

DomainAdmin

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 MultitenancyPortability for DevOps

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

Export Import

Export Import

Export Import

Test

Acceptance

Production

Change attributes as needed

Page 12: High density deployments using weblogic multitenancy

12

Weblogic MultitenancyPortability for DevOps

DomainAdmin

Server

MS1

MS2

MSxx

Partition

App

Partition

App

Partition

App

On premise

DomainAdmin

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

Page 13: High density deployments using weblogic multitenancy

13

Weblogic Multitenancy

Isolation

Page 14: High density deployments using weblogic multitenancy

14

Weblogic MultitenancyIsolation

• 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

Page 15: High density deployments using weblogic multitenancy

15

Weblogic MultitenancyIsolation

JVM (JDK 8u40+)

Partition 1

App App JMSData

Source

Resource Group JNDI

Partition 2

App App JMSData

Source

Resource Group JNDI

Partition 3

App App JMSData

Source

Resource Group JNDI

Partition 4

App App JMSData

Source

Resource Group JNDI

Page 16: High density deployments using weblogic multitenancy

16

Weblogic Multitenancy

Components

Page 17: High density deployments using weblogic multitenancy

17

Weblogic MultitenancyComponents

Oracle Weblogic ServerOracle

Traffic Director

Oracle

Coherence

Oracle

Database

Partition 1

Virtual

Target 1App App JMS

Data

Source

Partition 1 Pluggable

database 1Resource Group JNDI

Partition 2

Virtual

Target 2App App JMS

Data

Source

Partition 2 Pluggable

database 2Resource Group JNDI

Page 18: High density deployments using weblogic multitenancy

18

Weblogic MultitenancyComponents 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

Page 19: High density deployments using weblogic multitenancy

19

Weblogic MultitenancyComponents 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

Page 20: High density deployments using weblogic multitenancy

20

Resource ConsumptionManagement

• 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

Page 21: High density deployments using weblogic multitenancy

21

Resource ConsumptionManagement – 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

Page 22: High density deployments using weblogic multitenancy

22

Resource ConsumptionManagement - example

Page 23: High density deployments using weblogic multitenancy

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

Page 24: High density deployments using weblogic multitenancy

24

Weblogic MultitenancyLive 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

Page 25: High density deployments using weblogic multitenancy

25

Weblogic MultitenancyLive Migration

Oracle

Traffic Director

Partition 1

Cluster 1

Partition 1

App App JMSData

Source

Resource Group JNDI

Cluster 2

Partition 1

App App JMSData

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

Page 26: High density deployments using weblogic multitenancy

26

Weblogic MultitenancyLicense 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

Page 27: High density deployments using weblogic multitenancy

27

WebLogic MultitenancyLimitations

• WebLogic Multitenancy does not support

– Oracle Web Service Manager

– SOA Suite

– Application Development Framework (ADF)

– WebCenter

– Oracle Service Bus

– Oracle Enterprise Scheduler

– WebLogic SCA

Page 28: High density deployments using weblogic multitenancy

28

Roadmap

Page 29: High density deployments using weblogic multitenancy

29

Weblogic Multitenancy

Demo(If time permits)

Page 30: High density deployments using weblogic multitenancy

30

Questions?

Page 31: High density deployments using weblogic multitenancy

31