Deploy Oracle WebLogic Server on Compute Instances

Quickly set up Oracle WebLogic Server for OCI using an image from the Oracle Cloud Marketplace which includes a simple wizard interface to configure and provision your domains along with any supporting cloud resources, such as compute instances, networks, and load balancers.

Architecture

Oracle WebLogic Server for OCI is fully integrated with the underlying infrastructure. This integration makes it easy to provision a WebLogic cluster and provide the required services, such as a load balancer, block volumes, file storage, and the network.



wls-oci-oracle.zip

This architecture has the following components:

  • Fault domains

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain has three fault domains with independent power and hardware. When you distribute resources across multiple fault domains, your applications can tolerate physical server failure, system maintenance, and power failures inside a fault domain.

  • Virtual cloud network (VCN) and subnets

    A VCN is a software-defined network that you set up in the Oracle Cloud Infrastructure data centers in a particular region. VCNs can be segmented into subnets. Subnets can be specific to a region or availability domain. Both region-specific and availability domain-specific subnets can coexist in the same VCN. Subnets can be public or private.

  • Load balancer

    The Oracle Cloud Infrastructure Load Balancing service provides automated traffic distribution from one entry point to multiple servers reachable from the VCN. When you create a WebLogic Server domain, WebLogic Server for Oracle Cloud Infrastructure can automatically create a load balancer and configure it to distribute traffic across the servers in your domain. If the cluster has more than one managed server, we recommend using a load balancer.

  • Key management

    Oracle Cloud Infrastructure Key Management enables you to manage sensitive information when creating a WebLogic Server domain. A vault is a container for encryption keys. You encrypt the required passwords for a new domain using a key, and then WebLogic Server for Oracle Cloud Infrastructure uses the same key to decrypt the passwords when creating the domain.

  • Database system

    To create a WebLogic Server domain with JRF support, you provide an existing database in Oracle Cloud Infrastructure. This reference architecture uses a DB system. Non-JRF domains don’t require a database.

  • WebLogic domain

    A WebLogic domain is a group of related applications and resources and the configuration information necessary to run them. A domain includes one or more managed servers, which can be clustered, nonclustered, or a combination of clustered and nonclustered. A domain can include multiple clusters, but only one is provisioned by default with the WebLogic Server Enterprise Edition.

  • WebLogic cluster

    A cluster is part of a particular WebLogic domain. A cluster consists of multiple managed servers running simultaneously and working together to provide increased scalability and reliability. To clients, a WebLogic cluster appears to be a single WebLogic Server instance. The server instances in a cluster can run on the same machine or be on different machines. Each server instance in a cluster must run the same version of WebLogic Server.

Recommendations

Use the following recommendations as a starting point. Your requirements might differ.

  • VCN

    When you create a VCN, determine the number of CIDR blocks required and the size of each block based on the number of resources that you plan to attach to subnets in the VCN. Use CIDR blocks that are within the standard private IP address space.

    After you create a VCN, you can change, add, and remove its CIDR blocks.

    When you design the subnets, consider your traffic flow and security requirements. Attach all the resources within a specific tier or role to the same subnet, which can serve as a security boundary.

    Use regional subnets.

  • Load balancer

    The WebLogic servers (admin, managed servers, or clustered managed servers) created by the Marketplace deployment are not exposed outside the subnet, unless a public subnet is selected. To expose the managed servers under a single endpoint, this architecture uses a public load balancer on the Load Balancing service. A public load balancer has a public IP address accessible from the internet. During provisioning, select the load balancer bandwidth that you want, up to 8000 Mbps.

  • File storage

    By default, the Marketplace deployment attaches a block storage device on each virtual machine (VM) to store WebLogic Server domain configurations. For more seamless sharing of domain configuration, you can mount a shared storage, based on the File Storage service, or shared block storage on the VMs. To use shared storage, it should be mounted before the domain is created. Because the Marketplace deployment deploys a domain by default, you need to attach shared storage and create a new domain manually.

  • Compute

    Oracle Cloud Infrastructure offers various bare metal and virtual machine (VM) shapes. However, WebLogic supports only the VM.Standard2.x, VM.Standard.E2.x, BM.Standard2.x, and BM.Standard.E2.x shapes. Some shapes might not be available in all regions.

  • Database

    WebLogic supports the database running in bare metal, VM, and Exadata DB systems. For a one-node VM DB system, you can’t use the fast provisioning option to create the database. WebLogic Server for Oracle Cloud Infrastructure doesn’t yet support using Logical Volume Manager as the storage management software for a one-node VM DB system.

Considerations

Consider the following points when deploying this reference architecture.

  • Private subnet for WebLogic servers

    The architecture diagram shows WebLogic servers in a public subnet for simplicity. The best practice is to place WebLogic servers in private subnets. The Marketplace image offers the option to provision the WebLogic servers in a private subnet, in which case an additional Bastion host is deployed in the public subnet, or Bastion as a service can be used.The WebLogic managed servers are publicly accessible through the load balancer if provisioned, and all servers are otherwise accessible through the Bastion host or Bastion as a service. The WebLogic managed servers are publicly accessible through the load balancer if provisioned, and all servers are otherwise accessible through the bastion host.

  • Application availability

    The deployment provisions nodes for managed servers across fault domains or across availability domains if the tenancy has multiple availability domains. WebLogic clusters have high availability as long as multiple nodes are provisioned. There is the possibility of scaling a WebLogic domain provisioned with the Marketplace.

  • Manageability

    A Terraform script deploys the stack. The entire stack is available for review and download under Resource Manager > Stacks in the Oracle Cloud Infrastructure Console. You can use it as a template to manage this infrastructure as code in your own code repository.

  • Scalability

    You can scale up the compute resources for your Oracle WebLogic Server for OCI domain to increase performance, or you can scale down the compute resources to reduce costs.

    Note:

    Do not use Resource Manager to change the shape of the compute instances in your domain. You must use the Compute service. Using the resource manager to scale in and out after changing the shape will currently revert all nodes to the original shape, effectively destroying the domain. It is recommended to scale the number of nodes rather than the shape.

    When you change the shape of a compute instance, you select a different processor, number of cores, amount of memory, network bandwidth, and maximum number of VNICs for the instance. The instance's public and private IP addresses, volume attachments, and VNIC attachments remain the same. For example, changing the shape of an instance from VM-Standard2.2 to VM-Standard2.4 doubles the capacity of the node from two OCPUs to four OCPUs, and also doubles the amount of memory allocated to the node.

Deploy

The Terraform code for this reference architecture is available in GitHub and can be deployed using the following steps:

  1. Go to GitHub.
  2. Clone or download the repository to your local computer.
  3. Follow the instructions in the README document.

Change Log

This log lists significant changes: