Gitlab 极狐——DevOps 全家桶(IPO中性)

时间: 2024-08-14 02:24:19 |   作者: 兆瓦级风电变浆滑环

详情

  传统的企业软件都是一个多功能的综合软件(Monolith),所有的部件都是整体的一部分。所有部件都是一起开发,一起部署并一起上规模。所有的部件都用同一种语言编程,同一种 runtime。不同组建的开发团队需要协调工作以便不影响各自的工作(比如不同组件需要对应不同的主程序版本运行)所有的组建都要一起发布,因此所有的程序码都要一起测试。

  使用 Microservices 的结构编写程序将整个应用程序细分至最小的可划分层级,并且用 API call 彼此连接。

  各项组建可以独立上规模;个别组建故障不影响整体程序运行;各团队可以再一次进行选择自己的技术链(语言,runtime);可以更容易地测试及置换功能;个体团队开发效率更加高,提升生产力。

  创新步伐更快,稳定性更高,软件上规模速度能匹配业务增速;减少 IT 基建开支省成本,通过减少业务停机时间达到增加收入。

  Microservices 这种云原生年代的软件设计方式把东西散出去,那要怎么收回来?用 Container。Container 就跟字面意思集装箱一样,在海运之中,集装箱用标准化的尺寸规格可以最大化运输效率。Microservices 做出来的每个单个程序组件可以是各种形状的,必须要用 container 把它们装起来才可以发布。在云计算世代,要确保一个组件能在任何计算环境下运行,就会随身带着二进制文件(机读文件 binaries),函式库/库(libraries),以及配置文件等。Container 和运行环境的操作系统共享内核,因此在资源消耗上非常轻量级:占用较少容量,较少内存,启动更快。

  Kubernetes 是一个开源的 Container 管理工具。通过 kubernetes 可以轻易地进行负载分配,达到高效运行多个 container。Kubernetes 获取 container 之后根据实时资源可用性将其分配给不同的服务器(节点)进行运算。所以客户端虽然看到是有一个单个程序在运行,其实背后是 Kubernetes 将分散在各地的节点上的多个 container 的计算合并的结果。Kubernetes 主要三大功能:获取 container,自动化分布计算,根据程序负载高低,调整规模(Scale,注:在企业应用程序语境下,规模动词的意思是从零至负载上限的自由调整)

  是不是很厉害?我是觉得很厉害。Microservices,container 和 Kubernetes 组成了云原生年代企业软件的运行主心骨。至此,企业软件已完成了从单机软件到 On-premise,从 on-prem 到虚拟机,再从虚拟机到单云,再从单云至多云的科技策略过渡。真正的云原生是多云策略。

  Git 是一个版本控制管理系统。这个软件系统能帮助开发者记录源代码的变更纪录。Git repository 储存库是包含了所有的项目文件和完整的修改历史。Git 是一个开源项目。

  Github 是一个基于云的托管服务,这个服务可以让你管理 git 储存库。Git 是一个工具,而 Github 是一个服务。Git 是 Linux 基金会提供服务的,而 Github 是微软所拥有的。

  Gitlab 是一个基于云的 git 和 devops 平台,帮助开发者监控,测试,并发布自己的代码。Gitlab 可以导入多种其他来源的项目(project)和议题(issue)。

  软件工程师用版本控制来追踪,维护源代码,文档以及设定档等改动,并提供控制这些改动控制权的程序就是 VCS。

  最原始的 VCS 就是开发人员自行保留一个程序的不同版本,为其编号。这种方法不够有效率,除了会出现需要同时维护多份源代码之外,还以来程序员的修养和纪律,即易发生错漏导致软件开发不顺利。因此有人开发出将版本控制工作自动化的 VCS。

  大部分的版本控制工具都使用差分编码:即只保留不同版本之间的差异部分,更有效率的存储多版本档案。(Git 也采用差分编码)。

  传统版本控制管理系统采取中央式系统:所有版本控制工作在同一个服务器进行,同一时间只让一个开发者工作(避免了复写彼此工作的错误)。2000 年后,BitKeeper 等开始使用分散式版本控制管理系统:允许多开发者在各自的本地 repository 工作,允许同时更动同一档案,各个 repository 有合并各个改变的功能。让开发者有版本控制的适当能力,不需中央许可,且可以不接网运行,极大的提升了效率。

  Git 诞生源于 BitKeeper 的封闭性。在 Linux 社区有主张使用开源软件的版本控制管理系统。在 Linux 与 BitMover 公司协商未果之后,Linux 的托瓦兹(Linux 的最早作者)用十天时间编写出了第一个版本的 Git。Git 具备高效能以及出色的合并追踪能力。Git 是目前最受欢迎的 VCS。

  企业级程序/应用由于其功能特性和使用人群,和个人程序有巨大的区别。其一就是企业级程序许多都是开源的。而企业版本的开源软件会有一部分的功能上锁需要付费使用,锁柱的并不是这些功能本身,而是持续的技术上的支持,软件更新,以及服务。这就是怎么回事 SaaS 是软件即服务,而不是软件即代码。这里要讲到 DevOps 概念。

  一个企业级应用软件在结构上更加重视开发者(Developer,Dev)和运维者(Operation,Ops)的协作关系。不论该程序初始是外部编写还是内部自行研发的,都需要考虑到部署之后频繁的新增功能能否带来快速的,规模化的应用,和处理海量数据的能力。

  企业级应用的强数据属性也对数据审计能力提出了个人应用所不需要的要求。毕竟企业数据的处理关乎到损益,甚至是合规性的影响。另外,企业级应用的可靠性也是个人应用不可比的:个人软件可以偶尔出错,但电商网站一个错误可以导致真金白银的损失。

  另外,近年来企业转云端的趋势大幅度的提升了企业级应用的更新频次(因为部署和更新都变得更方便)。因此在一个大型的程序开发团队工作,开发者和运维者的工作变得高度重合,当代应用开发过程的高透明度,高自动化部署趋势明显。对比传统程序开发,DevOps 模式的开发增加了更新频次,减少了每次更改的幅度,降低了程序出大错的风险(以及其后的长更改周期)。理论上,当今的应用程序开发模式(高频 + 低幅度)对比传统开发模式(低频 + 高幅度)对自动化提出了前所未有的要求。这也是整个 VCS 链条的商业机会所在。

  往大了说,DevOps 是一种企业文化,或者至少是 IT 文化:开源软件项目开发是 DevOps 的文化蓝图。通过自由分享信息和社区协作,可以推动企业在 IT 决策中的高透明度,鼓励实验,消除减低惧怕失败感等。

  上文提到早期的版本控制系统可以使不同的开发者同时在各自本地的资源库同步开发,再合并,集中发布。虽然解决了复写错误等问题,但其成本及效率并不适应当前的云计算世代的频繁迭代需求。CI/CD 的功能使用共享资源库,并持续的自动化的生成 build(build 是软件版本的最频繁的更新版本,与 release 和 version 不同,基本是将变动过后的源代码编译成机器能读懂的代码后的内部版本)且来测试。CI/CD 的功能就是让编译和测试的过程变成自动化,进而达到高频的合并及发布。还可以达到一天内数次的合并发布。

  单一资源库类似数码照片处理中的 raw 格式,这个格式的照片能反复修改,全链条的修改都被记录且可逆,即使多人同时在上面做修改,只要有工具可以记录追踪这些变更项目,最终都可以还原到多个修改链中的任意步骤。(注:数码相机记录的影像都是 raw 格式的,经过压缩且在不同媒介传播的多种图片格式:Jpg,Png,Gif 等都是经过压缩且有损失的格式,raw 相当于数码照片的源代码)单一资源库相当于 raw 格式,而 CI/CD 工具相当于 Photoshop 软件。

  CI/CD 的其他特性:自动编译和自动测试都是释放程序员生产力的利器。任何非编写代码和更改代码的时间都是无生产力的时间浪费。与大多数行业一样,编程也免不了一些无意义的杂活儿。这些高重复性的无趣工作就应该交由自动化完成。

  CI/CD 是个多组件的流程,包括了单一资源库管理控制(VCS),测试工具,发布工具,监控及网安工具等。Gitlab 试图将多个组建集合在自己的平台上,一站式完成 CI/CD 的流程。

  Gitlab 采用 Freemium 的模式,即主要基本功能(基础 VCS 和 CI/CD 运行功能)免费,适合个人用户;高级功能付费:高级功能注重集体生产效率和协同:多用户使用权限,分析及报告功能,看板功能,策略规划工具等(即任何企业用户至少都要使用到的功能);终极版在高级版的基础上增加了网络安全,个别行业合规检查以及更高级的策划工具(这类功能吸引公司高管)。

  以上工具使用 SaaS 的月费计费:高级版 19 美元/月每用户,终极版 99 美元/月每用户;除此之外还有按量收费的 CI/CD:每 1000 分钟收费 10 美元。

  公司自行测算 DevOps 平台市场规模在 400 亿美元。根据 IT 行业咨询公司 Gartner 的测算,全球基础设施类软件市场总规模在 2021 年底达到 3280 亿,2024 年底达到 4580 亿。(即行业增速 11.8% 的 CAGR)GTLB 觉得自身可以潜在获取这其中的 430 亿(2021 年)到 550 亿(2024 年),相当于 3 年 CAGR=8.6%。这个份额是根据 Gartner 对 GTLB 正在经营的所有子市场类别在今后几年的总量来估算的。

  也就是说 Gartner 认为未来三年 DevOps 相关的企业开支总体市场只会有 8.6% 的增速。客观的评价这个子赛道并不算吸引。SaaS 公司千千万,我们大家可以选择行业增速和公司增速双高的,比如网络安全(我之前写过)或者数据分析(Snowflake 之类)因为这些品种的 IT 开销要么不得不花(网安基本是云原生的必备),要么是直接为公司创收(数据分析直接跟公司业务直接相关)中台架构并不是直接牵动管理层神经的 IT 投资。略显不幸的是,企业往往是迫于同行竞争压力才会采纳。

  虽然品类不算特别性感,成长故事未必讲不通。毕竟 GTLB 目前只有 2.33 亿美元的趋势年化收入。如果 TAM 能轻松实现,TAM 对比公司现在的收入还有 200 倍的空间。

  公司财年每年的一月底结束,最新一个季度(截止到 7 月底的季度)的季度收入 *4 得出的是年华的出售的收益是 2.33 亿美元,同比增长 69%,超过 3632 个年度付费超 5000 美元的客户。DBNRR 是 152%,超十万美元的大客户数 383 个。

  付费客户公司分为三档统计:基础客户(年收入 5000 以上),$10 万 + 客户和$100 万 + 客户:从客户数角度分析,公司从今年 1 月底到 7 月底半年间,三档客户的客户数增速均见上涨:

  客户留存率 DBNRR:截止到今年 1 月底和 7 月底的 DBNRR 分别是 148% 和 152%。用户粘性奇高,在 SaaS 同业中属于顶尖水平。

  公司的未来开支计划暂时找不到(实话说,公司的投资者关系网页是今天才加到公司的官方网站的,昨天还没有(摊手))

  上图是公司的损益表,以及经过 SBC 调整的两项利润率。由于公司没提供开支和自由现金流的指引,我们只可以在 IPO 之后再进行跟踪。

  另外,虽然收入类别没有拆分,但是 S-1 招股书上面的注释透露了一点关键信息:购买终极版的 ARR 占比从 2020 年 1 月底的 17%,上升至 2021 年 1 月底的 26%,并在 7 月底达到了 29%。这和 2021 财年公司大力砸研发在三个分支分不开:VCS,CI/CD 和安全性测试。

  根据公司 10 月 12 日最新 S-1 更改稿:公司此次发行 842 万股新股,股东卖出 198 万老股,总共 1040 万股,定价区间目前提高至$66-69(此前$55-60),上市后公司 A 股加 B 股总共 1.43 亿股(未算股权激励),按这个股数计算,公司的市值区间将在 94 亿-98.7 亿之间。现在盘前股价已经 77 了,所以市值已经突破百亿在 110 亿美元。

  公司最接近上市的 E 轮融资的估值是 25 亿美元,2019 年开始。去年年底老股出售估值达到了 60 亿美元。作为参照,2018 年微软收购 Github 的估值是 75 亿美元。

  知名股东:早期投资者 Y Combinator,硅谷家族办公室基金 ICONIQ(扎克伯格,杰克多西等),谷歌母公司 Alphabet,老虎基金,高盛等

  出售老股的股东:主要机构股东均不出售股票,创始人 CEO 卖出 198 万股,相当于个人持股的 7.7%。

  2022 财年收入预测:假设增速 70%,2022 财年收入达到 2.58 亿,2022 财年市销率 42.6 倍。看法中性。