About the Components of Oracle WebLogic Server for OCI

Learn about the Oracle Cloud Infrastructure components that comprise Oracle WebLogic Server for OCI.

Oracle WebLogic Server

An Oracle WebLogic Server domain consists of one administration server and one or more managed servers to host your Java application deployments.

Oracle WebLogic Server for OCI supports these Oracle WebLogic Server editions:

  • Oracle WebLogic Server Standard Edition
  • Oracle WebLogic Server Enterprise Edition
    • Includes all features and benefits of Oracle WebLogic Server Standard Edition
    • Includes clustering for high availability and scalability of Java resources and applications
    • Includes Oracle Java SE Advanced (Java Mission Control and Java Flight Recorder) for diagnosing problems in development and production
  • Oracle WebLogic Suite
    • Includes all features and benefits of Oracle WebLogic Server Enterprise Edition
    • Includes Oracle Coherence for increased performance and scalability
    • Includes Active Gridlink for RAC for advanced database connectivity

Oracle WebLogic Server for OCI does not provision a cluster in domains running WebLogic Server Standard Edition.

Oracle Cloud Infrastructure OS Management service is enabled on Oracle WebLogic Server for OCI instance. See Getting Started with OS Management.

Oracle WebLogic Server for OCI supports Oracle WebLogic Server 12.2.1.4.0 and 14.1.1.0.0 releases. See About Oracle WebLogic Server for OCI for specific version information.

Oracle WebLogic Server for OCI can create these domain configurations:

  • A basic domain that does not require a database .
  • A domain that includes the Java Required Files (JRF) components and also requires a database (Oracle WebLogic 12c only).

JRF Domain

The Java Required Files (JRF) option must be selected if your applications were developed with Oracle Application Development Framework (ADF) or use Oracle Web Services Manager (WSM) to access and secure REST and SOAP endpoints.

For more information about ADF, see Faster and Simpler Java-based Application Development. For more information about WSM, see the documentation for Oracle Web Services Manager.

Note:

These Fusion Middleware components are considered part of Oracle JRF: Oracle Application Development Framework, Oracle Fusion Middleware Audit Framework, Fabric Common, Infrastructure Security, Java Object Cache, JMX Framework, JPS, MDS, OJSP.Next, Oracle Web Services, Oracle Web Services Manager, Oracle TopLink, UCP, and XDK.

Marketplace

Oracle WebLogic Server for OCI is accessed as a collection of applications in the Oracle Cloud Infrastructure Marketplace.

Oracle Cloud Infrastructure Marketplace is an online store that's available in the Oracle Cloud Infrastructure console. When you launch an Oracle WebLogic Server for OCI application from Marketplace, it prompts you for some basic information, and then directs you to Resource Manager to complete the configuration of your Oracle WebLogic Server domain and supporting cloud resources.

Choose an Oracle WebLogic Server for OCI application that meets your functional and licensing requirements.

See Overview of Marketplace in the Oracle Cloud Infrastructure documentation.

Resource Manager

Oracle WebLogic Server for OCI uses Resource Manager in Oracle Cloud Infrastructure to provision the cloud instances and networks that support your Oracle WebLogic Server domain.

Resource Manager is an Oracle Cloud Infrastructure service that uses Terraform to provision, update, and destroy a collection of related cloud resources as a single unit called a stack. Resource Manager supports most resource types in Oracle Cloud Infrastructure, but a stack in Oracle WebLogic Server for OCI is comprised of these components:

  • A compute instance running the administration server and the first managed server
  • A compute instance for each additional managed server in the domain
  • A bastion compute instance that provides administrative access to a domain on a private subnet
  • A virtual cloud network (VCN), including subnets, route tables, and network security groups or security lists (optional)
  • A load balancer (optional)

See Overview of Resource Manager in the Oracle Cloud Infrastructure documentation.

Compute

The servers that make up an Oracle WebLogic Server domain run on one or more Oracle Cloud Infrastructure Compute instances.

