Understanding the components of a distributed development environment
Distributed development consists of several systems, including remote development systems, the source development system, and an automation server.
The distributed development environment comprises systems that perform the following roles:
- Remote development systems – the systems on which development work takes place, typically in branches. Each team usually uses one Pega Platform server on each system.
Development teams can use tools such as container management or provisioning scripts to quickly start up remote development systems.
- Source development system – the Pega Platform server that stores the base application, which contains only the latest production changes. It is also the system from which the application is packaged. You merge branches on this system from remote development systems.
You should maintain high availability and have a reliable backup and restore strategy for the source development system.
- Automation server – the server that automates continuous integration or continuous delivery jobs that are part of an application lifecycle, such as automated testing, application packaging, task approval, and deployment.
You can use a number of tools as the automation server, such as Deployment Manager, Jenkins, or Bamboo.
While an automation server is not a requirement, it is recommended that you use one, because it reduces the manual steps that you need to do in a DevOps workflow.