## Deploy more frequently

As per the State of DevOps 2021 report by Google Cloud’s DevOps Research and Assessment (DORA) that showcases the DevOps maturity of a team / organization, over two-third of the respondents took 1 week or more to deploy code to production and over 50 percent took more then a day to restore an unplanned outage. Compared to this, elite or top performers are able to deploy on-demand and are able to restore services due to an unplanned outage in less than an hour.

A crucial part of the GitLab DevOps platform, GitLab Continuous Delivery makes software delivery repeatable and on-demand, simplifying the hardest part of DevOps while making it flexible, secure and achievable.

You can choose from two primary workflows.

-   In a GitOps workflow, you keep your Kubernetes manifests in GitLab. You install a GitLab agent in your cluster, and any time you update your manifests, the agent updates the cluster. This workflow is fully driven with Git and is considered pull-based, because the cluster is pulling updates from your GitLab repository.

-   In a CI/CD workflow, you use GitLab CI/CD to query and update your cluster by using the Kubernetes API. This workflow is considered push-based, because GitLab is pushing requests from GitLab CI/CD to your cluster.
