Harness is categorized as:
Cloud Cost Management
Cloud Cost Optimization
Service Reliability Management
Security Testing Orchestration
GitLab Continuous Delivery (CD) helps streamline and automate the application release process to make software delivery repeatable and on demand.
GitLab is categorized as:
Harness CD Vs. Gitlab
GitLab CD vs Harness: DevOps Tools Comparison
February 1, 2022
- SaaS & On-Premises
- No Scripting Required
- Ease of Use
- Cloud-Native App Support
- Traditional App Support
- Canary Deployments
- Infrastructure Provisioners
- GitOps (Pipelines as Code)
- Continuous Verification ™
- Change Management Jira/SNOW
- Role-Based Access Control
- Secrets Management
- Audit Trails
- Accelerate Metrics & Reporting
CloudFormation and Terraform
<with><with> Manual Analysis
Detailed Feature Comparison
Harness CD Vs. Gitlab
SaaS & On-Premises:
Both GitLab and Harness offer SaaS and on-prem versions of their product. No matter your use case, both solutions can deliver.
Ease of Use:
A plus to using GitLab is that it was, initially, a source code management tool / Git repository. As such, converting to their CI/CD platform would have advantages when it comes to easy integration. However, if GitLab is your SCM tool of choice, rest assured that Harness easily integrates with it as well. When it comes to ease of use, some features are buggy and that the overall system can be quite slow. Documentation was found to be lacking for more complex setups. UI is clean, but not intuitive – definitely has a learning curve and needs improvements in order to be less confusing. Lastly, CI can be hard to integrate with automatic and manual tests users have created in the past with their prior CI tool.
Cloud-Native App Support:
GitLab supports AWS, Azure and GCP clouds. It also supports Kubernetes, Helm, and ECS for container orchestration. Harness supports all of the above, and additionally, all other cloud providers. Harness was designed to be cloud-native.
Traditional App Support:
GitLab supports JAVA, .NET, and custom traditional apps. But, Harness does it too – among a plethora of other things.
To utilize Canary deployments with GitLab, you must first go through the process of enabling Deploy Boards, and then you can enable the Canary deployments themselves. It’s a cumbersome process when you can have a platform like Harness that provides Canary deployments out of the box – no coding required, only some minor config.
GitLab, as of October 2020, now offers a Terraform integration for infrastructure provisioning. Harness offers a Terraform integration too, but also goes a step further and supports AWS CloudFormation. All other infrastructure provisioners are supported via shell script.
Continuous Verification ™:
Continuous Verification is the process of monitoring your app for abnormalities after a deployment. For example, Continuous Verification could catch a latency issue or 5xx errors and automatically roll back your app to the previous version. The idea is to catch errors as quickly as possible – ideally, before customers notice – and make a seamless transition back to the prior version. GitLab does not provide Continuous Verification capabilities, only a manual process with a Prometheus integration. Harness, however, provides Continuous Verification out of the box, effectively reducing risk and reputational damage from downtime. As for vendor integrations, we mentioned Gitlab’s Prometheus – sadly, it’s currently their only tool integration. Harness supports many vendors, including Prometheus, Datadog, AppDynamics, New Relic, StackDriver, CloudWatch, and custom monitoring and observability tools.
Change Management Jira/SNOW:
GitLab offers a Jira integration, but that’s more so for record keeping purposes. You can’t do anything substantial, like using Jira to approve or reject a pipeline or workflow step. Harness, however, offers this functionality. With a few simple steps, you can easily leverage Jira and ServiceNow as approval mechanisms.
Role-Based Access Control:
When it comes to configuration, GitLab provides only 5 predetermined ‘roles’ that are not customizable at a granular level, and permissions cannot be separated by environments. For deployments, GitLab does not support RBAC, except for their native Kubernetes integration – that means no granular support for deployments that would allow for specific user, group, environment, or namespace mappings. Harness, on the other hand, provides fully-configurable CRUD access across every entity, whether services, environments, workflows, pipelines, or provisioners. Harness also provides full Deployment RBAC for an unlimited number of user groups across every application and environment. There are also separate permissions for governed pipeline execution than for individual workflow execution. For example, developers can kick off pipelines that meet all security and quality checks and have all required approvals in order to progress through environments, but can’t deploy directly to specific environments, like staging or prod.
GitLab does not offer native secrets management capabilities. They have selected Vault by HashiCorp as their first supported secrets management partner, which means you must first configure your Vault server. Harness, on the other hand, offers proprietary, integrated secrets management. No third parties are required, but all of the major secrets managers are supported.
GitLab provides good governance and compliance features, but many of them are only available on their Premium or higher plans, audit trails included. GitLab provides a list of every [audit event](https://docs.gitlab.com/ee/administration/audit_events.html, some which are pruned after 30 days. Harness provides audit trails on every pipeline, workflow, step, execution, and change. It’s all audited by Harness so you have a complete trail of all user activity.
Accelerate Metrics & Reporting:
There are four key metrics when it comes to software development: Lead Time (the average amount of time it takes from the time code is checked in to the version control system to the point in time where it is deployed to production), Deployment Frequency (the number of times deploys to production occur in a time period), Mean Time to Restore (MTTR: how long it takes to resolve or rollback an error in production), and Change Failure Rate (what percentage of changes to production fail). These metrics are paramount in truly understanding performance. GitLab currently has an Epic open to add this functionality, with the various plans/tiers getting upgraded reporting. Harness offers a beautiful dashboard specifically for these metrics and allows you to set alerts as needed – for example, you could set an alert to notify you if the Change Failure Rate goes above 1%.
*Please note: Our competitors, just like us, release updates to their products on a regular cadence. We keep these pages updated to the best of our ability, but there are bound to be discrepancies. For the most up-to-date information on competitor features, browsing the competitor’s new release pages and communities are your best bet.