Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Category Direction - Continuous Delivery

Continuous Delivery

Many teams are reporting that development velocity is stuck; they've reached a plateau in moving to more and more releases per month, and now need help on how to improve. According to analyst research, 40% of software development team's top priorities relate to speed/automation, so our overriding vision for Continuous Delivery is to help these teams renew their ability to accelerate delivery.

Additionally, Continuous Delivery serves as the "Gateway to Operations" for GitLab, unlocking the downstream features such as the Configure and Monitor stages.

Continuous Delivery vs. Deployment

We follow the well-known definitions from Martin Fowler on the difference between continuous delivery and continuous deployment:

Source: https://martinfowler.com/bliki/ContinuousDelivery.html

Infrastructure Provisioning

Infrastructure Provisioning and Infrastructure as Code, using solutions like Terraform or other provider-specific methods, is an interesting topic that relates to deployments but is not part of the Continuous Delivery category here at GitLab. For details on solutions GitLab provides in this space, take a look at the category page for our Infrastructure as Code team.

Deployment with Auto DevOps

For deployment to Kubernetes clusters, GitLab has a focused category called Auto DevOps which is oriented around providing solutions for deploying to Kubernetes. Check out their category page for details on what they have planned.

We are working on a similar experience for non Kubernetes users, starting with Streamline AWS Deployments that will automatically detect when users are deploying to AWS and will connect the dots for them.

The Auto Deploy jobs within Auto DevOps are maintained by the Continuous Delivery category.

What's Next & Why

As part of our effort to support DORA 4 Metrics in GitLab, we introduced project level Lead time for changes metrics and deployment frequency both at the API project level and charts that can be found under the Analytics-CI/CD page. We are now working on intorducing group level deployment frequency charts via gitlab#291748 and will continue to add support for the rest of the DORA4 metrics.

To increase deployment safety, and to help large organizations with many projects to ensure deployments can only be proceeded by the right group at the right time, we are working to add group-level permissions to protected environments.

Maturity Plan.

This category is currently at the "Complete" maturity level, and our next maturity target is Lovable (see our definitions of maturity levels). Key deliverables to achieve this are:

CI.yaml features

Cloud Deployments

Observability

Auto Deploy (AutoDevOps Flow)

Competitive Landscape

Because CI and CD are closely related, the competitive analysis for Continuous Integration is also relevant here. For how CD compares to other products in the market, especially as it relates to pipelines themselves, also take a look there.

GitHub Actions

GitHub Actions are an automation workflow integrated with GitHub repositories. Each action is triggered by one or multiple events. Using GitHub Actions, users can define any number of jobs, including deployment jobs. Microsoft has setup actions to be like lego pieces, and has built a workflow around finding and reusing actions in an actions marketplace.

GitHub Actions recently introduced environments which can help users set specific rules based on environments to automate deployment workflows. Furthermore, environment scoped secrets enables different secrets for different tiers, separating deployment from development to meet compliance and security requirements.

Harness

Harness is a modern, ambitious CI/CD platform that can be a single platform to build, test, deploy and verify any applications. Read more about Harness in our DevOps tools comparison page.

Spinnaker

Spinnaker, born out of Netflix, is an open-source, cloud-native, multi-cloud continuous delivery platform for releasing software changes.

It views its solution in three parts. First, application management which enables users to visualize and manage cloud resources. Second, application deployment is a powerful and flexible pipeline management system with integrations to the major cloud providers and treats deployments as a first-class citizen. Lastly, managed delivery combines application management and delivery, and enables users to specify what they want in declarative format.

Spinnaker's advantage points are:

One analysis of GitLab vs. Spinnaker can be found on our product comparison page. There is additional analysis that can be found in gitlab#197709 and in gitlab#35219.

Waypoint

Waypoint, by Hashicorp, provides a modern workflow to build, deploy, and release across platforms. Waypoint uses a single configuration file and common workflow to manage and observe deployments across platforms such as Kubernetes, Nomad, EC2, Google Cloud Run, and more. It maps artifacts to runtime after the test and build phases. Waypoint sits alongside the source code, and enables declarative deployment - it takes the manifest of how the platform is configured and will execute the steps sequentially unique for each platform. Waypoint can be used with GitLab CI and even with the Auto DevOps workflow with deployments being done by Waypoint.

Analyst Landscape

In our conversations with industry analysts, there are a number of key trends we're seeing happening in the CD space:

Support a breadth of platforms, both legacy and cloud-native.

Cloud adoption of CI/CD is growing, extending capabilities for deploying to cloud environments, including Kubernetes and other modern container architectures are a key metric. While cloud migration is accelerating and more teams are adopting it, on-premises and legacy hardware environments remain.

We invite you to follow our plans to natively support hypercloud deployments and Serverless to offer feedback or ask questions.

Inject insight and analytics into pipelines.

Users are looking for the ability to not just measure platform stability and other performance KPIs post-deployment, but also provide functionality such as automated release-readiness scoring based on analysis of data from across the digital pipelines. Tracking and measuring customer behavior, experience, and financial impact, after deployment via gitlab#37139 solves an important pain point.

Metrics to Drive Agile, DevOps and Continuous Delivery

Metrics are a primary source of quantifiable feedback, which is a key objective of agile and DevOps methodologies. Development teams that collect and analyze metrics understand successes, failures and opportunities for improvement better than their peers. Mature development teams actively monitor metrics data and compare results against baselines, which can be industry benchmarks or constant improvements against past results of the individual team. We are actively working on supporting DORA4 metrics as an integral part of GitLab which will allow you to gain efficincy and stability insights into you softwarre development lifecycle.

Progressive Delivery

Progressive Delivery allows you to deploy code incrementally and target the audience that will receive the new code based on user segments and environments. By doing so, it enables experimentation with reduced risk. Progressive Delivery builds on the foundations laid by Continuous Integration and Continuous Delivery. Related categories to this theme are Feature Flags and Advanced Deployments. To read more about this see RedMonk's post.

Top Customer Success/Sales Issue(s)

The ability to monitor deployments and automatically halt/rollback deployment in case of exceeding a specific error rate is frequently mentioned by CS and in the sales cycle as a feature teams are looking for. This will be implemented via gitlab&3088. We have recently added the ability to rollback automatically in case a critical alert is raised via gitlab#35404 (Complete) and will follow up with adding a notification when an auto-rollback accord via gitlab#292019.

Top Customer Issue(s)

The most requested customer issue is gitlab#5902 which adds the ability to create Deploy Tokens with functionality similar to the Deploy Keys, where the admin can create and assign Deploy Tokens per project which will grant non-personal registry-only access to the images without needing an extra seat.

Top Internal Customer Issue(s)

Adding a check for maximum commits before merge via gitlab#26691 is our most popular internal issue. This adds a validation check, to make sure that your merge request is not too far behind master before merging in order to avoid breaking master

Top Vision Item(s)

Our top vision item is to Natively support hypercloud deployments, and specifically deploying to AWS we want to help make it easier and quicker to get started and deploy to any one of the big cloud providers using GitLab's CI/CD.

We are planning to research user needs for multi-cloud deployments. If you are interested in participating in this user research, please leave a comment in ux-research#1249.

Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license