Designing Pega for High Availability (HA)
Archived
2 Tasks
10 mins
Pega Platform 8.3.1
Advanced
Pega Platform 8.3.1
English
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.
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.