Skip to main content

DevOps processes explained

Continuous Integration

With Continuous Integration, application developers frequently check in their changes to the source environment and use an automated build process to verify these changes automatically.

Following are the typical activities that occur during Continuous Integration: 

  • Code or change review
  • Unit test execution 
  • Code or change analysis 
  • Smoke test execution 

Key benefits from practicing this process are:

  • Smooth integration.
    • Developers commit code frequently.
       
  • Detect problems early.
    • Early and frequent integration of code detects the following:
      • Integration issues with other developer’s code.
      • Unit test issues.
      • Code and security analysis – based on the tool leveraged, a wide spectrum of issues are detected.
      • Test failures – leveraging scenario, UI, and integration test functional integration issues.
         
  • Solve problems early.
    • Helps reduce the cost of issue resolution.
    • Allows for focused integration testing later in the delivery life cycle as there is a confidence that the core units of the application are validated.

Check your knowledge with the following interaction.

Continuous Delivery

With Continuous Delivery, application changes run through automated regression testing and are deployed to a staging environment for further testing. This process ensures that the application is ready for deployment on the production system.

The following items are the typical activities that occur during Continuous Delivery:

  • Deployment to a Staging or Acceptance environment with Production, such as configuration
  • End-to-end functional regression testing
  • Performance and load testing against Production, such as datasets 
  • Security compliance checks
  • Localization testing
  • Stakeholder signoff and acceptance testing

Key outcomes from adopting this process are:

  • Repeatability through automation.
    • Focus on automating build-package, deployment, testing, and environment provisioning.
    • Automation allows the process to be repeated as often as necessary, daily, or even multiple times a day.
  • Repeatable automation reduces the chance of human errors.
  • Lower risk through faster feedback.
    • Automated testing provides early feedback on potential bugs and performance issues.
    • Emphasis on testing in Production; environments provide reliable indicators of the experience and performance in Production.
  • Issues that are caught are immediately reported to the developers to address as quickly as possible. 
  • Lower cost without sacrificing quality.
    • Automation significantly reduces the cost of delivery due to its repeatability.
    • Automated releases enable continuous testing, ensuring that issues are caught quickly and early in the release cycle when it is easier and cheaper to fix.
    • Delivering smaller functionality faster enables responding rapidly to shifts in market priorities providing a competitive edge.

Check your knowledge with the following interactions.

Continuous Deployment

The process is to obtain the validated application artifacts from the Continuous Delivery phase of the DevOps pipeline and deploy them to production. The final deployment can occur at its own schedule, which is based on a business agenda that a stakeholder approves.

The following are the typical activities that occur during Continuous Deployment:

  • Deploying only pipeline validated applications 
  • Stakeholder approval for Production deployment (optional) 
  • Smoke tests in a production-like environment  
  • Security validation in a production-like environment (optional) 
  • A/B testing for a limited production release (optional) 
  • Active/Passive deployments with a rolling update (optional) 
  • Rollback changes for failed deployments

Key benefits from practicing this process:

  • Fully auditable process while deploying to production
  • Deploying validated application changes provide confidence and minimize the potential for bugs to escape
  • A repeatable process with failover and rollback functionality ensures consistency and de-risks the deployment to production

Check your knowledge with the following interaction. 

The Release pipeline

A pipeline is a model for a business process. In the context of DevOps, a pipeline may represent a Continuous Integration, Continuous Delivery, or Continuous Deployment process.

In the following image, click the + icons to learn about the Release pipeline overview.


This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

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

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice