DevOps in practice
Components of a release pipeline
You can apply the concepts of continuous integration and continuous delivery (CI/CD) as activities that are required to package, functionally test, validate compliance requirements for, and deploy the application to implement a release pipeline, as shown in the following diagram.
The diagram represents the various activities involved, such as branch merge, package, and deploying into higher environments for validation.
The following key components comprise a pipeline:
- The development team is responsible for developing an application and managing the source code or rules. This team leverages the necessary tools that ensure a defined process is followed to manage the source code and maintain traceability.
- An artifact is a portable form of an application that is shipped or released and deployed onto an environment. This artifact can include application, configuration, or test artifacts.
- An environment plays a critical role in the release process. Each environment is part of the critical path to deliver an application and plays a unique role in the process.
- A testing strategy defines the planned types of tests associated with a stage of the release process. The testing strategy defines the weight that each kind of test (such as unit, regression, performance, integration, or smoke) receives in the process to certify an application as ready to ship.
- An automation or orchestration server is responsible for orchestrating the process through stages, environments, and repositories.
- An application repository is an artifact storage solution that stores the application artifacts such that an artifact can be accessed through any environment that is configured on a pipeline.
Pega Platform™ offers a native suite of DevOps capabilities that you can leverage to automate the DevOps processes.
The native suite consists of the following features:
- Source control management system that is used to manage the application code base and is considered to be a single source of truth for development teams. The Pega system of record (SOR) is the source control management system for a Pega Platform application.
- Development framework
- Integrated Development environment
- Build Management system
- Test framework
The DevOps journey
The first step is to evaluate existing processes to determine the gaps and prioritize the gaps based on value to begin your DevOps journey.
- Start with automating the workflow, put in manual steps as placeholders.
- Enforce quality gates.
- Gate the pipeline with meaningful quality gates around guardrails, automated tests, test coverage, and so on. If the deployment does not meet the quality gates, then the pipeline should stop, and all relevant parties notified of the failures.
- New changes should not go through until the quality gate passes.
- Replace critical manual functional validation with automation.
- Identify the longest poles in the release cycle and automate them.
- If the tests and validation are manual, invest in automating critical smoke tests for end-to-end functional coverage.
- Maintain and regularly address the backlog of critical technical debt that helps speed up the feedback cycle.
- Plug the leak.
- Adopt unit testing for all new features in development.
- Ensure that new features have meaningful automated test coverage that improves the quality of the application.
- Address critical non-functional validation.
- Automate performance testing.
- Automate security compliance validation.
- Automate any other non-functional validation or compliance critical for the business.
Check your knowledge with the following interactions.