猪八戒网:12 年 10 次的 IT 大考
走进猪八戒网位于北京中关村的办公地,乍一进去有点蒙——这里还是个创客空间。而迎面八戒工场几个大字也证明了我们的猜测。对此,猪八戒网 CTO 叶萌告诉记者:这样的创客空间,猪八戒网在全国设立了超过 50 个,其中 40 多个已经在运营。
做中小微企业服务众包平台的猪八戒网,为什么要把触角向相对来说比较重的线下延伸,这是不是跟主业背道而驰了?
我们对叶萌的采访,就从这里聊起。
在叶萌看来,猪八戒网提供服务的边界,并非用线上、线下来做区分,“会员企业只需要关注核心能力和产品服务,此外的一切都可以交给平台上的服务商们。”
这也是猪八戒网为什么会给会员企业提供线下办公场所的原因,当然在业已成熟的平台端,猪八戒网给会员企业提供的服务也远非“交易”这么简单,企业体检、服务需求估价,甚至把自己研发团队的 DevOps 流水线、CRM 的实践经验以 SaaS 模式提供给会员企业,都是猪八戒网在做的。
表面来看这是商业模式的成功,对此业界的报道非常多:2015 年,猪八戒网获得赛伯乐投资集团和重庆两江新区产业投资引导基金 26 亿人民币 C 轮融资,猪八戒网估值百亿元人民币;2018 年,按照猪八戒网官方说法,其注册用户达 1900 万,其中雇主发包方涵盖中小微企业超过 700 万家,人才提供方服务商 1300 万家。对猪八戒网在商业上的成功,这里咱们就不赘述了,但是商业模式的背后,其实是需要企业具备非常夯实但又灵活的 IT 基础设施,以及强大研发能力的,这也是我们此次采访的重点。
在我们此次采访半个月前,猪八戒网的“腾云 10 号”刚刚发布,叶萌说“腾云 10 号”不是一个产品,而是 13 个研发项目的组合,更是近 200 人研发团队投入 3 个月精力的一次“行动”,在迄今为止猪八戒网创立的 12 年间,这样的腾云行动一共有 10 次。
“腾云 10 号”是“小 B 三连乘战略”落地的一个重大举措。所谓“小 B 三连乘战略”,是要聚焦于连接天下人才、服务小 B 企业(即中小微企业),以小 B 为中心构建雇主、服务商、平台三方共赢生态。用 3-5 年时间,从现在的 100 亿估值做到 100 亿营收、再用 5 年时间做到 100 亿利润。
叶萌介绍:“腾云 10 号是猪八戒网历史上第一次把全集团的数据打通,使我们能够在集团的层面通过大数据、人工智能来优化我们的派单规则、派单方式等。”此外交易流程的简化、用大数据和 AI 来提升交易效率,也是此次“腾云 10 号”功能上的一些亮点。
对于“腾云 10 号”的产品功能特色,叶萌着重举了两个例子。一个是“八戒火眼金睛",“八戒火眼金睛”通过知识产权指数、互联网 + 指数、法律风险指数、资质体系指数、投融资指数、经营风险指数、人才供需指数等 7 个维度,对企业进行“体检”。这些数据一方面来自猪八戒网本身拥有的企业可公开数据,另外就是工商部门、合作伙伴以及互联网上公开的数据。对于这些数据信息,“火眼金睛”只是通过特殊算法进行抓取和整合。目前,“火眼金睛”已经囊括了超过 1.1 亿条企业数据、5000 万条法律数据、3000 万条品牌数据等,而且这些数据还在不断增加当中。
另外一个新功能就是“服务需求估价”,猪八戒网与加州大学尔湾分校(UCI)合作,通过机器学习技术对于平台上雇主方发布的需求进行估价。如果有雇主发布“我想做一个像淘宝一样的网站”的需求,猪八戒网可以先帮忙去评估是“长得像淘宝”,还是“功能像淘宝”,然后根据评估进行估价。
作为一家创业公司,其实技术路径的选择异常重要,需要足够敏捷,使自己能够快速实现业务创新以及战略上的变化。猪八戒网的 IT 技术演进历程是什么?经过了几次重要的更新和迭代?对于这些问题,叶萌一一作答。
猪八戒网的系统架构经历了三次演变。最开始采用的是.net 和 FrontPage;第二阶段是 php,php 用了很多年,2015 年前,80% 的项目使用 php 语言开发;到 2015 年底腾云 7 号开始采用 Java 做技术栈,开启了猪八戒网 SOA 架构转变之路。腾云 7 号使用 Java 语言将猪八戒网核心交易代码进行了重构,建立了以 Dubbo 为核心的 SOA 服务框架,使用 ZooKeeper + Swoole 为核心的业务调用提供机制。
在 SOA 架构的基础上,猪八戒网从 2016 年开始全面推行前后端分离,于是出现了三足鼎立的局面:
nodejs:负责前端;Java:负责后端及老 php 项目迁移;php:负责老项目维护。剩余部分小系统或者边缘化的工具使用其他语言开发,或者在此三种语言基础上的一些变种。
伴随猪八戒网的快速发展,其实问题逐渐暴露出来。上线节奏慢、运维成本飙升、线上故障频发运维背锅、蜘蛛网依赖导致故障定位困难等问题,迫使猪八戒网干了这样几件事儿:
首先是敏捷的推行:开发流程进行演变,从传统瀑布到敏捷开发。区别于业界流行的敏捷开发模式,猪八戒网根据公司实际情况做了一点小小的变化,即增加了 deploy 的概念,整个层级变成:deploy->story→task。
此外业务扩张对运维又带来了压力,大量的项目需要进行发布,所以虚拟机的数量也不断增长,管理难度随之加大,运维人数最多增加到三十多人。为了降低维护难度,猪八戒网开始做 CMDB,制定各种规范,同时进行多数据中心建设,业务上做异地双活。对此叶萌介绍,猪八戒网在未来会全面拥抱云端,重点是如何把完整生产系统在服务不间断的情况下进行选型、规划、部署。而相对来说,自建数据中心部分的业务则会越来越少。
另外是 DevOps 的落地。为了满足业务快速扩张的需求,猪八戒网从 2016 年末开始组建 DevOps 团队,集合了运维、配置管理、Java 技术人员。团队专门负责 DevOps 方法论以及技术的落地,全公司使用统一的标准进行软件开发,并使用统一的工具进行项目管理。猪八戒网 DevOps 平台集成各种语言的工程模版、git 代码管理、jenkins 持续集成、自动化接口和性能测试、发布流水线和金丝雀分析、域名解析、弹性扩缩容等功能。这也给猪八戒基础架构带来改变——从过去的分散管理到现在的统一资源管理。CMDB 负责底层基础设施管理,包括物理机、虚拟机、docker 容器的管理;DevOps 平台作为统一研发入口,可以调度底层各种工具,实现对应功能。
这里可以着重提一下 DevOps 流水线,流水线的演变是基于测试环境的变化而变化的,曾经猪八戒网的测试环境比较单一,流水线也相对简单,但随着业务的快速发展,单一的环境凸显大量的问题,所以开始在环境和流水线上进行优化改造。曾经猪八戒网的测试环境都是由 DevOps 团队统一管理和维护的,随着环境和流水线的不断优化,后来交接给运维团队负责,目前已经在慢慢将测试环境交给开发和测试自行维护。
这里还可以着重再提一下告警监控体系的构建,对于猪八戒网来说,APM 上马之后运维效率和成本持续回落,运维人员与项目比例从 2015 年 7 月的 1:15,到 2017 年 8 月的 1:100。
下图是猪八戒网的数据平台技术架构、数据平台体系架构图。对于系统架构,猪八戒网采用的是业界主流方式,对于快速发展的猪八戒网来说,面对业务量的快速增长,确保系统的稳定性、可用性,应用架构的可伸缩是很重要的。
数据平台技术架构图
数据平台体系架构
对于拥有 800 位产品、研发人员的猪八戒网来说,IT 面临的挑战其实很明显:公司业务成长快、中小微企业的发展更快,倒逼 IT 系统要快速响应业务需求,开发上能够更加敏捷高效,基础架构能够更加灵活。另外再从猪八戒网业务模式来看,作为一家平台公司,却要大规模提供个性化服务,更是倒逼 IT 系统要更加流程化、标准化。
对于叶萌团队来说,让 IT“渗透”进业务是重中之重,“我们的技术 Leader 必须要了解公司的战略和业务,我们的数据分析师要参加公司战略级会议。”因为只有了解业务,才能知道自己工作的价值。
采访最后,我们问叶萌,猪八戒网的组织文化是什么样子,他说是工程师文化。所谓工程师文化,这类公司一定是技术驱动型公司,他们相信,技术能改变世界。
点击下方图片即可阅读
程序员工作效率低、协作不顺畅,
该如何解决?
你想与威泰技术总监 & TGO 鲲鹏会会员吴清忠一起学习交流吗?