Skip to main content

Designing Pega for High Availability (HA)

Archived

2 Tasks

10 mins

Pega Platform 8.3.1
Visible to: All users
Advanced Pega Platform 8.3.1 English
This content is now archived and is no longer updated. Progress is not calculated. Pega Cloud instances are disabled, and badges are no longer awarded.

Scenario

Front Stage expects to provide users with 99.95 percent uptime of the application. Sales executives need to be able to access event booking information at any time. Because events sometimes occur on weekends, facilities coordinators need to initiate the weather prep case on a Friday or Saturday evening. Even on the weekends, the number of active users in the application can be high. Front Stage configured three application servers and a load balancer to handle failover.

Design the Front Stage application to support high availability (HA). This task includes:

  • Describing configuration needed to manage HA settings from DEV Studio
  • Describing required environment architecture
  • Determine the method of shared storage
  • Defining the mechanism to monitor nodes

In the Alternate approaches section, describe any differences for designing for HA in a Pega Cloud environment.

Detailed Tasks

1 Solution detail

A highly available application includes these components:

  • One or more load balancers
  • At least two physical or virtual machines associated with each load balancer
  • One or more shared storage repositories
  • One or more fault-tolerant, highly available clustered databases

Additionally, as a part of planning for future server maintenance, you decide whether to use the default immediate drain method or configure your system to use the slow drain method for when you perform the quiesce process on a node.

LoadBalancer

Though not required, single sign on provides a seamless experience to the user in the event of a server crash or redirection of a user session during a server quiesce.

DEV Studio configuration

To support HA configuration from DEV Studio from multiple nodes:

  • Enable the HA dynamic system setting (session/ha/Enabled)
  • Configure users with high availability roles and privileges to modify cluster settings and quiesce nodes by adding the PegaRULES:HighAvailabilityAdministrator role to the access group for the admin.booking operator
  • Configure the settingsource in the prconfig file to "merged" (<env name="initialization/settingsource" value="merged"/>)
Note: The PegaRULES:HighAvailabilityAdministrator role grants access to HA cluster administration and quiesce investigation. Cluster administration in this context is access to cluster management and HA settings that are accessible from the corresponding Pega 8 Platform landing pages. This role has the pxHighAvailabilityAdmin and pxHighAvailabilityAdminQuiesce privileges.

Environment architecture

To support HA, you need to define your application architecture to support your uptime requirements and provide redundancy in the event of a server crash or failure.

You need:

  • A load balancer that supports session affinity (also known as sticky sessions)
  • Two or more physical or virtual machines
  • A database that support high availability clustering
Note: Session affinity is required in the load balancer for both slow drain and immediate drain quiesce. Immediate drain is the default quiesce method. Pega Platform settings related to cookie invalidation are applicable only for slow drain.

Shared storage

You can store passivated user sessions by either using file storage or database storage.

Use the database to store passivated requestors. Because the number of active users can be high, storing passivated requestors in a file could impact performance of the JVM.

Note: When HA is enabled, database passivation is used as the default passivation method, in which the database handles all storage requirements.

Node monitoring

You can monitor the status of nodes in the cluster using:

  • The HA Cluster Management page in
    Operators with the following roles can access this page:
    • PegaRULES:HighAvailabilityAdministrator

    • PegaRULES:HighAvailabilityQuiesceInvestigator
  • ADMIN Studio
  • Autonomic Event Services (AES)
  • Mbeans integrated into your Network Operations Center (NOC)

2 Alternate approach

In a Pega Cloud environment, the behavior of the highly available application is the same as an on-premise application configured for high availability. The primary difference is the quiesce strategy. In the Pega Cloud environment, autoscaling could take a node out of service. The policy of the environment determines which node to take out of service. As a result, Pega Cloud must use the ImmediateDrain quiesce strategy to ensure seamless transition of one node to another. To switch between slow drain and immediate drain you update the value of the session/ha/quiesce/strategy prconfig setting to be either "slowDrain" or "immediateDrain" and then restart the server.

Note: For immediate drain, be careful when using the HA Cluster Management page to quiesce a node lest you quiesce the node you are logged into.

For more information on the HA settings management, see the High availability help topic.



Available in the following mission:

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice