论坛3 | 乘云而起的互联网经济 陈健 「创业中技术合伙人如何由技术转为合伙人」



  • 时间: 2016年7月28日
    发言人: 陈健|彩球 CTO
    主题: 创业中技术合伙人如何由技术转为合伙人


    感谢王总和青云黄总给我在这儿分享创建彩球历程中有趣的故事。

    我先介绍一下彩球,2014年有世界杯,那个时候体育行业很火,足球很火,彩票也比较火。我的合伙人也是彩球创始人在世界杯的时候,连续帮人猜中很多场球,我就对他很感兴趣,我问他是怎么猜到的,我对他的理解是他非常懂球,看了十几年的球,是一个非常资深的球迷,我是资深的篮球球迷,我跟他取经,了解他到底是怎么做到的。他的这些奇迹也让一些投资人感到非常有兴趣,最终就决定投资他,去创建这样一家公司,在2014年11月份,我们就成立了彩球,到现在为止还不到两年,是一个非常初级刚刚起步的一家互联网公司。

    我们这家公司跟其他分享着相比属于典型草根创业,CEO也好,我也好,我们都没有太大的背景,在整个创业过程中基本上从零一点点爬起来的,接下来我就开始分享一下我们的整个创业故事。

    我首先说一下彩球,我主要说三件事,彩球是谁,主要解决什么问题,第二简单介绍彩球技术架构,第三个,技术合伙人的职责和使命,也是创业过程中的一些故事,就是我们发生的一些事。

    0_1470812747314_72016-8-10-24.png

    彩球是谁?彩球是一家体育运动大数据公司,我们主要是利用什么东西来分析比赛呢?主要是利用数据来分析,这个数据包含,一个是球员数据、球队数据、还有场上的一些阵容,包括技术统计,还有一个比较重要是博彩公司赔率数据,这些数据可以量化,通过这些数据可以预判一场比赛的结果,我们现在主要分析足球、篮球。

    0_1470812774423_72016-8-10-25.png

    接下来说一下目前我们的基本情况。现在有100多亿条比赛数据,主要通过公网上公布的一些数据,我们通过爬虫把数据爬到,以核心算法为依据进行多维度建模,把比赛结果给展示出来,目前注册用户已经超过200万。

    0_1470812810017_72016-8-10-26.png

    我们专注要解决的问题主要是三个。第一个,比赛怎么猜?第二,竞彩怎么买?第三,比赛怎么打。

    我先说第一个。比赛怎么猜?我原先很好奇我的合伙人猜球猜怎么那么准,我一直认为他足球知识非常丰富,后来真正跟他共事之后,我发现他天天在看数据,各种各样的数据,通过数据客观分析,为什么要这样做。人是带主观性的,如果我是巴萨球迷,我肯定倾向巴萨,巴萨发生任何比赛,我肯定有一定主观倾斜。但是如果是数据,拿数据来说,你就不好说了。比如说这届欧洲杯,德国对波兰,大家听到这场比赛一定会感觉完胜,一定是大比分完胜,我们的预测结果是平,最后结果是0比0平,你要相信数据,数据跟人是不一样的,人是有主观的。

    第二个,竞彩怎么买?当你有了一个决策,如果你能知道一场比赛它大概是什么样的结果,中国有官方发行的竞彩,你可以小试一下,不管是娱乐也好做投资也好,你可以去彩票店去购买相应的比赛。如果你对德国对波兰队比赛感兴趣,预测德国和波兰打一平,你花100元,可能会带来三倍的收益。很多用户知道结果依然不知道怎么去购买,我们可以帮助用户去做决策。
    第三步解决比赛怎么打。我们有很多运动数据,我们将来要做一件事情,指导球员球队告诉他们如何去踢这场比赛,如何能够知道这场比赛对方的弱点,如何能够更好排兵布阵,这里头比如说《田忌赛马》,齐王三匹马都非常厉害,最后还是输了,他在布阵上出现了问题,我们能解决这个问题,大大提升球队的胜率。

    0_1470812855923_72016-8-10-27.png

    我们现在主要是利用大数据分析和预测体育比赛,怎么做到的?今年的欧洲杯有51场比赛,我们猜中37场,大家可能不太知道这个东西的含义是什么?左边是K线图,右边是最后几场比赛的投注情况。比如说法国对葡萄牙我们预测平、胜,最后打出来的结果0比0,法国对德国,我们预测法国赢,最后结果法国胜2比0。如果按照这个曲线,去中国竞彩,官方发行的竞彩网购买彩票,盈亏是左边这条曲线,这条曲线很有意思。在左边,你们会发现特别得乱,一会上一会下,特别是在那条比较平缓曲线,左边那条曲线出现比较大的斜坡,我解释一下这个。这个拿数据解释就很有意思。这些比赛全部是小比赛第三轮,小组赛第三轮不是靠实力去打,因为他们要考虑,我要进上半区还是下半区,已经变成他们的一个有人参与的一个东西,拿数据预测不太准。但是到了淘汰赛,后面平缓曲线一直往上,全部是淘汰赛,淘汰赛有十几场,我们只错了一场,因为淘汰赛更能反映实力,这是我们的优势,通过数据解决什么问题,通过这张图大家就更能理解了。

    彩球技术架构,我在这里主要说三点,技术架构主要分两方面,一个是大数据的业务,一个是订单交易的业务,一些虚拟投注,第三经验教训。

    0_1470812895502_72016-8-10-28.png

    我先说大数据业务。数据业务这边其实和绝大多数的大数据公司一样,都是标准规范化的一个处理流程,首先有数据抓取,我们去各个网站抓数据,这个我们做得不错是因为我们非常实时,比赛的数据第一时间发生变化你要第一时间知道,我们基本上可以做到秒级就把我们想要的数据完全同步下来,这是我们做得比较出色,我们第一步就先解决这个问题。

    下一步就数据清洗,这些数据里头有可能有一些错的或者有一些漏的,那你怎么办?你只能抓很多家的数据,很多家的数据抓取之后你做数据清洗,做完清洗你有了自己的数据,接下来进入Hadoop的HDFS,存储在里面。然后进入Spark,做分析处理。最后将结果保存在RDB,最后这一步是给用户展示的。其实用户关心的数据量并不是很大,就是一个结果而已。

    0_1470812947704_72016-8-10-29.png

    整个创业过程当中我对大数据的一个理解,一个是数据一个是算法。第一条,足够多的行业数据。这里头可以讲一个笑话或者一个段子。

    最早的时候,你做大数据怎么做?比如一个猪出生了以后,它的成长过程当中,它每天能记住做什么事情,吃粮食,吃了睡了吃,猪认为未来余生就干这一件事,通过历史看到自己都在干这些事情,但是他无法预测最后被人杀掉、吃掉。这个猪只参考自己的记忆历史,没有参考历史上猪的命运,历史上猪的命运所有的猪都是吃了睡,睡了吃,长大以后被宰掉,然后被大家吃掉。这里我要说的什么道理?足够多的行业数据,没有这个基础你什么做不了。第一,你要足够全,没有数据,你所有预测都是没有根基的。

    第二,对业务深入了解。为什么说这个呢?你只有这些数据,你不懂业务,你不懂体育,你不懂这些赔率或者是博彩公司为什么要变牌,你无法对业务有深入的理解,你也不知道这个数据到底是干什么用的,虽然你有了足够多的数据,你不知道它有什么用。

    第三,讲一个误区,绝大多数做大数据,包括一些技术同学,比较迷恋技术工具,比如我要用最先进的工具,我要分析的是TB级别的或PB级别的数据,但是你产生这么大的数据,对决策有没有帮助有没有意义。我们要做大数据,不能为了大数据而做大数据,一定要考虑到
    你做的这个东西是帮助人做决策,而不是证明你的技术有多牛,这是一个想说的。

    刚才说数据足够多,然后有技术手段去解决数据,因为数据很多,你总不能拿计算器点点点,你总得有一些集群有一些手段分析,所以技术在这里头也很重要。接下来就是业务,我刚才说了,你要知道这些数据之间的关联关系,然后你要知道这些数据他们之间到底发生变化以后,会产生什么样的结果,这就是业务,但这里头我要说一下,有时候你自己去分析一个模型,你最终你还是需要有一个理论支撑,最后你还是得回归到数学这里头,有时候你发现这个东西确实有这个现象,你也拿历史验证,确实是这个现象。但这个现象到底在未来是不是靠谱?只是一个巧合还是它确实是有理论依据的,这是需要有一些数学的知识做判断的,所以我觉得如果要做大数据,这四点都不能瘸腿,你必须在四点上持续迭代,持续改进,这样你的决策才会越来越准。

    彩球业务系统架构

    我再简单介绍一下彩球的业务系统架构。刚才说的这些都是大数据这一套。最终这些数据是要被用户看到,用户拿到这些数据以后,他要做下一步操作,业务系统是2C的,刚才只是我们内部的一些分析流程,2C有赛事查询系统,还有订单交易系统另外还有社区圈子,有社交有交易然后有赛事查询。

    0_1470813033551_72016-8-10-30.png

    这里头简单画了一个图,所有的用户的请求,请求过来之后我们先给负载均衡,负载均衡在这里只画了一个,但事实上它可以做HA。负载均衡会把请求转发给一个应用程序,每个应用程序所在的BM上都会架设Nginx,Ngix可以做过滤、转发。应用程序全部都是无状态的,应用程序去哪里拿数据?去RDB,去Redis集群,或者去消息队列,消息队列不是拿数据而是放数据,有一个消息队列在这里。

    消息队列右边的bot阻塞在消息队列上,来什么东西就采集什么东西,彩球对消息队列用的比较多,因为绝大多数的业务都做成异步了,这就需要消息队列足够多,我们给消息队列划优先级,bot定在消息队列,就可以做(微服务),这样的话我就可以把应用拆开,不同的bot做不同的业务,把服务拆掉。

    接着是定时任务,定时生成一些缓存数据或者定时做一些业务,还有Jenkins,做CI做数据集成,利用Jenkins做自动化升级、部署、监控,然后做数据集成,这是大概的技术架构。

    0_1470813070086_72016-8-10-31.png

    在这里头分享一些经验教训。第一数据库。

    我们一开始做了一个分库分表,我们用的数据库是MySQL,这样把压力分给多个DB事例和多个表。做线上业务就是OLTP,就是一台MySQL,但出现了一个问题,我们自己还要做OLAP,就是做分析系统,这些数据都在不同的表当中,回顾起来很麻烦,最后我们架构用了阿里开源产品otter。otter又轻松又愉快把这个事解决掉。Canel模仿成MySQL的slave,它从OLTP里面不停的读数据,其实它就是骗MySQL的Master给slave送数据,送给Node节点,这里可以给数据做很多规则,比如可以多表合并,我分了100张表,把这100张表放到OLAP一张表中,这样可以利用更容易查询的搜索引擎。通过这种机制,把线上的数据就做了一个基本上可以在500ms延迟以内的OLAP服务器,通过这种方式有了自己的OLAP服务器,这样分析过程中不会影响正常线上业务,这是一个小技巧,分享一下。

    0_1470813111730_72016-8-10-32.png

    Redis分享一下使用经验,第一,无状态,可以从数据库构建一些数据。这是比较重要,你要满足第一点,你要注意第二点,当心缓存击穿,缓存击穿我相信大部分互联网创业公司都会遇到,但是说了以后,大家还是会遇到,这个地方只能通过一些手段去尽量避免,你要根据业务确定在这个地方是不是可能出现缓存击穿的一个点,在这里提前生成缓存,把这个问题规避掉。再下来分享一定要做业务拆分做好切片,这里面有一个教训,我们当时使用青云redis服务器,没有做业务拆分也没有做切片,就是一个单节点,最后系统就被打挂了,当时还有一个坑,还有状态,没办法,等恢复,这个过程用了很久。刚才otter那张图里面。接下来也会利用这个东西做双活,两个机房通过这种方式可以同步数据,最早otter框架也是阿里分享出来的开源出来,解决中国、美国两个机房,他们中美带宽都是只有10兆以内,他能够做到两边数据同步,而且基本上延迟很少,它能够做到双向运行,意味着美国人民可以访问美国机房,中国人民可以访问中国机房,我觉得这个架构很好,就给分享一下。

    0_1470813152390_72016-8-10-33.png

    最后一个部分是技术合伙人的职责和使命。第一,十八武艺样样精通。一定不要把技术合伙人和CTO划等号,在前期、中期他的技术身份很重要,在后期他的合伙人身份很重要,他要考虑让这个公司活下去,要让这个公司往前走,不只是在技术圈里绕圈、徘徊。

    0_1470813179719_72016-8-10-34.png

    我们当时创业只有两个人,一个是CEO ,一个是我,像装带宽,装电话,装系统,打印机坏了找我,上不了网找我,你是技术合伙人,找CTO能解决这个事吗?不能。凡是跟技术沾点边的事都是你的事。第二,这个技术到底牵涉到什么领域,最早只有一两个人,然后安卓你要懂点,苹果你要懂点,移动端、H5都要懂点,网站你要懂点,电商、大数据你全都要懂,你学得很杂,缺哪儿你就往哪儿上。第三,开发测试运维,开发你要上,测试你要上,运维你要上,这些事情你都要上,这里表扬一下青云,到现在为止,我们整个公司没有专职运维,都是我在兼职做,基本上青云把运维工作承包了,我不需要做太多的运维,把我解放出来了,我就专注在开发测试,我们每天有几百个单元应力测试,还有几十万字节的断延。所有的断延都通过以后才算是过了。所有的开发代码提交以后,就自动进入测试环境进行测试,一天跑12次。测试这个环节没有耗费太多人力,就做到自动化,这是我要分享。

    0_1470813216814_72016-8-10-35.png

    技术合伙人不同于CTO,你在产品设计你要参与,市场运营你要参与。绝大多数CTO会跟产品、设计参与比较多,市场运营参与比较少,如果你是公司合伙人,这些事情你都要去参与,最后特别要强调,这个企业价值观。一直觉得这个东西很虚,但现在发现还很有用,彩球现在有50个人了,很多公司我了解到创业公司到30个人以后,凝聚力开始出现下降,彩球到50人,凝聚力还很强,一帮夜猫子晚上不睡觉,还在群里喊,我们薪资待遇没有优势,大家在这里做得比较开心,价值观满足每个人都有成就感,这是我觉得很重要的。

    我们初创的时候最早一批人十个人,或者最二十个人,都是全员持股,随着公司发展会有一些新鲜血液进来,他们背景更优秀,实力更强,你怎么看,这是你的价值观,你必须坚守。第一步你要相信,新来的人一定要让他融入,然后你的价值观允许你的老人足够谦虚,能够接受新人指责跟批评,并且给他们相应的帮助,换句话说,我愿意分享,愿意让他融入进来,愿意让他贡献一份力量,同时你要坚信,我们这些老人一定能成长起来,我们的老人一定能够随着这个新人加入能力也会不断提升,我们都是第一次创业,能力都不行,我们都是草根创业,没有什么背景,靠着信念一直走到今天,这是我要分享的。

    0_1470813258711_72016-8-10-36.png

    这是我最后想说的,初期的时候技术合伙人关注的是从无到有的问题,系统什么都没有,代码一行也没有,你要关注这个。中期你要关注从有到好,有已经不能满足需求,你要做得好,做到公司有竞争力。时刻坚守企业文化,为什么要创业,为什么要走到这条路上,初心不能忘,要坚守这个。不仅仅关心研发,公司发展是第一位的,有时候你需要做一些牺牲,比如研发部或者是各种各样的事,你一定强调自己是合伙人,这个公司做起来,才是最重要的,而不是你自己证明你自己技术有多牛或者是你自己做一个虽然很厉害,但是跟市场或者跟整个公司发展方向脱节的那么一个技术。这是我最后要说的。

    没有了,谢谢大家!


登录后回复
 

与 青云QingCloud 社区 的连接断开,我们正在尝试重连,请耐心等待