Application configuration requirements
As a best practice, a Pega Platform™ application is small and reusable to improve the maintainability and scalability. The built-on features of an application record enable the addition of dependent applications and reuse an application that is already built.
Smaller applications with clearly defined reusable functionalities also make it easy to package the application for deployment.
Deployment Manager allows application pipelines to leverage the dependencies feature to ensure all the dependent applications are always packaged and deployed, without the need to manually track or deploy them to all environments.
Structure every Pega Platform to enable agility in delivery. Create a development and a test layer to isolate development and test change, and migrate the changes independently through a pipeline.
Create a Development layer
A development application should be used by the development team to manage the work-in-progress features. Once the development changes are complete, these changes are merged into a target application. Using a Development layer allows you to keep the target application locked to prevent unintentional changes.
Since the target application is regularly packaged and promoted to higher environments, it is important to exclude branches and any other work that is in progress.
A Development layer consists of:
- An application that is built on the testing or target application. Consider following the naming convention: {TargetApp}Dev.
- An unlocked ruleset for developer tools or work that is never intended to be promoted to higher environments.
- An access group that logs into the development application.
Development layers can be assigned to developers as needed, whether it is one layer for each developer or team.
Create a Test layer
The Deployment Manager manages the Testing assets. However, these assets are only deployed to a subset of environments. To manage and run test cases, it is necessary to create a Test layer.
A Test layer consists of:
- A locked application that is built on the target application. Consider following the naming convention: {TargetApp}Tests.
- A ruleset for all test cases and test assets.
- An access group that logs into the test application.
- A product rule that defines those assets which the pipeline promotes.
Structure of an application
When you create a layered application structure for an application, the structure resembles the following image:
For example, in the image, consider the target application (production application) is UPlusBank 08.01, when following the recommended application structure, the following is the applications corresponding to each layer:
- The UPlusBank application with version 08.01 is the Production application which is clean (for example, only completed and validated features are included in the application) and locked to prevent any unintended changes.
- The UPlusBankTests application with version 08.01 acts as the Test layer that contains the Test automation assets required to run Automated tests. The UplusAppTests application is locked to prevent any unintended changes.
- The UPlusBankDev 01.01 represents the Development application layer, where all the active development by the Development team takes place. A developer works with rule branches on a Development application to prevent any accidental promotion of a work-in-progress branch.
For Deployment Manager to promote the production (or target) application to production, the application must be built on the PegaDevOpsFoundation.
PegaDevOpsFoundation as a built-on application
The PegaDevOpsFoundation application is a component of the Deployment Manager that enables pipeline integration to Dev Studio and App Studio. A developer adds the PegaDevOpsFoundation application as a built-on application on the target application to enable promotion through the Deployment Manager.
When adding the PegaDevOpsFoundation application as a built-on application, use the major version of the application so that the latest patches and minor versions are adopted without updating the application.
For example, include PegaDevOpsFoundation:5 as a built-on application instead of PegaDevOpsFoundation:5.1.1.
When working on a new application, the developer must update the built-on application in the Development environment only. The Deployment Manager can deploy a new application to a new environment.
If the application is already deployed to all environments, a Release manager is required to manually update the application record on each environment with PegaDevOpsFoundation as the built-on application. The next deployment syncs the application changes and results in an Aged update message in the Deployment Manager.
Check your knowledge with the following interactions.
This Topic is available in the following Module:
If you are having problems with your training, please review the Pega Academy Support FAQs.
Want to help us improve this content?