Oracle WebLogic Server for OCI creates Oracle Linux compute instances, and automatically installs the Oracle WebLogic Server software and creates the domain configuration on these instances.

Note:

The Oracle Linux version of the compute instances is 8.7.

You select the Oracle WebLogic Server edition and version you want to provision. If you plan to run Oracle WebLogic Server Standard Edition and require more than 4 nodes, then create a domain that runs Oracle WebLogic Server 12c Standard Edition. For all other editions and versions, the maximum is 8 nodes, which can be scaled out to 30 when you edit the domain.

You assign a shape to a domain, which determines the number of CPUs and the amount of memory allocated to each compute instance in the domain. If you create a domain in a private subnet, you can assign a different shape to the bastion compute instance. Oracle Cloud Infrastructure offers a variety of bare metal (BM) and virtual machine (VM) shapes. However, Oracle WebLogic Server for OCI only supports the following shapes:
  • Standard: VM.Standard2.x, VM.Standard.E2.x, BM.Standard2.x, BM.Standard.E2.x, BM.Standard3.64
  • Flexible: VM.Standard.E3.Flex, VM.Standard.E4.Flex, VM.Standard3.Flex
  • Optimized: BM.Optimized3, VM.Optimized3.Flex

Attention:

Some shapes might not be available in all regions.

You also assign a secure shell (SSH) public key to the compute instances for a domain. You can access and administer the operating system on the compute instances by using an SSH client and the matching private key.

All of the compute instances for a domain are created in a single availability domain (AD). An availability domain represents a data center within an Oracle Cloud Infrastructure region. Each availability domain contains three fault domains. Oracle WebLogic Server for OCI automatically distributes the compute instances across these availability domains for high availability. If a single AD is available, the VMs are spread across fault domains.

Note:

In a regional subnet, if you use shapes with service limits that are set for an availability domain, then for high availability the fault domains are used.

See Overview of the Compute Service and Regions and Availability Domains in the Oracle Cloud Infrastructure documentation.

Each Oracle WebLogic Server for OCI compute instance is comprised of three volumes:

  • Boot volume - This volume contains the Linux operating system. To restore a boot volume backup, you must create a new compute instance.

    Note:

    Restoring from a boot volume is not recommended. It must be performed only as a last option.
  • Block volume (Domain volume) - This volume has the contents of the /u01/data folder, including the domain configuration.
  • Block volume (Middleware volume) - This volume has the contents of the /u01/app folder. The Middleware volume is introduced in instances created after release 20.3.3 (September 29, 2020).

See Overview of Block Volume Backups in the Oracle Cloud Infrastructure documentation.

Virtual Cloud Network

Oracle WebLogic Server for OCI assigns compute instances and load balancers to specific subnets in a virtual cloud network (VCN).

A VCN in Oracle Cloud Infrastructure covers a single, contiguous CIDR block of your choice. A subnet is a subdivision of a VCN that consists of a contiguous range of IP addresses that do not overlap with other subnets in the VCN. A VCN includes one or more subnets, route tables, gateways, DHCP options, and network security groups or security lists.

Oracle WebLogic Server for OCI can automatically create a VCN and subnets for a new Oracle WebLogic Server domain, or you can create your own VCN and subnets before creating a domain. By default subnets span an entire region in Oracle Cloud Infrastructure.

By default subnets are public. Any compute instances assigned to a private subnet can not be directly accessed from outside of Oracle Cloud. To enable the administration of compute instances in a private subnet, Oracle WebLogic Server for OCI can create a separate public subnet and bastion compute instance. Oracle WebLogic Server for OCI can also create a service gateway in a VCN so that compute instances can access other cloud services like Key Management and Oracle Autonomous Database, without using the public Internet.

If you already have an existing bastion to provide public access to the compute instances, or if you already have a VPN connection to your on-premise network, then you can delete the bastion instance created by Oracle WebLogic Server for OCI.

Note:

