Auxiliary Solution Resource: Continuous Delivery

Who to contact

Product Marketing Developer Advocate
Daniel Hom (@danielhom) Cesar Saavedra ( @csaavedra1 )

The Market Viewpoint

Continuous Delivery

“Deployment is manual” “Functional tests are manual” “Time consuming or lack of rollback on performance degradation or production errors” “Hard to maintain environment configurations and hard to operate” “No consistency in deployment process” “Manual / hard coded configurations” “No standardized software artifact” “No release management in place” “Too dependent on other teams to get any release done”

If these are the typical problems you face, Continuous Delivery is for you.

Continuous Delivery is the next logical step after continuous integration and it streamlines and automates the application release process to make software delivery repeatable and on demand - from provisioning the infrastructure environment to deploying the tested application software to test/staging or production environments. Organizations practicing continuous delivery are able to plan their release processes and schedules, automate infrastructure and application deployments, manage deployed infrastructure and application resources resources, and analyze metrics to optimise the software delivery process.

Why Continuous Delivery?

  • Consistent & repeatable release process - lesser manual processes imply the release process is less error prone and hence can be repeatable for every minimal change to the code
  • Faster time to market - automation of environment provisioning, software deployment and rapid feedback helps teams to iterate faster and rollback when necessary
  • Lower risk releases - by using progressive delivery practices such as advanced deployments: incremental / blue green / canary deployments, review apps, feature flags and a deployment performance feedback loop, organizations are able to validate their software before widespread deployment

Personas

User Persona

The typical user personas for this use case are:

DevOps Engineer, Devon

The DevOps engineer is the stable counterpart for the Developer to aid with support of the infrastructure, environment and integrations necessary for the developer to deploy their code to test/staging or production environments.

Systems Administrator, Sidney

The Systems administrator is the infrastructure expert - who contributes to modeling, maintaining and scaling the test/staging and production environments - including physical, virtual or cloud infrastructure and the application infrastructure like databases and middleware.

Release Manager, Rachel

The release manager has a central role in release planning, scheduling, identifying dependencies and resources to ensure that the release is timely. The release manager helps automating the release process.

Platform Engineer, Priyanka

The platform engineer is a specialist in modern platforms and aims to empower developers to provision, deploy and decommission tiered environments in a self service manner.

Application Operations, Allison

The operations specialist ensures that the deployed application is available and performing to the required performance parameters.

Buyer Personas

The typical buyer personas for this use case are:

Infrastructure Engineering Director, Kennedy

The Infrastructure Engineering Director is responsible for building and scaling highly available environments. He/She frequently has the agenda of Cloud initiatives and Cost Optimization in the organization.

Release and Change Management Director, Casey

The Release and Change Management Director is responsible for managing complex releases from concept to delivery. The CIO may be the final decision maker or buyer, but the Release and Change Management Director has significant influence in the buying process.

Industry Analyst Resources

Examples of comparative research for this use case are listed just below. Additional research relevant to this use case can be found in the Analyst Reports - Use Cases spreadsheet.

Market Requirements

