New Feature: Deployment Pipeline

At Qovery, we're always looking for ways to make the deployment process more efficient and reliable for our users. We're excited to announce the release of our Deployment Pipeline feature, a big milestone that opens up tons of opportunities for managing service deployment order, deploying services in parallel, and much more. Let's dig deeper..

Romaric Philogène

Romaric Philogène

February 27, 2023 · 3 min read
New Feature: Deployment Pipeline - Qovery

#What is Qovery's Deployment Pipeline Feature?

A Deployment Pipeline consists of multiple stages, each with an assigned execution order within the pipeline. When you trigger the deployment of an environment, Qovery executes this pipeline to deploy every service defined within your environment. Each service belongs to one (and only one) Deployment Stage, allowing you to define at which moment of the deployment pipeline a service should be deployed and thus respect any service inter-dependency.

Deployment Pipeline, Stage and Steps representation
Deployment Pipeline, Stage and Steps representation

#Why does it matter?

The Deployment Pipeline feature enables you to configure each stage and its order of execution, allowing for greater control over your deployment process. With this feature, you can ensure that services are deployed in the correct order to meet any dependencies between them. This is especially important when dealing with complex applications that have multiple services with varying dependencies.

Deployment order from left to right. Redis, Rabbitmq and DB start before Backend, Backend starts before NGING API Gateway and the 3 frontends after the API Gateway
Deployment order from left to right. Redis, Rabbitmq and DB start before Backend, Backend starts before NGING API Gateway and the 3 frontends after the API Gateway

For instance, you might need to guarantee that your Databases start before your Backend, your API Gateway starts after your Backend and your Frontends after your API Gateway.

Parallel execution can significantly reduce deployment time
Parallel execution can significantly reduce deployment time

Qovery's Deployment Pipeline feature allows for parallel deployment, which can significantly reduce the time it takes to deploy your services. By executing multiple steps in parallel, you can speed up the deployment process and reduce the risk of downtime during deployment.

#How does it work?

Each stage in the deployment pipeline consists of multiple steps that can be executed in parallel. The steps can include building and deploying your services. Qovery's Deployment Pipeline feature allows you to configure each step and its order of execution within a stage, ensuring that everything runs smoothly during deployment.

Each Step contains a Build and a Deployment phase - The Build phase is optional and only used by services linked via Git.
Each Step contains a Build and a Deployment phase - The Build phase is optional and only used by services linked via Git.

Additionally, Qovery's Deployment Pipeline feature offers the flexibility to configure certain actions to be performed at specific stages of the pipeline. For example, you can seed your database after it has started but before the application starts, or perform a database backup when the environment is deleted. It's up to you to do whatever you need within your deployment pipeline.

#What's next?

Qovery's Deployment Pipeline feature is just the beginning. We have a few enhancements planned that we're excited to share with you:

  • A dedicated view to see the deployment pipeline and where it has failed, along with an enhanced view of the deployment logs to better see where the deployment process has failed.
Work in progress design of the next logs version
Work in progress design of the next logs version
  • Retrigger a complete stage instead of the complete pipeline or a step.
  • Decouple Build and Deployment phase: Decoupling the Build and Deployment phase will be possible to speed up the deployment process depending on the user use case. For instance, sometimes, the build can be done ahead of all deployments, but the deployment only must be ordered.

We're always open to feedback and suggestions, and we invite you to share your thoughts on our public roadmap.

#Conclusion

Qovery's Deployment Pipeline feature is a big milestone for us, and we're excited to share it with our users. By enabling greater control over service deployment order and offering the flexibility to configure certain actions at specific stages of the pipeline, we're confident that this feature will make the deployment process even faster and smoother. We can't wait to see what you'll build with it!

#Resources

Your Favorite Internal Developer Platform

Qovery is an Internal Developer Platform Helping 50.000+ Developers and Platform Engineers To Ship Faster.

Try it out now!
Your Favorite Internal Developer Platform
Qovery white logo

Your Favorite Internal Developer Platform

Qovery is an Internal Developer Platform Helping 50.000+ Developers and Platform Engineers To Ship Faster.

Try it out now!
Product