Skip to main content

This content has been archived and is no longer being updated.

Links may not function; however, this content may be relevant to outdated versions of the product.

Deploying Pega Platform on MS Azure

Suggest edit Updated on September 10, 2021

Deploy Pega Platform™ on Microsoft Azure to take advantage of Pega Platform Cloud Choice flexibility. This article provides general instructions for creating typical Pega Platform environments on Microsoft Azure. To explore the latest information about the Cloud Choice deployment solution using Kubernetes across client-managed environments, see Cloud Choice.

The most common Pega Platform environments deployed to Microsoft Azure include:

  • A development or test environment typically consists of a single virtual machine with Pega Platform installed.
  • A shared development environment typically includes multiple virtual machines and a load balancer to support development across several teams.
  • An advanced multi-tiered environment is typically used for production deployments or pre-production testing. In this environment, separate tiers of servers are added to address specific needs such as front-end processing, back-end processing, and database services. Additional availability sets ensure high availability.

Assumptions and best practices

These instructions assume the following:

  • You are using the Microsoft Azure Portal and Resource Manager.
  • You configure a Microsoft Azure SQL Database following these guidelines:
    • Before you install Pega Platform, set bypass.udf.generation=true in the setupDatabase.properties file, since the Azure SQL Database service does not allow support user-defined functions (UDFs). For more information, see your Pega Platform Installation Guide.
    • Set the default Pega database for the Base and Admin users to the database you use for the PegaRULES schema.
    • To ensure your database response times are optimized, contact Microsoft for their recommendation about setting the databaseName parameter for both the Base and Admin user in the context.xml configuration file.
  • All Microsoft Azure resources related to a single Pega Platform database use the same Microsoft Azure Location.
    Caution: Using multiple locations results in poor performance.

  • Each VM includes only one Pega Platform node.
  • All VMs for a tier are in the same Network Security Group.
  • For advanced mult-tiered environments that support high availability, Microsoft Azure SQL failover capability is enabled.

System requirements

Before you continue, ensure that your system includes the following items:

  • A supported 64-bit JDK. See the Platform Support Guide for a list of supported versions.
  • A supported application server. See the Platform Support Guide for a list of supported versions.
  • Microsoft JDBC Driver 6.0 for SQL Server.
  • Required Microsoft Azure items:
    • A valid Microsoft Azure subscription with sufficient permissions to create the resources listed in Typical environments.
    • Access to the Microsoft Azure Portal and Resource manager.
    • Knowledge of the most appropriate Location in which to deploy Microsoft Azure resources.

Typical environments

Each of these typical environments includes similar components with increasing complexity.

Development or test environment

The development or test reference environment provides a minimal Pega Platform environment at the lowest cost. This environment is appropriate for developing and testing Pega Platform applications. The following graphic shows a simple development environment with one virtual machine.

The development or test environment includes a single virtual machine in a virtual network.

A typical development or test environment includes the following Microsoft Azure resources:

  • Resource group – A single resource group is used as a logical container for all resources in this environment.
  • Virtual Network – All resources for this environment are contained in a single Virtual Network.
  • Virtual machine (VM) – The development or test environment requires only a single virtual machine which performs all Pega Platform roles.
  • Microsoft Azure SQL database – All Pega Platform database assets live inside a single database.

Creating the development or test environment

In the Microsoft Azure Resource Manager, follow these general steps to create a development or test environment:

  1. Create a Resource Group.
  2. Create a Virtual Network.
  3. Create a subnet.
  4. Create a VM that meets the following requirements:
    • It must be in the same location as the resource group.
    • RAM: Minimum of 8 GB RAM.
    • CPU/Cores: Minimum of 2 cores.
    • Disk: Standard or Premium.
  5. ​Create a Microsoft Azure SQL Server in the same location as the resource group.
  6. In the Microsoft Azure SQL Server, create a Pega Platform database that meets the following minimum size criteria:
    • Single – S3 with 100 DTUs.
    • Pooled – With 100 EDTUs.
  7. Ensure that there is a connection to the Microsoft Azure SQL database; you might need to reconfigure the Microsoft Azure firewall to allow access.
  8. Open the Pega Platform Installation Guide for your application server with Microsoft SQL Server and follow the instructions to perform the following steps:
    1. Create the rules and data schema on the Microsoft Azure SQL database.
    2. Install Pega Platform on the Microsoft Azure SQL database.
    3. Configure the application server and deploy the Pega Platform WAR or EAR file.
    4. Complete the post-installation tasks.

Shared development environment