Market Requirement Description Typical capability-enabling features Value/ROI
1) Release Planning The solution should be able to define the planning of the release workflow which includes determining what goes into the release (Bill of Material of applications & services), what are the dependencies (application / micro services dependencies), who will do it (people resource management), when will it be done (scheduling), what is the readiness criteria, who will approve the release - Bill of materials (release modeling)
- Release dependencies
- Release Versioning
- Sequence of the release
- Schedule of events and release calendar
- Resource planning including forecasting
- Readiness criteria
- Approval gates
- List of isuues in the release and their status
- Release Evidence
2) Manage the artifacts and binary assets The solution should be able to manage the inputs from continuous integration i.e., artifacts and binary assets to deploy the artifacts to the test, staging or production environments. - Maintain versions, dependencies, meta data for the application
- Maintain container images
- Retrieve application / binary artifacts for deployment
- Separation of duties and access control
- Support a range of common package formats and third party integrations
- Repository / registry can be used on-prem or in the cloud
3) Environments management (i.e., Operating Environment) The solution should be able to enable consistent and repeatable modeling of the environment for test, staging and production - including on-prem, virtual, cloud (a mix of multi and hybrid cloud environments), maintain a system of record of the environment & various elements of the environment (akin to a CMDB) - Infrastructure modeling (via UI / Infrastructure as a code, blueprints, runbooks)
- Support hybrid infrastructure environments in modeling (phyical, virtual, cloud (both multi & hybrid))
- System of record of various environments (test, stage, production)
- System of record of configurations & policies
- Access control / approvers for environment changes
- Configuration & Policy Change Management
- Automated environment discovery
4) Database Provisioning The solution should be able to model, provision and deploy to databases required to support the running application - Model database dependencies
- Discovery of databases
- Provisioning and configuration of databases such as schema, stored procedures
- Loading data (data provisioning)
- Access control / approvers
- Configuration Change
5) Middleware Provisioning The solution should be able to model, provision and deploy to middleware software required to support the running application - Model middleware dependencies
- Discovery of middleware
- Configuration of middleware servers & clusters
- Access control / approvers
- Configuration Change
6) Application Release Automation & Delivery The application should be able to automate the end to end release activities including build & test (which is covered as part of continuous integration) and deployment automation which includes scheduling various tasks, deploying the application to the desired environments, rollout scenarios, rollback and system validation - Delivery Pipelines
- Pipeline versioning
- Task Scheduling & Sequencing
- Rollout scenarios such as canary, incremental roll out, blue green deployments
- Feature Flags
- Review Apps
- Performance testing & validation
7) Resource allocation and management The application should be able to provide a detailed and summarized view of the costs associated with the infrastructure and application infrastructure modeled as well as optimization recommendations - Cost management
- Cost optimization
8) Multi Platform/Cloud/Integration Support The application should be able to play well with multiple clouds, multiple platforms (e.g., Linux, Unix, Windows, container platforms, mainframe, midrange, mobile, specialized), multiple integrations (e.g., CMPs, Registries, Orchestration tools, APM tools, etc) - Cloud Support (AWS, GCP, Azure, IBM, Oracle, etc)
- Platform Support (Linux, Unix, Windows, container platforms, mainframe, midrange, mobile, specialized)
- Integration Support (CMPs, Registries, Orchestration tools, APM tools)
9) Governance and Compliance The solution should be able to enforce separation of duties, access control, maintain a system of record of changes for compliance purposes, maintain release traceability back to requirements, enforce information security checks and policies - Separation of duties including role based access control to pipelines and deployment environment
- Credential management
- Approver gates
- Traceability to requirements
- Security checks
- Change logs
- Compliance reports
10) Analytics and reporting The solution should be able to provide analytics and reports to visualize release status & statistics, pipeline status & statistics, deployment status & statistics, environment status & statistics, change reports for compliance - Release status & statistics like release plan, timeline, status
- Pipeline status & statistics like success, failure rates, pipeline heath
- Deployment status & statistics like deployment frequency, change failure rates (DORA metrics)
- Environment status & statistics like usage, availability, downtime, failure rates
- Change logs, approvers & compliance reports - Release Evidence
11) Enterprise readiness The solution should be able to support support enterprise capabilities such as High Availability / Disaster Recovery, secure storage of data, access control - High Availability, Disaster Recovery
- Secure data storage
- Separation of duties and access control

The GitLab Solution

How GitLab Meets the Market Requirements

A collection of short demonstrations that show GitLab’s CD capabilities.