Configuring a bastion is optional.

If you do not configure a bastion, no status is returned for provisioning. You must check the status of provisioning by connecting to each compute instance and confirm that the /u01/provStartMarker file exists with details found in the file /u01/logs/provisioning.log file. See Configure a Bastion.

See Overview of Networking in the Oracle Cloud Infrastructure documentation.

Load Balancer

Oracle Cloud Infrastructure Load Balancing routes requests it receives from clients to the managed servers in your Oracle WebLogic Server domain.

When you create a domain, Oracle WebLogic Server for OCI can automatically create a load balancer in Oracle Cloud Infrastructure and configure it to distribute traffic across the servers in your domain. Using a load balancer is recommended if your cluster size is greater than one.

By default, the load balancer is public. You can also provision a public load balancer with a reserved public IP. If you create a domain in a private subnet, then you can provision a public or private load balancer.

A private load balancer does not have a public IP address and cannot be accessed from outside of Oracle Cloud, unless you have configured a virtual private network (VPN) between your VCN and your on-premise data center.

A load balancer consists of primary and standby instances but it is accessible from a single public IP address. If the primary instance fails, traffic is automatically routed to the standby instance.

If your region includes multiple availability domains (AD), the load balancer supports two networking options:

  • Assign the load balancer to one regional subnet
  • Assign the load balancer to two AD-specific subnets

Session persistence is a method to direct all requests originating from a single logical client to a single backend server. By default, session persistence is enabled on the load balancer with the Enable Load balancer cookie persistence option, but you can update the load balancer after creating a domain.

See these topics in the Oracle Cloud Infrastructure documentation:

Database

To create an Oracle WebLogic Server domain that includes the Java Required Files (JRF) components, you must provide an existing database in Oracle Cloud Infrastructure.

Note:

  • You cannot create an Oracle WebLogic Server domain that includes the Java Required Files (JRF) components for Oracle WebLogic Server 14.1.1.0 as this version does not support JRF.
  • Oracle Application Express (APEX) is not supported.

Choose one of these database options:

  • Oracle Autonomous Database
    • Both dedicated and shared infrastructure autonomous database options are supported.
    • See Overview of the Autonomous Database in the Oracle Cloud Infrastructure documentation.

    Note:

    From 22.1.2 release (February 24, 2022) onwards, Free-Tier autonomous database is supported.
  • Oracle Cloud Infrastructure Database
    • Bare metal, virtual machine (VM), and Exadata DB systems are supported.
    • For a 1-node VM DB system, you can use the fast provisioning option to create the database. Oracle WebLogic Server for OCI supports using Logical Volume Manager as the storage management software for a 1-node VM DB system.
    • For Oracle WebLogic Server 12c, you can also specify a database connection string. This database connection string can be used only with existing VCN. To know the database connection string details, see Database Connect String for Database Version and Type in Configure Database Parameters and VCN Peering.
    • See Overview of the Database Service in the Oracle Cloud Infrastructure documentation.
Oracle WebLogic Server for OCI supports the same database versions and drivers as those for on-premise WebLogic Server installations. Refer to the following excel files (xls) at Oracle Fusion Middleware Supported System Configurations:
  • System Requirements and Supported Platforms for Oracle WebLogic Server 14c (14.1.1.0.0)
  • System Requirements and Supported Platforms for Oracle Fusion Middleware 12c (12.2.1.4.0)

Note:

From release 21.4.3 (December 9, 2021) onwards, you cannot provision a domain in Oracle Oracle WebLogic Server for OCI for Oracle WebLogic server versions 11g (10.3.6.0) and 12c (12.2.1.3) from the Marketplace.

When you create a domain and associate it with an existing database, Oracle WebLogic Server for OCI does the following:

  • Provisions the schemas to support the JRF components in the selected database
  • Provisions data sources in the domain that provide connectivity to the selected database
  • Deploys the JRF components and libraries to the domain
