About GitLab

As an all remote workplace, GitLab offers a single application for the entire DevOps lifecycle, from project planning and source code management to CI/CD and monitoring. GitLab is also a Google Cloud Technology Partner.

Enables development team to move faster and spend less time troubleshooting

61% improvement in availability for GitLab.com

For most modern enterprises, continuous integration and development (CI/CD) is essential to keeping users happy, employees efficient, and the business competitive. Without a carefully coordinated combination of software development and IT operations (DevOps), businesses risk impacting the software release cycle, slowing time to market, and being overtaken by faster moving competitors.

"We chose Google Cloud Platform as our cloud provider because of our desire to run GitLab on Google Kubernetes Engine. Google originally developed Kubernetes, and GKE has the most robust and mature Kubernetes support."

—Andrew Newdigate, Staff Infrastructure Engineer, GitLab

More than 100,000 organizations around the globe turn to GitLab, a single application spanning the entire DevOps lifecycle, from project planning and source code management to CI/CD, monitoring, and security. By enabling concurrent DevOps, GitLab accelerates customers' software development lifecycle.

GitLab offers its users two deployment choices: a software-as-a-service offering hosted by GitLab called GitLab.com, or a self-managed instance that can be deployed on-premises, in the public cloud (such as Google Cloud Marketplace), or almost anywhere. As more self-managed users adopt microservices and containers, the company wants to make it easier for them to set up Kubernetes for GitLab in the public cloud.

"We've seen a 61 percent improvement in availability for GitLab.com by moving from Azure to Google Cloud Platform. We're well on our way to achieving our goal of 99.95 percent availability."

—Andrew Newdigate, Staff Infrastructure Engineer, GitLab

By offering automation out-of-the-box with GKE, GitLab gave self-hosted users a head start on their software development lifecycle. Shortly thereafter, the company decided to move its hosted GitLab.com service from Azure to GCP, with the end goal of running GitLab.com as a cloud-native application on GKE.

"We chose Google Cloud Platform as our cloud provider because of our desire to run GitLab on Google Kubernetes Engine," says Andrew Newdigate, Staff Infrastructure Engineer at GitLab. "Google originally developed Kubernetes, and GKE had the most robust and mature Kubernetes support."

Improving stability and performance

To expedite the initial migration, GitLab remained with a VM-based architecture, using Compute Engine and moving approximately 200TB of data to Cloud Storage. Cloud Pub/Sub streams logs for analysis, while Cloud Functions gives GitLab an easy-to-use platform for event-driven computing to elegantly handle incident management and other tasks. By moving to GCP, GitLab also benefits from security features such as encrypted data at rest, an ever-expanding list of localities served globally, and tight integration with its Fastly content delivery network (CDN) for faster caching.

Stability for GitLab.com immediately improved following the migration to GCP. "We've seen a 61 percent improvement in availability for GitLab.com by moving from Azure to Google Cloud Platform," says Andrew. "We're well on our way to achieving our goal of 99.95 percent availability."

"We've seen far fewer latency spikes and much more consistent performance since moving GitLab.com to Google Cloud Platform, and that's very important for us to offer enterprise-class services for the entire DevOps lifecycle. "

—Andrew Newdigate, Staff Infrastructure Engineer, GitLab

Performance has also improved, as persistent disks backed by solid-state drives (SSD) smooth out the latency spikes that users previously experienced. Comparing GitLab.com access logs using BigQuery, GitLab found that I/O performance had improved significantly.

"We've seen far fewer latency spikes and much more consistent performance since moving GitLab.com to Google Cloud Platform, and that's very important for us to offer enterprise-class services for the entire DevOps lifecycle," says Andrew.

GitLab architecture diagram

Connecting an all-remote workforce

GitLab is unique in that it's one of the world's largest all-remote companies, following a remote-only manifesto that other organizations now use as a model for success. To help employees and contributors in 50 countries collaborate and feel part of the same team, it uses G Suite, relying heavily on Docs to structure meetings, co-edit and share information, and manage incidents. Three critical objectives of GitLab's remote manifesto are possible solely because of how G Suite is designed:

• Public sharing of information over need-to-know access

• Opening every document to change by anyone over top down control of documents

"We believe that everyone can contribute, and that means everything needs to be documented and everyone needs to have access to information," says Brandon Jung, Vice President Alliances at GitLab. "Our transparency is a differentiator for us, and it would be impossible for us to run our business in this way without G Suite."

About GitLab

As an all remote workplace, GitLab offers a single application for the entire DevOps lifecycle, from project planning and source code management to CI/CD and monitoring. GitLab is also a Google Cloud Technology Partner.