Market Requirements How GitLab Delivers GitLab Stage/Category Demos
1) Release Planning A GitLab Release is a snapshot of the source, build output, artifacts, and other metadata associated with a released version of your code. The release evidence contains the bill of material of the release i.e., everything in the release including release milestones and release assets Release Stage: Release Orchestration, Release Evidence tbd
2) Manage the artifacts and binary assets In the CD usecase, artifacts already created in the CI usecase can be viewed, downloaded, edited and shared. Various formats including maven, npm, nuget, amongst others are supported Package stage: Package Registry, Container Registry, Dependency Proxy tbd
3) Environments management (i.e., Operating Environment) GitLab leverages partners like Terraform to model and discover hybrid environments. GitLab supports storing these environments and configurations as code, maintaining a system of record of various environments and their configurations as code, snapshot view of the environments in a dashboard and deploying to hybrid infrastructure environments. While you can use GitLab CD to deploy apps almost anywhere, GitLab naturally supports Kubernetes, with a keen sight to improving non-cloud native support Configure stage: Auto DevOps, Kubernetes Management, Runbooks, Infrastructure as Code, Environments Dashboard
Terraform based infrastructure automation
tbd
4) Database Provisioning GitLab integrates with Terraform to enable model and provision infrastructure, including databases. GitLab enables Infrastructure as code for Terraform - maintaining infrastructure and configurations of environments in source control within GitLab Terraform based infrastructure automation, Infrastructure as code with Terraform and GitLab tbd
5) Middleware Provisioning GitLab integrates with Terraform to enable model and provision infrastructure, including middleware. GitLab enables Infrastructure as code for Terraform - maintaining infrastructure and configurations of environments in source control within GitLab Terraform based infrastructure automation, Infrastructure as code with Terraform and GitLab tbd
6) Application Release Automation & Delivery GitLab supports multiple advanced deployment strategies including progressive and incremental delivery. Review apps provide an opportunity to preview web applications before deployment, feature flags allow you to control the audience of features. GitLab CI/CD pipelines can be architected to configure and sequence your pipeline, gitlab-ci.yml file can be used to setup and define pipeline versions. Additionally, perform post deployment monitoring using browser performance testing for web applications and application performance testing using the monitor stage capabilities Release Stage: Continuous Delivery, Review Apps, Advanced Deployments, Feature Flags, Release Evidence, Secrets Management
Monitor Stage: Metrics, Logging, Tracing, Error Tracking
Verify: Browser Performance Testing
Incremental rollout Application Release Automation & Delivery
Feature Flags Feature flags
7) Resource allocation and management Users can utilize GitLab CI and Monitoring capabilities to chart their resource allocation and consumption and setup alerts when thresholds have been met as well as view cost implications of proposed Infrastructure as Code changes in their Merge Request. Native support for this capability is part of the GitLab roadmap Cluster Cost Optimization Limiting the number of deployments to a specific resource - If multiple jobs belonging to the same resource group are enqueued simultaneously, only one of the jobs is picked by the runner, and the other jobs wait until the resource_group is free. tbd
8) Multi Platform/Cloud/Integration Support GitLab can be installed on AWS, Google Cloud, Azure and can be deployed to multiple clouds including AWS, Google Cloud, Azure, VMware, IBM amongst others. GitLab installations support only Linux based distributions. All Stages: GitLab Installation Clouds Cloud Deployment Targets, Install Requirements, Integrations tbd
9) Governance and Compliance Compliance testing and audit controls are built into GitLab’s CI pipelines. Compliance at GitLab
Manage Stage: Audit Events, Audit Logs, Audit Reports, Compliance Management, Release Evidence
Secure Stage: License Compliance, Dependency Scanning
tbd
10) Analytics and reporting GitLab provides a variety of Executive Insights, Productivity Insights, Operations Insights and Security Insights All Stages:
Executive Insights DevOps Score, Value Stream Analytics, CI/CD Charts, Roadmaps
Operations Insights: Operations Dashboard, Environments Dashboard, Environments
Other insights such as Productivity Insights and Developer Insights are applicable to other usecases
tbd
11) Enterprise readiness GitLab supports enterprise grade authentication and authorization, access management, audit information, compliance, high availability and disaster recovery, geographic replication for great user experience across locations, large user reference architectures, infrastructure as code amongst others All Stages particularly Manage Stage, Enablement Section tbd

Top Roadmap Items for CD

Top 3 GitLab Differentiators

Differentiator Value Proof Point Demos
1) Unified deployment and monitoring strategies GitLab provides the ability to visualise what goes into production (via Review Apps), what to deploy to production (via Feature Flags), who to deploy it to (via Progressive Delivery and deployment strategies like Canary), monitor performance of deployment (via browser performance testing, performance monitoring/tracing) and rollback based on performance via post deployment monitoring, all from a single application. Strong Performer in the Forrester Wave for Continuous Delivery and Release Automation Q2 2020
- James Governor from RedMonk talking about GitLab’s focus on Progressive Delivery - GitLab is an interesting case for a couple of key reasons:
a) It has a significant and fast growing enterprise footprint, notably with its CD product.
b) It develops software at high velocity, with a monthly release schedule and a strong bias to shipping, so you can watch improvements in real time. The company ships open source software and has a strong culture of corporate observability.
Unified and integrated monitoring and deployment strategies Unified and integrated monitoring and deployment strategies
2) Automated and Integrated Continuous Delivery GitLab Auto DevOps simplifies and accelerates delivery with a complete delivery pipeline out of the box. Simply commit code and GitLab does the rest. GitLab also provides an integrated dashboard that spans across the CI/CD pipeline status and deployment status - The built-in features of Auto DevOps have made our experience more rewarding and effective - Daniel B on G2 Peer Reviews
- It has really helped us to shorten lead time, which has positively affected every single metric we measure - Chorus.ai
- GitLab Auto DevOps also delivered the technology component required for true CI/CD, accelerating product delivery with an end-to-end pipeline out of the box. - ExtraHop Networks
Automated and integrated Continuous Delivery Automated and integrated Continuous Delivery
3) Modern Compliance for Continuous Delivery GitLab simplifies compliance with helping customers define granular policies such as who can approve MR, push to production, segregation of duties, release governance etc, define security policies such as license compliance, password policies, credential inventories etc, track adherence to compliance such as user actions such as commits, permission changes, approval changes, logins, password changes, release evidence etc - all within a single application which allows traceability from deployment all the way back to code changes and requirements - During a recent audit for SOC2 compliance, the auditors said that Chorus had the fastest auditing process they have seen and most of that is due to the capabilities of GitLab - Chorus.ai
- There is no longer a need for license keys or several different logins, because of the built-in security and compliance. Software is deployed anywhere, which relieves developers localization constraints.
tbd