If you use an Oracle Cloud Infrastructure Database, the type of data sources that are created in the domain depend on the WebLogic Server edition and the number of database nodes.
  • GridLink data sources for Oracle WebLogic Suite and a 2-node RAC DB system
  • Multi data sources for Oracle WebLogic Server Enterprise Edition and a 2-node RAC DB system
  • Generic data sources for all other configurations

See Understanding JDBC Resources in WebLogic Server in Administering JDBC Data Sources for Oracle WebLogic Server.

Note:

If you use database connection string, then Oracle WebLogic Server for OCI creates a single instance datasource. However, you can update the data source for Oracle WebLogic Suite with Active GridLink data source and data source for Oracle WebLogic Server Enterprise Edition with multi data source. See Configuring Active GridLink Connection Pool Features and Configuring JDBC Multi Data Sources.

If you use a private subnet for WebLogic Server and Oracle Autonomous Database, Oracle WebLogic Server for OCI uses a service gateway in the VCN to access the database. The service gateway provides network access to cloud service without using the public Internet. See Access to Oracle Services: Service Gateway in the Oracle Cloud Infrastructure documentation.

If your database is on a different VCN than the VCN you want to use for WebLogic Server, then Oracle WebLogic Server for OCI creates a connection between the two VCNs so that they are able to communicate.

This configuration is called local VCN peering and is illustrated by the following diagram.

The VCN peering is scoped to the subnet level as shown in the diagram. That is, the routes added to the WebLogic Server subnet forwards traffic to the database subnet only, and the routes added to the database subnet forwards traffic to the WebLogic Server subnet only. By adding default private view of the database VCN to the DNS resolver of the WebLogic Server VCN, all hosts in the database VCN are resolvable by the WebLogic Server VM.

The following diagram uses network security groups (NSGs) for the resources: load balancer, bastion, WebLogic Admin Server, and WebLogic Manager Server. However, instead of NSGs, you can configure security lists for these resources, if you use an existing network.

Figure 1-2 Local VCN Peering


Local Peering Gateway Topology
The VCN peering for Oracle Cloud Infrastructure Database and Oracle Autonomous Database in Oracle WebLogic Server for OCI is as follows:

Note:

In case of Autonomous Database, the database must use a private endpoint for VCN peering.
  • If you choose to create a virtual cloud network, Oracle WebLogic Server for OCI creates a Local Peering Gateway.
  • If you use existing VCN and new subnets for an Oracle WebLogic Server domain, Oracle WebLogic Server for OCI creates a Local Peering Gateway, if your database VCN is on a different VCN than the WebLogic Server VCN.
  • If you use an existing VCN and existing subnet, you must peer the VCNs manually before creating the stack if your database VCN is on a different VCN than the WebLogic Server VCN.
  • If you use Oracle Cloud Infrastructure Database with connection string, you must peer the VCNs manually before creating the stack, if your database VCN is on a different VCN than the WebLogic Server VCN.

    To peer the VCNs manually, see Manual VCN Peering.

If you want multiple JRF-enabled domains to use the same database, then you can use local VCN peering. For this case, you must create the local peering gateway for each domain and modify the route table., and ensure that the CIDRs of the VCNs in the WebLogic subnet of the different stacks do not overlap.

To support VCN peering, you must perform the following prerequisite tasks before creating a stack:
  • Create an local peering Gateway (LPG) in the database VCN.
  • Add a route to the current route table of the database subnet, to direct traffic to the CIDR of the WebLogic subnet to the LPG.
  • Open the database port to the WebLogic subnet CIDR.
  • If you use an existing VCN and existing subnet, or existing VCN and new subnets, you must add the default private view of the database VCN to the DNS resolver of the existing VCN. See Add a DNS view to the DNS Resolver.

Local VCN peering cannot be used to connect WebLogic Server to an Oracle Cloud Infrastructure Database in a different region. See Local VCN Peering in the Oracle Cloud Infrastructure documentation.

Vault

