The document discusses GitLab, a DevOps tool that provides an integrated platform for the entire development lifecycle including version control, issue tracking, code review, CI/CD, and monitoring. It notes that GitLab Inc. is a remote company with 300 employees that offers both open source and paid versions. The document outlines how GitLab aims to solve the "toolchain crisis" by providing a single application to handle all DevOps tasks rather than separate tools requiring complex integration. It describes GitLab's distributions including Starter, Premium, and Ultimate tiers that provide different features around build/test, governance, security, and support.
6. 6
GitLab the Company
GitLab Inc. is a open-core company that sells
subscriptions that offer more feature and support
for GitLab.
The company is remote only with around 300
people working from their own location in more
than 40 countries.
Our history starts in 2011 for the open source
project, and in 2015 we joined Y Combinator and
started growing faster.
Recent investment from GV and Telstra.
7. about.gitlab.com/about
Launched CI/CD
Tools to complete
SDLC offering
DECEMBER 2016
Launched GitLab
10.0
Surpassed 1,800
contributors
SEPTEMBER 2017
Start of
GitLab -
Issue
Tracker and
SCM only
2011
Graduated
from Y
Combinator
MARCH 2015
Series B
funding led by
August Capital
SEPTEMBER 2016
Series C funding
led by GV;
Complete DevOps
OCTOBER 2017
Company
Evolution
GitLab Inc.
2014
Series A
funding led by
Khosla
Ventures
AUGUST
2015
10. 10
C o o r d i n a t e A s s e t s
(code, scripts, artwork, binaries, etc.)
C o o r d i n a t e T e a m s
(design, dev, release, devops, etc.)
Key Requirements
P I P E L I N E
Complete Visibility Distributed Teams Flexible Workflow
Scalable & PerformantUniversal SecurityUnified Repository
12. Philosophies – 논어, 학이편
P I P E L I N E
Unified Repository Universal Security Scalable & Performant
Flexible WorkflowDistributed TeamComplete visibility
学而時習之
有朋自遠方来
17. 17
And it’s getting worse
The shift to microservices
creates an explosion of
projects today’s toolchain
is not built to handle.
18. 18
A single application for the complete DevOps lifecycle
Single Conversation
Single Data Store
Governance and Security
Single Permission Model
Lifecycle Analytics
Team Collaboration
Portfolio
Mgmt
Issue
tracking
Version
control
Code
review
Continuous
integration
Security
testing
Container
registry
CD/Release
automation
Configuration
Management
Monitoring
Plan Create MonitorVerify Package Release Configure
Concurrent DevOps
Single Interface
28. Auto DevOps Webcast
● Upcoming Webcast: June 27 9am PT / 4pm UTC
● https://about.gitlab.com/webcast/auto-devops/
● Recorded Webcast:
● https://about.gitlab.com/webcast/devops-automation/
Editor's Notes
Modern software development requires agility - agility in practices, in processes, and, importantly, with solutions that support the rapid pace of delivering value to customers, which is to say, working software.
Teams rely on many different systems for version control, automated testing, support for complex build-and-deploy configurations, and end-to-end visibility and traceability.
The graphic on the screen shows an actual DevOps environment.
A diagram or configuration like this may be familiar to you - a number of individual, interconnected systems that handle each a specific aspect of the SDLC.
As intricate and complex as it is, this is the reality for many organizations producing software.
With such degree of complexity, there is a high cost of ensuring that all the pieces are working well.
Joined GitLab in March 2018, working as a Senior Frontend Engineer
2011 - GitLab started as an open source project
2012 - GitLab.com started with an Show HN I did. People liked it so I informed Dmitriy I would be monetizing it but that he wouldn’t get anything. He responded that it was awesome I was making GitLab more popular and that it was open source.
2013 - I learned that it was hard to monetize as SaaS. But I had large organizations asking for more features. At that time Dmitriy tweeted publicly that he wanted to work on GitLab full-time. So I went to the local Western Union office to pay Dmitriy for his first month. There was a lot of fraud from the Ukraine so they asked if this was someone I knew or met over the internet. In our first step to being a remote company said I knew him.
2014 - GitLab Incorporates. At the end of the year the company cancelled. They moved GitLab but the top of the organization decide on an alternative. We've since won them back. Wake up call that made us realize that over the next few years every organization will select one solution.
2015 - Graduated Y combinator with 9 people
August 2015 - Series A round led by Khosla Ventures to help us build the team
May 2016 - GitLab hits 1,000+ contributors
September 2016 - We have over 100 team members on 6 continents. We’ve been able to scale as a remote-only company this far. And we want to continue this to hire people wherever they are and work from where they prefer
From the Perforce eBook:
Think beyond the code
All digital assets can be first-class components
Automate, automate, automate
Make everything fully visible
Track every change
Put it all in one place
Scalable
Universal adoption
Security
I am bringing this example again. Yes, Google again.
I showed a part of this presentation earlier when I explained Code Review.
This is the same presentation and she is now talking about SSOT.
As you can see it, she emphasizes the advantages of SSOT as the visibility, flexibility and supporting distributed teams. Scalability and Unified versioning.
Here you can see the core stages of the devops lifecycle, you have planning, code creation, all the way through to monitoring. And also shown, are are just some of the tools that can be potentially used at each stage. And this chaining together of tools, comes at the cost of integration complexity
You need resources to design, build, and maintain the integrations, manage upgrades, and establish HA and DR for each one. They are brittle and can fail.
Setting up a new project, or troubleshooting and optimizing an existing project, becomes difficult and is too slow for todays demands
And the toolchain only serves to reinforce silios that you are trying to break down in the name of DevOps. Instead of teams being able to collaborate together, their different tools put them in indifferent workspaces.
As more and more development teams embrace Cloud Native (where applications are built using microservices running in containers), the number of projects proliferates which disparate tool sets were not built for. They were built during the monolithic application era, where releases encompassing a large number of changes were infrequent.
GitLab drives radically faster cycle times by helping DevOps teams achieve higher levels of efficiency across all stages of the lifecycle. Concurrent DevOps makes it possible for Product, Development, QA, Security, and Operations teams to work at the same time, instead of waiting for handoffs. Teams can work concurrently and review changes together before pushing to production. And everyone can contribute to a single conversation across every stage. Only GitLab eliminates the need to manually configure and integrate multiple tools for each project. Teams can start immediately and work concurrently to radically compress time across every stage of the DevOps lifecycle.
And developers see all relevant security and ops information for any change. With GitLab, there is never any need to wait on synchronizing your monitoring app to version control or copying information from tool to tool. GitLab frees teams to manage projects, not tools. These powerful capabilities eliminate guesswork, help teams drive accountability and gives everyone the data-driven confidence to act with new certainty. With Gitlab, DevOps teams get better every day by having the visibility to see progress and operate with a deeper understanding of cycle times across projects and activities.
Having all these value chain stakeholders looking through different paynes of glass limits business agility.
GitLab covers all parts of the expanded DevOps definition instead of perpetuating silos.
GitLab has 2 different software distributions available for self-hosted installation: Community Edition (CE) and Enterprise Edition (EE). Community Edition is free and open source, it contains all of our Core features. Our Enterprise Edition is open core. It contains all of the the Core open source features as well as additional proprietary features that we group into three enterprise-level plan: Starter, Premium, and Ultimate.
Many teams work as a GitLab group, with work spanning many projects in that group. For example, many organizations are moving toward or already have adopted a microservices architecture where each microservice is one code repository (housed in one GitLab project). So a team may naturally be working across multiple projects. And so it is extremely helpful to manage issues across all those projects together.
GitLab’s Group-level Issue Boards (EEP) is our most requested feature
GitLab 10.0 will provide group-level issue boards to manage all issues across all projects within a group in a single, concentrated view.
Lists, labels, and milestones are all managed at the group-level, allowing you to focus on the group
https://about.gitlab.com/2017/09/22/gitlab-10-0-released/
https://docs.gitlab.com/ee/user/project/issue_board.html#group-level-issue-boards
Auto DevOps brings DevOps best practices by automatically configuring your build, test, code quality assurance, review apps, deployment, and monitoring in a single environment. GitLab 10.0 introduced out-of-the-box templates to quickly set up an end-to-end DevOps lifecycle, built on top of GitLab CI/CD.
GitLab offers a single environment where a code change can not only initiate a build, but deploy a Review App to preview your changes from within each merge request. During the review process GitLab’s ability to measure Code Quality ensures changes improve the overall quality of your software.
After code review, GitLab’s deployment capabilities allow you to deploy to canary or production environments, as well as using GitLab Auto Deploy to deploy straight to Google Cloud. Post-deployment metrics with GitLab Auto Monitoring provide response and system metrics to make sure newly deployed code is performant.
GitLab 10.0 brings this entire lifecycle together in an automated way, allowing you to go from idea to production with GitLab Auto Devops.
https://about.gitlab.com/2017/09/22/gitlab-10-0-released/
Chat link to participants: https://goo.gl/forms/vfBATxZictf4AMuu2