The shared development environment supports multiple development teams. This environment also makes it an appropriate production system for small, non-mission-critical applications. The following graphic shows the addition of a second VM in an availability set for all Pega Platform processes. The Application Gateway is added for load balancing.

The load balanced environment builds on the development or test environment and adds a second virtual machine.  Both virtual machines are in a single availability set in the Virtual Network. The Application Gateway is added in a second subnet in the same Virtual Network.

A typical shared development environment includes the following:

  • Resource group – A single resource group is used as a logical container for all resources in this environment.
  • Virtual Network – All resources for this environment are contained in a single Virtual Network.
  • Application Gateway – Load balancing Pega Platform applications on Microsoft Azure requires the Application Gateway.
  • Subnets – This environment includes two subnets:
    • A subnet that contains VM resources
    • A separate Application Gateway subnet
  • Availability set – Placing the VMs in an availability set increases the availability of the Pega Platform environment.
  • Virtual machines (VMs) – Multiple VMs increase the capacity and availability of the Pega Platform environment. These VMs perform all Pega Platform roles.
  • Microsoft Azure SQL database – All Pega Platform database assets live inside a single database.

Creating the shared development environment

In the Microsoft Azure Resource Manager, follow these general steps to create a shared development environment:

    1. Create an environment that meets the criteria for the development or test environment.
    2. Clone the existing VM into the same Microsoft Azure availability set and Network Security Group.
    3. Create a second subnet for the Application Gateway.
    4. Configure the App Gateway. For information about configuring load balancers, see the Pega Platform High Availability Administrator Guide.

    Advanced multi-tiered environment

    The advanced multi-tiered environment is typically used for production deployments or for pre-production testing, such as load or stress testing. Create separate dedicated tiers for different roles to increase performance. Add additional VMs and availability sets to scale each tier for increased performance and availability within a role.

    Tiers and roles

    The advanced multi-tiered environment often includes separate tiers for specific Pega Platform roles. Roles can be either front-end (user-facing), or back-end. Example Pega Platform roles include the following:

    • Universal – This is the default role for any Pega Platform node that performs the functions of all front-end and back-end Pega Platform nodes.
    • WebUser – A front-end role that performs only UI tasks.
    • Search – A back-end role that performs only search-related tasks, such as indexing, query processing, and crawling.
    • SMA – A back-end role that serves System Management Application (SMA).
    • BIX – A back-end role to support Business Intelligence Exchange (BIX).
    • BackgroundProcessing – Back-end roles that perform only Agent Schedules and batch job tasks.
    • Decisioning – A back-end role to optimize tasks related to Decision Strategy Manager (DSM). The decisioning role can be further specialized to handle specific components of DSM, for example:
      • Cassandra Data Node
      • Virtual Business Director
      • Adaptive Data Manager

    Each tier includes one subnet with multiple VMs. For example, the following graphic shows a search tier added to the shared development environment:

    The tiered example builds on the load-balanced environment and adds a second subnet or tier.  This example shows the addition of a search subnet with two virtual machines in a second availability set. The Application Gateway, the App subnet, and the new Search subnet are all in the same Virtual Network.

    Adding tiers

    To add tiers to your environment, follow these general steps:

    1. Create an environment that meets the criteria for a shared development environment.
    2. Create a separate subnet for the new tier.
    3. Create an availability set for the new tier.
    4. Create a Network Security Group for the new tier.
    5. Clone the VMs from the Application tier into the new availability set and new Network Security Group.
    6. Modify the VMs for each tier. Follow these guidelines:

      Each VM in your environment shares the following characteristics:

      • Operating system
      • Application server
      • CPU/RAM
      • Disk
      • JDK
      • Pega Platform WAR or EAR file deployed

      The following items differ by role or tier:

      • JVM configuration
      • Application server configuration
      • Pega Platform configuration settings in the prconfig and prlogging files

    High availability

    Add multiple availability sets and additional VMs in a tier to support high availability and to improve the performance within a tier. The following figure shows the addition of an additional availability set to the search tier:

    The high availability advanced example builds on the tiered example.  The Search subnet now includes two virtual machines in one availability set and two more virtual machines in a second availability set.

    Adding an availability set

    To add an availability set for high availability, follow these general steps:

    1. In the subnet for the tier, create additional availability sets.
    2. Clone the VMs from the original availability set into the new availability sets.
      Note: Use the same Network Security Group for all VMs in the tier.
    Did you find this content helpful? YesNo

    100% found this useful

    Have a question? Get answers now.

    Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

    Ready to crush complexity?

    Experience the benefits of Pega Community when you log in.

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

    Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

    Close Deprecation Notice
    Contact us