Oracle Cloud Infrastructure Vault (formerly known as Key Management) enables you to manage sensitive information using vaults, keys, and secrets when creating an Oracle WebLogic Server domain.

A vault is a container for encryption keys and secrets. A standard vault is hosted on a hardware security module (HSM) partition with multiple tenants, and uses a more cost-efficient, key-based metric for billing purposes. A virtual private vault provides greater isolation and performance by allocating a dedicated partition on an HSM.

Secrets store credentials such as required passwords for a new domain. You use an encryption key in a vault to encrypt and import secret contents to the vault. Secret contents are based64-encoded. Oracle WebLogic Server for OCI uses the same key to retrieve and decrypt secrets when creating the domain.

Parameters for a new domain include:

  • The secret for the password for the default Oracle WebLogic Server administrator
  • The secret for the administrator password for an existing database, if you are creating a domain that includes the Java Required Files (JRF) components
  • The secret for the client secret for an existing confidential application, if you are creating a domain that uses Oracle Identity Cloud Service for authentication

By default, Oracle WebLogic Server for OCI creates a dynamic group and root policy to allow compute instances to access your keys and secrets.

See:

Identity

Oracle Identity Cloud Service provides Oracle Cloud administrators with a central security platform to manage the relationships that users have with your applications.

By default, the Oracle WebLogic Server domain is configured to use the local WebLogic Server identity store to maintain administrators, application users, groups, and roles. These security elements are used to authenticate users, and to also authorize access to your applications and to tools like the WebLogic Server Administration Console.

Oracle WebLogic Server for OCI can configure a domain running WebLogic Server 12c to use Oracle Identity Cloud Service for authentication. The following diagram illustrates this configuration.

Description of architecture_idcs_diagram.png follows
Description of the illustration architecture_idcs_diagram.png

This configuration is supported only for Oracle Cloud accounts that include Oracle Identity Cloud Service 19.2.1 or later.

Oracle WebLogic Server for OCI configures an App Gateway in Oracle Identity Cloud Service. It also provisions each compute instance in the domain with the App Gateway software appliance. The App Gateway acts as a reverse proxy, intercepts HTTP requests to the domain, and ensures that the users are authenticated with Oracle Identity Cloud Service.

Oracle WebLogic Server for OCI creates two security applications in Oracle Identity Cloud Service to support the domain. A confidential application allows the domain to securely access the identity provider using the OAuth protocol. An enterprise application defines the URLs that are protected by the App Gateway.

If you enable integration with Oracle Identity Cloud Service for a domain, then you must also enable a load balancer for the domain.

See About Oracle Identity Cloud Service Concepts in Administering Oracle Identity Cloud Service.

Logging

Oracle WebLogic Server for OCI uses the Logging Service to view the server logs such as errors or warnings in the Oracle Cloud Infrastructure console.

The logging resources, Custom Logs, Log Groups, and Unified Agent Configuration, are created during stack provisioning. See Logging Concepts in the Oracle Cloud Infrastructure documentation.

Application Performance Monitoring

Application Performance Monitoring service monitors the performance of administration and managed servers in Oracle WebLogic Server for OCI domain and displays the server metrics in the Application Performance Monitoring dashboard. It also helps to understand workloads and alerts the user for any issues in the logs.

See About Application Performance Monitoring in the Oracle Cloud Infrastructure documentation.

Application Performance Monitoring Dashboard

You can use the Oracle-defined Application Performance Monitoring (APM) dashboard for Oracle WebLogic Server for OCI to view the WebLogic metrics that are exported using APM Java Agent. This Oracle-defined Application Performance Monitoring (APM) dashboard is called WebLogic Domains.

You must access the Dashboards page to view the WebLogic Domains dashboard. To access the dashboard, see Access Dasboards.

