Issue tracking#
- What it is: project management software for software engineering. Keep track of bugs and new features to build.
- What companies use: JIRA, Linear, Shortcut
Source control#
CI/CD#
Monitoring#
- What it is: monitoring your app’s performance and scalability.
- What companies use: Datadog, Grafana, etc.
Phew, that’s a lot – and this is just for DevOps. Though there are benefits to customizing your stack with purpose-built tools for specific tasks, it’s not hard to see that this can become annoying over time: each piece of software requires its own integrations, maintenance, and billing scheme.
Buying, integrating, and maintaining software – especially in developer tools, and especially at larger companies – can be a surprisingly resource intensive endeavor. Integrating a tool like Datadog requires changes to your application code, e.g. using tracers in Node. While the setup costs are usually up front, they can be non-negligible, hence GitLab’s pitch.
GitLab’s take is that you should be doing all of this in one, single tool to consolidate your stack. This comical visualization on their homepage puts things into perspective:
With that in mind, let’s dive a bit deeper into what their product offerings look like.
GitLab’s product lines#
GitLab wants you to use them for everything you’d do that relates to DevOps, from tracking what you’re working on all the way to monitoring your application’s performance. We’ll cover the important ones:
Issue tracking#
You can use GitLab to project manage software engineering, like you’d use Jira. Each feature you want to build, bug you need to fix, or even small cosmetic “let’s get to this when we have time” things get what’s called an issue or a ticket. If you’ve heard the phrase “pick a ticket off the backlog” from an engineer, that’s what they’re referring to.
Like other tools, GitLab also gives you analytics on top of your issues: how fast things are getting built, who is contributing the most, and things of that nature.
Alternatives: Jira, Linear, Shortcut
Source / version control#
You can use GitLab to manage your code repositories and handle merging in changes from your team, like you’d use GitHub. The actual application code is hosted on a GitLab server, and developers pull local copies to their laptops to develop new features or fix bugs. Once they’re ready to merge that new code in, you use what GitLab calls their Merge Request feature, loosely comparable to a GitHub pull request.
Alternatives: GitHub, BitBucket
Package / container registry#
GitLab provides a utility for packaging and storing any dependencies that your application relies on. For example, if you’ve built your web application in React, you need somewhere to store the actual code that Facebook wrote to build React. Most teams use a package manager like npm, but for more mission critical applications with larger packages, teams will use something like GitLab to store and host those packages.
Alternatives: JFrog, npm
CI/CD#
You can use GitLab to run your CI/CD pipelines. For CI, you might use GitLab to run unit tests that make sure your code operates as intended when you create a merge request. For CD, you might use GitLab to run your app’s build steps and release it to your users.
Alternatives: CircleCI, Harness, JFrog
Monitoring#
Once you’ve gotten your application out to your users, you can use GitLab to monitor its performance, like you might use Datadog. Teams commonly look at metrics related to speed, i.e. how quickly APIs respond to requests, as well as reliability, i.e. how often requests return successful responses and if any errors are unusually frequent.
Alternatives: Datadog, Grafana, Elastic
AI-powered development#
GitLab has jumped on the AI bandwagon too with their GitLab Duo suite of AI features . These tools help with everything from writing code to finding security vulnerabilities, essentially giving developers an AI pair programmer that works across the entire DevOps lifecycle.
For example, they’ve got a code assistant like Cursor or Windsurf. There’s AI-assisted root cause analysis when a code test fails or doesn’t go as intended. And an AI assistant for understanding vulnerabilities in your code. Each one of these individual products is (likely) far inferior to dedicated products out there (like Snyk for vulnerabilities), but alas, when put together in a PlAtFoRm, their sum is greater than their parts. Which is the entire GitLab philosophy in the first place.
---
Finally, some closing notes on GitLab. This is an enterprise company who makes their money through large deployments at slow moving, massive companies — over 50% of Fortune 100 companies are GitLab customers . And this is why many people have a hard time understanding what they do.
If you’ve been reading Technically for a while, you’re familiar with the Technically Sniff Test™ – if the company’s website does not explain what their product does, they’re focusing on enterprises. And GitLab is certainly an offender here. The majority of the homepage speaks of faster iteration, business value, transformation, and innovation cycles (?). Documentation is nested two levels deep in their navigation. There are webcasts (?) and e-books advertised above the fold. This is a company selling to executives, not developers.