Message house

The message house provides a structure to describe and discuss the value and differentiators for Continuous Delivery with GitLab.

Customer Facing Slides

Discovery Questions

Sample Discovery Questions

Additional Discovery Questions

Industry Analyst Relations (IAR) Plan

For a list of analysts with a current understanding of GitLab’s capabilities for this use case, please reach out to Analyst Relations via Slack (#analyst-relations) or by submitting an issue and selecting the “AR-Analyst-Validation” template.

Competitive Comparison

Proof Points - Customer Recognitions

Quotes and reviews

Gartner Peer Insights

Gartner Peer Insights reviews constitute the subjective opinions of individual end users based on their own experiences, and do not represent the views of Gartner or its affiliates. Reviews have been edited to account for errors and readability.

“GitLab is the most preferred service in the world and its user community is very wide. We can authorize project or branch based user authorization on GitLab. In addition, continuous deployment integrations can be done very quickly. In addition, you can create merge requests within the constraints you want and easily manage them. It is very easy to prevent conflicts. A service that must be used for software development teams.”

“GitLab supports my [company’s] entire continuous integration and continous delivery(Ci/Cd) process. It has a smooth integration with Jira , which we use for software process management. "

“At my company we use [GitLab] to host all the different projects as it very easy to use and collaborate with may developers. Every project has access to specific set of people who has access to view, build features in the project. Peer reviews are very simple to view the code changes in a split window. Easy to create pipelines with CI/CD”

G2

“For me, the most impressive part of their toolchain would have to be the CI/CD Platform, the ease of use and it’s flexibility is wonderful. Building CI/CD pipelines never felt easier.”

  • Luca Favaretto Marques, Software Engineer, Mid-Market, G2

“GitLab does a great job at creating a unified experience for our developers. We previously had several best-of bread solutions (code repository, issue tracker, CI runners and deployment pipelines) co-exist between our team, but we managed to consolidate this into a single solutions, which meets most of our needs.”

  • Joël Cox, Partner, Small Business, G2

“The main reason why I chose GitLab over years of using Github was because of their CI/CD tool. Github doesn’t come with it out of the box and we needed a solution in a team where nobody is a DevOps but js developers”

  • Cynthia Sanchez, Founder, Product-Manager, SMB, G2

“GitLab has helped me master Git, CI/CD pipelines, and software development in general through the many resources it offers. I don’t have to spend time learning so many separate services and figuring out how everything fits together. I would strongly recommend it to anyone looking for a great tool for their development activities.”

  • Justin Smith, System Administrator, Mid-Market, G2

Garter Peer Insights ‘Voice of the Customer’

GitLab Recognized as a Gartner Peer Insights Customers’ Choice for ARO

Blogs

Wag!

  • Problem: Complex toolchain that hindered deploy times and disempowered developers
  • Solution: GitLab Ultimate (SCM,CI,CD) and Terraform
  • Result: Athlinks cuts runtime in half with GitLab
  • Sales Segment: Enterprise

Case Studies

Hemmersbach

  • Problem Hemmersbach was burdened by multiple tools and communication inefficiencies, resulting in slow production builds and manual processes
  • Solution: GitLab Ultimate (CI/CD)
  • Result: Having all of the collaboration capabilities under one umbrella has enabled unprecedented deployment speed (up to 30 automated daily deploys)
  • Sales Segment: Enterprise

BI Worldwide

  • Problem BI Worldwide was looking for a way to increase collaboration and efficiency in its developer environment and to reduce toolchain complexity
  • Solution: GitLab Ultimate (SCM/CI/CD)
  • Result: Deployments increased to 10 times daily
  • Sales Segment: Enterprise

Glympse

  • Problem A complex developer tech stack with over 20 distinct tools that was hard to maintain and impeded innovation
  • Solution: GitLab Ultimate (SCM/CI/CD)
  • Result: 8 times faster deploys (from 4 hours to less than 30 minutes)
  • Sales Segment: Enterprise

KnowBe4

  • Problem KnowBe4 was looking for a tool to keep code in-house and that offered the capabilities of several tools in one
  • Solution: GitLab Ultimate (CI/CD) and AWS
  • Result: 5+ production deploys per day for any given application plus 20+ development environment deploys per day
  • Sales Segment: Enterprise

MGA

  • Problem MGA was looking for a cost efficient CI platform that could improve workflow, knowledge, and code quality.
  • Solution: GitLab Starter (SCM/CI/CD)
  • Result: 10 times better success rate with CD than with manual deploys plus 80% time saved moving to CD
  • Sales Segment: SMB

References to help you close

SFDC Report of referencable Release customers. Note: Sales team members should have access to this report. If you do not have access, reach out to the customer reference team for assistance.

Request reference calls by pressing the “Find Reference Accounts” button at the top of your stage 3 or later opportunity.

Adoption Guide

The following section provides resources to help CSMs lead capabilities adoption, but can also be used for prospects or customers interested in adopting GitLab stages and categories.

Playbook Steps

  1. Ask Discovery Questions to identify customer need
  2. Complete the deeper dive discovery sharing demo, proof points, value positioning, etc.
  3. Deliver pipeline conversion workshop and user enablement example
  4. Agree to adoption roadmap, timeline and change management plans, offering relevant services (as needed) and updating the success plan (as appropriate)
  5. Lead the adoption plan with the customer, enabling teams and tracking progress through engagement and/or product analytics data showing use case adoption

Adoption Recommendation

This table shows the recommended use cases to adopt, links to product documentation, the respective subscription tier for the use case, and product analytics metrics.

Feature / Use Case F P U Product Analytics Notes
Try Auto DevOps x x x instance_auto_devops_enabled and counts.ci_pipeline_config_auto_devops
Setup GitLab CI x x x Having a .gitlab-ci.yml is the basis of using GitLab for deployment
Setup an Environment x x x counts.environmnets
Deploy to an Environment x x x counts.deployments, usage_activity_by_stage_monthly.release.deployments
Create a Release x x x counts.releases
Create Release Evidence x x x
Setup and use feature flags x x x

Enablement and Training

The following will link to enablement and training videos and content.

Professional Service Offers

Key Value (at tiers)

Core/Free

Why choose GitLab Core/Free for CD? We are committed to lowering the barriers for organizations embarking on their CI/CD journey. In March 2020, we announced a number of features CD features that are moving to core.

Key features with Core/Free:

Premium

Why choose GitLab Premium for CD? Premium is ideal for scaling organizations for multi team usage, enabling organizations scale their DevOps delivery with advanced configuration, consistent standards and compliance. Take advantage of enterprise level priority support, including 24/7 uptime support, a named Customer Success Manager (CSM), and upgrade assistance.

Key features with Premium:

Ultimate

Why choose GitLab Ultimate for CD? Ultimate is ideal for projects with executive visibility while managing priorities, security, risk, and compliance.

Key features with Ultimate:

Resources

What is CI/CD?

Check out this introductory video to learn the basics of CI/CD as software development best practices and how they apply with GitLab CI/CD!

Presentations

Continuous Delivery Videos

Integrations Demo Videos

Clickthrough & Live Demos

Blogs and articles

Interesting reads

Buyer’s Journey

Inventory of key pages in the buyer’s Journey

Awareness
learning about the problem
Consideration
looking for solution ideas
Decision
is this the right solution
topic page? solution page proof points
landing pages? ?comparisons? comparisons
-etc? - product page x
- product page y
- product page z

Continuous Delivery Message House
Messaging and Positioning Positioning Statement Continuous Delivery with GitLab automates application delivery for DevOps engineers, Operations and Release Management Personnel via an out of the box, integrated solution to create application delivery pipelines that are consistent, repeatable and compliant. Short Description GitLab’s Continuous Delivery helps customers automate application deployment with repeatable and compliant delivery processes from a single application. Long Description As developers build code faster and organizations move towards more frequent deployments, automating the application delivery processes is crucial.