On the Dashboards page, when you click WebLogic Domains, you can view the dashboard and the following filter options:

  • Compartment - The compartment where the APM domain resides.
  • APM Domain - The APM domain where your metrics is located.
  • WebLogic Domain - The name of the WebLogic domain for which you can view the metrics. This option lists all the domains of the selected APM domain. The servers that belongs to the selected WebLogic domain are displayed in the WebLogic Server filter.

    Note:

    By default, Oracle WebLogic Server for OCI supports only one domain. However, you can create additional domains.
  • WebLogic Server - The name of the server for which you can view the metrics. This option lists only the servers that belong to the selected WebLogic domain. But, if All servers option is selected, the widgets shows metrics for all the servers.

The WebLogic Domains dashboard page includes default widgets that can be used to monitor metrics such as CPU load, heap percentage, and stuck threads.

But, if you want to add widgets to the WebLogic Domains dashboard, you must first create a custom dashboard by creating a copy of the WebLogic Domains dashboard, and then add widgets to your newly created custom dashboard. See Customize an Oracle-defined Dashboard.

The following table lists the widgets that are available by default in the WebLogic Domains dashboard.

Table 1-1 Widgets Displayed by Default in the WebLogic Domains Dashboard

Widget Name Description Type

WebLogic CPU load (System and Process)

Displays the process and system CPU load (one line per metric) for the selected server. If multiple servers are selected, the widget displays the mean of each metric of all selected servers.

Line chart, aggregated

WebLogic Free Heap percentage

Displays the free heap percentage for the selected server. If multiple servers are selected, the widget displays the mean of the load of all selected servers.

Line chart, aggregated

WebLogic Free Heap percentage (by Server)

Displays the free heap percentage for the selected server. If multiple servers are selected, the widget displays one line for each selected server.

Line chart, grouped by server

WebLogic Process CPU load (by Server)

Displays the process CPU for the selected server. If multiple servers are selected, the widget displays one line for each selected server.

Line chart, grouped by server

WebLogic Stuck threads (by Server)

Displays the stuck threads for the selected server. If multiple servers are selected, the widget displays one line for each selected server.

Line chart, grouped by server

WebLogic Queue Length (by Server)

Displays the queue length for the selected server. If multiple servers are selected, the widget displays one line for each selected server.

Line chart, grouped by server

The following table lists the widgets that you can add to your newly created custom dashboard.

Table 1-2 Widgets for Your Custom Dashboard

Widget Name Description Type

WebLogic GC Young Time (by Server)

Displays the garbage collection time for the young generation for the selected server. If multiple servers are selected, the widget displays one line for each selected server.

Line chart, grouped by server

WebLogic GC Old Time (by Server)

Displays the garbage collection time for the old generation for the selected server. If multiple servers are selected, the widget displays one line for each selected server.

Line chart, grouped by server

WebLogic Servers

Displays a table with the following information for the selected servers:

  • Heap Free Percentage Average
  • Last WebLogic Server State
  • Process CPU Load Average
  • System CPU Load Average

Table

WebLogic Execute Thread Total Count (by Server)

Displays the WeblogicThreadPoolExecuteThreadTotalCount for the selected server. If multiple servers are selected, the widget displays one line for each selected server

Line chart, grouped by server

WebLogic Heap Committed (by Server)

Displays the amount of heap memory committed for the selected server. If multiple servers are selected, the widget displays one line for each selected server.

Line chart, grouped by server

WebLogic Heap Used (by Server)

Displays the amount of heap memory used for the selected server. If multiple servers are selected, the widget displays one line for each selected server.

Line chart, grouped by server

WebLogic Threadpool

Displays the number of stuck threads, execute thread total count and queue length (one line per metric) for the selected server. If multiple servers are selected, the widget displays the mean of each metric for all selected servers.

Line chart, aggregated

WebLogic GC Time

Displays the garbage collection total time for young and old generation (one line per metric) for the selected server. If multiple servers are selected, the widget displays the mean of each metric for all selected servers.

Line chart, aggregated

WebLogic GC Count

Displays the garbage collection total count for young and old generation (one line per metric) for the selected server. If multiple servers are selected, the widget displays the mean of each metric for all selected servers.

