|Product Marketing||Technical Marketing|
|Saumya Upadhyaya ( @supadhyaya )||Itzik Gan-Baruch ( @iganbaruch )|
“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.
The typical user personas for this use case are:
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.
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.
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.
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.
The operations specialist ensures that the deployed application is available and performing to the required performance parameters.
The typical buyer personas for this use case are:
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.
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.
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 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
A collection of short demonstrations that show GitLab's CD capabilities.
|Market Requirements||How GitLab Delivers||GitLab Stage/Category||Demos|
|Application Release Automation & Delivery||TBD||TBD||Application Release Automation & Delivery|
At GitLab, we address these market requirements through features included in these stages/categories:
Continuous Delivery (CD), Pages, Review Apps, Incremental Rollout, Feature Flags, Release Orchestration, Release Evidence, Secrets Management
|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, 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.
|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
|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. - Parts Unlimited
The message house provides a structure to describe and discuss the value and differentiators for Continuous Delivery with GitLab.
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.
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. Obvious typos have been amended.
"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."
- Software Development Lead, Gartner Peer Insights Review
"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. "
- Principal Android Engineer, Gartner Peer Insights Review
"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"
- Software Engineer, Gartner Peer Insights Review
"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
Request reference calls by pressing the "Find Reference Accounts" button at the top of your stage 3 or later opportunity.
The following section provides resources to help TAMs lead capabilities adoption, but can also be used for prospects or customers interested in adopting GitLab stages and categories.
placeholder for a table showing the recommended use cases to adopt CD, links to product documentation, the respective subscription tier for the use case, and telemetry metrics.
The following will link to enablement and training videos and content.
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:
Why choose Gitlab Premium/Silver for CD? Premium / Silver 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 Technical Account Manager (TAM), and live upgrade assistance.
Key features with Premium/Silver:
Why choose Gitlab Ultimate/Gold for CD? Ultimate/Gold is ideal for projects with executive visibility while managing priorities, security, risk, and compliance.
Key features with Ultimate/Gold:
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!
Inventory of key pages in the buyer's Journey
learning about the problem
looking for solution ideas
is this the right solution
|topic page?||solution page||proof points|
|-etc?||- product page x
- product page y
- product page z