Line chart, aggregated

WebLogic Heap Usage

Displays the amount of heap used memory and heap committed memory (one line per metric) for the selected server. If multiple servers are selected, the widget displays the mean of each metric for all selected servers.

Line chart, aggregated

WebLogic Non Heap Usage

Displays the amount of non-heap used memory and non-heap committed memory (one line per metric) for the selected server. If multiple servers are selected, the widget displays the mean of each metric for all selected servers

Line chart, aggregated

WebLogic Last Known Status

Displays the last known status of the selected server (e.g. Running, admin).

SingleValue

WebLogic Open Sockets

Displays the last known value of open sockets of the selected server.

SingleValue

WebLogic Active Threads

Displays the last known value for active threads of the selected server, based on the formula: "( WeblogicThreadPoolExecuteThreadTotalCountLast.value - (WeblogicThreadPoolStandbyCountLast.value + WeblogicThreadPoolExecuteThreadIdleCountLast.value + WeblogicThreadPoolStuckCountLast.value))"

SingleValue

Autoscaling

Oracle WebLogic Server for OCI uses autoscaling to automatically manage the size and lifecycle state of your WebLogic compute instances.

Before you enable autoscaling:

  • You must create an Application Performance Monitoring domain or use an existing APM domain. See Create an APM Domain in the Oracle Cloud Infrastructure documentation.

    Note:

    Application Performance Monitoring always free domain is not supported for autoscaling.
  • Create a new auth token for a user with access to Oracle Cloud Infrastructure Registry, or use an existing auth token. See Managing User Credentials in the Oracle Cloud Infrastructure documentation.
  • Create policies for an Oracle Cloud Infrastructure user who is not an administrator. See Dynamic Group Policies for Autoscaling.

The following diagram illustrates the network configuration for autoscaling in Oracle WebLogic Server for OCI deployment.

Figure 1-3 Network Configuration


Network Configuration in Autoscaling

During stack creation for a domain, Oracle WebLogic Server for OCI allows you to configure metric-based autoscaling based on WebLogic Monitoring metrics.

Note:

You can configure autoscaling for Oracle WebLogic Server Enterprise Edition and Oracle WebLogic Suite only.

The following diagram illustrates Scale Out flow in Oracle WebLogic Server for OCI deployment.

Figure 1-4 Scale Out Flow


Scale Out Flow in Autoscaling

The following diagram illustrates Scale In flow in Oracle WebLogic Server for OCI deployment.

Figure 1-5 Scale In Flow


Scale In Flow in Autoscaling

The resources created for autoscaling are:

  • Application Performance Monitoring Agent - Application Performance Monitoring agent is used to collect WebLogic monitoring metrics and enables probes for tracing.
  • WebLogic Monitoring metrics - WebLogic Monitoring metrics are collected by the Application Performance Monitoring Agent.
  • Alarms Definition - Alarms Definitions are rules defined for metric-based autoscaling. They include the alarm query that evaluates the alarm using Monitoring Query Language (MQL) expression and the notification destination to send messages when the alarm is in the firing state, in addition to other alarm properties. See Managing Alarms in the Oracle Cloud Infrastructure documentation.

    The following Alarm Definitions are created during provisioning:

    • Scale Out Alarm Definition
    • Scale In Alarm Definition

    If the OCI Policies check box is selected during provisioning, alarms are enabled.

    If the OCI Policies check box is not selected during provisioning, alarms are disabled. You must create dynamic group and policies, and then enable alarms from the Oracle Cloud Infrastructure console post provisioning.

    To create dynamic group and policies, see Dynamic Group Policies for Autoscaling and to enable alarms, see To enable an alarm in Oracle Cloud Infrastructure documentation.

  • Notification topic - A topic is a communication channel for sending messages to its subscriptions. See Creating a Topic and Creating a Subscription in the Oracle Cloud Infrastructure documentation.

    The following notification topics are created during provisioning:

    • Scale Out Topic
    • Scale In Topic
    • Email Topic
  • Notification subscriptions - The following notification subscriptions are created during provisioning:
    • Scale Out Function Subscription for Scale Out Topic
    • Scale In Function Subscription for Scale In Topic
    • Email Subscription for Email Topic

    See Managing Topics and Managing Subscriptions in the Oracle Cloud Infrastructure documentation.

  • Function Application - Function Application is logical group of related functions, under which Scale In Function, Scale Out Function, and Resource Manager Job Completion Handler Function are grouped. See Overview of Functions in the Oracle Cloud Infrastructure documentation.
  • Oracle Cloud Infrastructure Registry (OCIR) - OCIR is created using Terraform in root compartment and stores the docker image of the Functions. See Overview of Container Registry in the Oracle Cloud Infrastructure documentation.

    The following repositories are created during provisioning:

    • <service_prefix_name>_autoscaling_function_repo/scaleout
    • <service_prefix_name>_autoscaling_function_repo/scalein
    • <service_prefix_name>_autoscaling_function_repo/orm_job_completion_handler
  • Functions - Functions trigger scale in and scale out operations when an alarm event is created upon reaching a threshold for the monitored metrics. See Overview of Functions in the Oracle Cloud Infrastructure documentation.

    The following functions are created during provisioning:

    • Scale Out Function
    • Scale In Function
    • Resource Manager Job Completion Handler Function
  • Event Rule - The Event Rule defines event matching rule for Resource Manager Job Create - End event in the stack compartment. See Overview of Events in the Oracle Cloud Infrastructure documentation.
  • Log Group and Logs - The log group contains one or more logs. The log resources created during provisioning are:
    • Function Application Log - This contains logs from all functions within the function application.
    • Event Rule Invoke Log - This contain logs for Resource Manager Job Completion event rule invocations.

    See Logging Overview in the Oracle Cloud Infrastructure documentation.

In Oracle WebLogic Server for OCI, you can apply metric-based autoscaling to WebLogic server instances. You can select a performance metric and set thresholds that this performance metric must reach to trigger an autoscaling event. The performance metrics in metric-based autoscaling are:

  • CPU Load - The current CPU load of the JVM process.
  • Used Heap Percent - The percentage of JVM heap that is used.
  • Queue Length - The number of pending requests in the priority queue.
  • Stuck Threads - The number of stuck threads in the thread pool.

See Metrics in the Oracle Cloud Infrastructure documentation.

After you select a performance metric and define the alarm minimum and maximum thresholds for the selected metric, two alarm definitions are triggered, Scale Out Alarm Definition and Scale In Alarm Definition, and a notification is sent to the Scale Out Topic or the Scale In Topic. Then, the Scale Out Function or the Scale In Function is invoked (based on the topic that receives the notification), and this function scales out or scales in the instances. Messages are sent out as emails to the notification address when the instance is scaled out or scaled in, and also after the scaling is complete with the job status.

See Notifications in the Oracle Cloud Infrastructure documentation.

The limitations with Autoscaling are:

  • Autoscaling is not supported with Terraform CLI-based Oracle WebLogic Server for OCI provisioning.
  • Autoscaling is not supported for cloning in this release.
  • Autoscaling can be selected during provisioning only and cannot be enabled or disabled on reapply.
  • Autoscaling is disabled if you select Do Not Update Domain Configuration for Scale Out during provisioning as for autoscaling, the domain update must be performed during provisioning.
  • Autoscaling does not work as expected if bastion is not configured when WebLogic instances are in private subnet.

    For example, during provisioning, if you configure the bastion and you opt to manually update the domain configuration by not selecting Do Not Update Domain Configuration for Scale Out, even if the domain update fails, scale out stack apply job succeeds as it does not detect the domain update failure. So the stacks are available for autoscaling, and successive alarms trigger a scale out and thus end up scaling out to maximum node count of 30 nodes.