论坛3 | 乘云而起的互联网经济 罗亮 「探索互金产品的开发运维」



  • 时间: 2016年7月28日
    发言人: 罗亮|人人行科技股份有限公司技术 VP
    主题: 探索互金产品的开发运维


    我做的分享是关于在互联网+新经济模式上面,我们在探索互联网金融这个技术领域或者业务领域遇到的一些思考或者问题,谈不上什么经验,但这些问题确确实实是我们遭遇过的。

    自我介绍

    首先做一个自我介绍。我也算是互联网行业的一员老兵,2003年就在金山实习。我当时我个人是游戏玩家,非常爱好游戏,来金山是第一次离开四川。我是四川人,以前没想过出四川,觉得四川生活太舒服了。当时过来就一句话,行,我也不用工资,你们给我offer就过来了,干吗?做游戏。其实2003年那时候,整个互联网行业还没有发展起来,当时只有软件行业,我觉得做游戏是我的理想是我的追求。金山当时正在做转型,是珠海做的第一款国产互联网网络游戏。当时金山在北京决定成立一个分公司,这是由雷军雷老大来亲自组织的一个公司,我来北京就是做这个事情。

    在金山一直做到2007年。以前互联网行业赚钱模式就三个,第一个卖广告,一个做游戏,另外一个阿里,电商盈利。2007年的时候,游戏行业已经比较火热,所以当时我去了深圳创业公司继续做游戏,做技术负责人。到了2008年时,诸多原因,这个公司产品不是很成功。如果在座有做游戏的同仁一定会知道,做游戏这个事,做上了你成了,做不上就只能销声匿迹。2008年的时候我做了一个转型,当时很多之前的同事还在游戏行业,包括在腾讯或者其他大公司继续做游戏,我做了一个选择,出来做互联网产品,这个产品就是百度贴吧。我当时做这个选择,主要是因为做游戏这个事情,是一直不停做重复的事。这个产品不行,改改内容、改改主题、改改美术,可能改改玩法,咱们再做下一款有一点重复。所以当时我想来互联网,互联网产品永远在做新的。2008年我去了百度,期间也做过其它产品,但最主要是百度贴吧。我做百度贴吧的时候,DAU不到一千万,PV不到一亿,我离开的时候贴吧已经成为DAU每天的活跃用户一亿,PV大概50亿左右,长得比较大。后来离开百度,为什么离开百度?就像王老师讲的,大家都有梦想,这个行业不停发展,不停变化,特别2014年总理提出“互联网+”,我内心还是蛮受感召的。

    我感觉互联网正在发生一个转折、一个变化,我出来干了一件事。我看到今天有英语魔方秀的张老师,其实我们做的是一样的,不过选的路不一样,我们做的是O2O英语。所以我出来跟我的合伙人(一个华尔街英语、原来贴吧产品负责人)一起做了一个公司,就是做英语互联网教育,不过做的是英语老师上门,这个项目不是很成功。所以后来我来到了人人行做借贷宝,借贷宝这个产品可能有些人有用过,也可能有听过,争议挺多。今天就我个人而言,我对借贷宝的一个理解,还是做一些介绍。

    借贷宝的业务模式

    借贷宝怎么定义?是一个熟人间的借贷平台。它的属性是什么?它的属性在我看来是一个工具属性,为熟人借贷经济往来提供了电子借条的工具,也包括合同、协议、钱的支付,把这一系列的工具便利化,让大家借钱效率变得更高。
    它有几个产品特点:

    第一,单项运营。你在借贷宝上借钱,只要利率合适,只要你的人脉够广,像王老师这样,上去千八百万没有问题,分分钟,当然利率要合适。

    市场化,你要借钱不用管谁借给你的,你靠你自己的人脉,靠你个人的魅力就能借到钱。

    第二,很方便,我刚才说市场化,设定好利率,设计好时间期限,你就不用管,剩下的交给市场决定,交给你过往征信来决定。
    如果是这样,借钱是一个低频的事情,需求不够的情况下,怎么让这个产品业务能够做起来,所以我们引入第三个,其实很简单,转发模式。

    我看到一个借款请求,我自己可以转发出去,把它变成我自己个人的一个借款,通过六度人脉理论就把这样的信息、需求转发到自己的人脉圈里去,叫赚利差。我看到王老师要借笔钱,12个点,王老师借钱我相信,没问题,但是我自己手上没钱,没关系,我赚利差,让我的朋友借钱给我,我再直接把钱借给王老师,这中间是有一个直接的过程,所以这是我的赚利差。

    关于资金。我们做这个是做一个平台,我们不做任何资金池,借钱和还钱这事是人与人,中间不经由平台这一个通道,平台不吸纳资金,不做资金池,这是我们的业务模式。当然了,有电子借条、有合同协议、借钱通道,我们还提供一条服务,催收服务追债服务,这个用平台规则。用这样设计解决了平时现实中的尴尬,借钱难,被借钱也难,大家都尴尬。借得到还好,借得到损失一些人情,借不到连朋友都没得做,我们解决了线下的尴尬场景,并且让借贷变得更有效率。

    借贷在中国传统过往文化中大家觉得是不好的事情,事实上随着现代社会的进步,做过创业的人一定会知道,资本有多重要,钱有多重要,有再大的理想有再强的能力,没有钱什么事都干不成,像王老师以及各位的嘉宾,大家做过企业一定会知道这点,最难的一点不在于你的团队、不在于你的能力,不在于你的理想,不在于你的模式,而在于你有没有钱。这是第一步。

    我们通过这样一个模式真正达到普惠金融,整个民间资金或者资金往来模式发生根本性的变革,做到普惠金融模式。普惠金融、互联网金融是大家都在探索的模式,我相信条条大路通罗马,但是我们选择的的一条路,也是我们正在尝试的一条路。

    借贷宝个人版

    0_1470807535788_2016-8-10-1.png

    借贷宝分两种产品,一种是个人版,解决个人与个人之间的模式,还有一个产品就是企业版。但是它的根本产品业务逻辑是通过个人版把它串起来。通过个人与个人之间的信用认证,比如我信任王老师,我给王老师做信用定价,王老师借50万没问题,这个对他来说,小意思,他一定还得上,他一定不会赖50万,他肯定不会为50万跑路,所以那我给王老师贴上一个标签,50万随便借,这就是王老师的价值做了一个定价。

    0_1470807578477_2016-8-10-2.png

    如果有很多像王老师他的社交圈子的人都给王老师做定价,王老师信用价值属性已经得到了一个体现,让它沉淀下来,我们就能对每一个人进行定价,人与人之间的网络关系被显性化,并且可以用钱来衡量,这个时候我们的业务模式就成立了。

    借贷宝企业版

    0_1470807614225_2016-8-10-3.png

    企业版,个人与个人之间的民间借贷是低频的事,一般来说民间借贷是短期,利率稍微比银行利率要高,这是民间行为,这种需求有没有?有。据去年估计应该是几十万个亿,把它全搬到线上这是我们的目标。但是在社会里面还有一类更大的需求就是企业,这两年创业非常多,在互联网里面大部分情况是找VC拿投资做风投,但是在实体经济里面更多的是去向银行融资或者民间借贷,很多中小微企业都是这样一种模式在运作和发展的。这里面潜藏了更大量的需求,它的需求肯定比民间借贷量更大,我们把这个需求挪到我们平台上面,再通过人与人之间定价模型,我们就可以真正为解决中小微企业的融资难、融资慢、融资不容易等一系列问题打通一条通路,它的底层架构就是建立在人与人之间的人脉价值、信用价值上,能被我们定价,能被我们显性化。

    我们通过这种模式把最大需求引入到我们的平台上面,并且通过人与人之间的定价打通一条通:一方面员工可以把钱借给企业,帮助企业发展;但员工借钱给企业借钱的同时,其实也对企业进行定价和信用的估值,我们后面可以引入就是银行、金融机构来通过这条通路对企业进行信用评估。

    0_1470807648663_2016-8-10-4.png

    过往银行是不愿意借钱给中小微企业的,它抵御风险能力比较差,可能也没有足够的资金没有足够资产做抵押。银行做这么一笔贷款,不如做一个大单子。给大公司做一个贷款,20亿,净调可能两个月,给一个小企业做也要一个多月,那这个边际成本是很高的,所以宁可做大企业也不要做小企业。那问题就来了,支撑国民经济的除了大型国企大型企业,更多是靠中小微企业,这才是完整的国民经济。但融资难、融资不容易,所以这两年整个实体经济下滑,我认为这也是很大的一个问题。当然这可能是多方面导致,我说的只是其中一个原因,产能过剩可能也是其中的一个原因,但是对于我们来说,至少我们要解决其中一个问题。如果每个问题都能解决,我相信社会整体进步才是我们所追求的。所以我们通过这样一种模式,把企业的需求对接到平台上,特别是对中小微企业(大型企业可能不太需要),帮它打通了一条融资的通路。并且对于整个社会而言,金融的流通就变得更容易了。

    总体而言,通过这样的一种业务模式,我们希望做到普惠金融,让这个社会的资金流动效率更高。资金大家知道,一定要有流动起来才有价值,否则一笔钱放那,放十年那也是死钱,它不能产生任何价值,对你自己没价值,对社会也没价值。

    借贷宝的技术挑战

    我是负责业务,更专注在技术方面。借贷宝第一版产品去年就出来了,但是很不完善。而且它的挑战特别大,去年8月8日,大推的时候服务器宕机。为什么?原因是多方面的,但其中最主要的原因是需求复杂,一切技术问题首先来源于需求。

    0_1470807704241_2016-8-10-5.png

    我们产品的核心玩法:第一,借钱。发一个标,借钱。当看到一个标,我去借钱给这个标的,就是刚才讲的转发赚利差。这是稍微复杂一点的概念,比如说王老师发了5万块钱一个借款,我就借了5万块钱给王老师,但是我手上急需钱,这个时候怎么办?我手上握了一笔债权,王老师信用好,我把他债权转让出来,一定会有人接受这个债权,这个时候我正好可以变现,我需要的资金就流动起来了。王老师其实跟它没有关系了,他的这笔债务已经被证券化了,被资产化了,我就把这个债权转让出来,这是债权转让。这是更复杂的产品概念,做金融的同仁会更了解一点。

    第二,借钱一定会涉及到还钱,我们还钱模式非常复杂,因为里面有很多的业务规则。比如说赚利差,王老师借钱,我没有钱借给他,但是我可以赚他的利差,转发他的借款请求,下来我的朋友借钱给我,再借给王老师,这要求业务上有一个规则叫专款专用。钱在我这边是记了一笔账,但其实是不到我账户里停留的,最后钱是立刻直接到王老师账户里面。还钱的时候这个规则依然要生效,王老师还钱,这个钱也只是过一下我的账,钱不进我账户里,只是中间一部分利差留给我,剩下的钱是要还给借钱给我的人,甚至这可能是多个人借给我,待会看一个图大概就会清楚。

    上面两个东西只是做产品业务最基本的业务逻辑,是支撑这个产品的基础。但是最终我的目的、我们的盈利模式从哪来?其实我们要引入金融机构。否则人与人之间的借钱跟借贷宝没有半毛钱关系,但是如果说借贷宝不盈利,这个平台就不得已存在,我们做的任何商业事情都是要共赢,所以我们最后引入金融机构,多样金融合作,我们现在已经跟一些银行有这种合作协议。如果银行能通过我们的征信数据,能够对这个标的进行判断,他会自己拿自己的自有资金或者是筹到的资金来做投资计划,这样就要求我们跟很多金融机构合作。大家做ToB的业务你会知道,ToB的业务和ToC的难点不一样,ToC是量广量大,ToB则是需求多样性、个性化,因为每一个终端的B的需求都是不一样的,它有自己的一些规则,这就意味着需要多样性的金融合作。

    0_1470807751772_2016-8-10-6.png

    这是借贷宝上面债券债务关系示意图,上面的ABCD节点都是人,人与人形成债权债务关系。圆圈代表一个原始借钱,A发了一笔借款。方块代表出钱方,借出方。三角是什么?是赚利差,由于赚利差的存在,会导致这一个原始的借款会变成很多层的分解。最终可能筹到钱可能是一百个人出的钱给到A,我们这里只是画了一个简图,两层赚利差,它自己不出钱,它只是用自己的信用做担保,让别人借钱给他,他再借钱给他的上游,最后汇到需求方,这是借贷“赚”的模型。

    债权转让模型是什么?这时候H急需用钱,手里有一个债权,他就可以把个债权转让出来变现。H转让出来之后,G在借钱,M和Z都是G的好友,这个时候他们发现G有一笔标正在进行当中,借款在进行当中。H就得以变现了,这是一个部分转让,没有全额转让。这个时候,M继续在赚利差,L借钱给M,M再把钱给到G,形成这样的关系,这就是产品对技术上的需求,它形成了一个借贷关系的非常复杂的一棵树。那还款的时候要把这个过程逆着过来,非常复杂。而且还款的时候毕竟不能相信天下人都如实还款,一定会出现部分还款逾期的情况,而这些问题我们全部要在业务模型里面考虑到并且在技术上要实现出来,这是我们业务模型的复杂之处。

    0_1470807784802_2016-8-10-7.png

    我过去做贴吧,当时的一个感触是贴吧首先考虑的技术问题是海量用户、海量数据,高并发、高流量,我们原来做纯线上的产品,这是考虑问题首要考虑的点。但是当我在做借贷宝这个金融产品时,我把数据安全放在第一位。这也不是开始就知道的,真是踩了很多坑,跌了很多跤,才领悟到第一重要的是数据安全,因为这涉及到了钱。假如说今天借贷宝机房停电了或者服务器全部宕机,没关系,大家有抱怨有质疑,说我们技术不好,没问题。但是有一点我们一定要保证,这就是数据不能篡改,每一笔债务债权都涉及到现实生活中真正的钱,这跟我做贴吧不一样。贴吧你发了帖子丢了,没关系,用户骂你两句就过去了,不会产生真正的经济损失。但借贷宝上面一定出现数据篡改或者数据丢失就完蛋了,这个钱谁来赔,公司承担。所以对我们来说第一位重要的是数据安全性,要防篡改防丢失并且要准确,因为你算错账,用户不会认,用户让你赔偿,那你自己掏腰包填上,所以对我们来说涉及到钱的事情,数据的安全性、数据的稳定性或者说是有效性是我们第一位要考虑的事。

    0_1470807813834_2016-8-10-8.png

    第二个,回到互联网属性,凡是做技术的一定会知道,需求方一定会有四个要求。哪四个要求?就是多、快、好、省,凡是遵守技术的原则的就是多快好省。在下游做技术,一定会遇到这样的挑战。这个时候问题又来了,多、快、好这三个点就矛盾,再加上省,四点互相矛盾,这个时候怎么做好?但是老板他们的诉求一定是这样。当然我去当老板我也是这样要求,这是很显然。但是技术上面要做执行,这个时候怎么办?一定需要我们有应对的方法,这个问题我相信凡是做互联网产品一定会遇到,因为你迭代得慢,你就被竞品超越,市场份额就丢了,到最后逐渐萎缩,逐渐消亡。所以迭代速度、用户体验是我们很常见的技术挑战,这是行业的一个通病。

    0_1470807846860_2016-8-10-9.png

    另外就是运维。毕竟做技术这一块,特别是做互联网产品跟做传统的客户端不太一样。传统的交付了,半年了我们再来一个新的发布,这样一次一次的。做互联网产品,特别做C端产品,你一定会面临的问题就是,你做的这个东西是面临7×24不间断服务,所以你60%的时间是做开发工作和研发工作,剩下的40%时间你都在做运维的工作,所以运维的挑战对我们来说是非常多的。

    坦白说借贷宝并不是非常长时间的技术积累的产品,发展速度太快,用户量增长,交易量增长,对我们挑战非常大。今年4月20号的时候是我们今年的重大问题,机房停电。因为我们双机房改造还没有完成,两地三中心的计划还没有完成,大家天天烧香不要停电,结果还真停电了。我们的运维负责人,4月19号在我们产品内部类似朋友圈的产品上发了一个消息,祈祷不要停电、不要发生火灾,不要地震,结果第二天真停电了,所以我们之后就禁止他再发任何类似这样的文章。20号早上5点多,机房停电了,这个时候各种声音都起来了,借贷宝是不是跑路了,卷款逃跑了?我们公关部马上面临很大压力,这个压力最后会到技术这边来。如果我们运维足够完善,这种问题是没有关系的。说起来很巧,我在2008年4月7号入职百度,4月20多号,百度一个机房停电了,当时还好,百度在北京是有双机房,停电了一个,对用户服务没有太大影响,我们把整个流量切换到另一个机房就OK了。但是在借贷宝没有另一个机房,所以我们遭遇了一整天的抢修工作,所以这些都是我们在运维工作中常见的一些问题,这个挑战也是我们要去解决的。而且有一点要求还不一样,在互联网上面虽然有监管,但监管没有那么多,以前做贴吧时网安、网监或者中宣部会对我们有监管要求。现在做金融,监管要求会更多,包括整个运维建设过程当中,有等保安全的要求、有等保评级的要求、有央行的要求、有银监会的要求、有互联网金融协会的要求,诸如此类这种问题,必须满足这些要求。

    0_1470807892538_2016-8-10-10.png

    另外,我们还遇到另一种挑战。在涉及到钱、涉及到利益的地方,大家要相信一点,这个世界上聪明人太多,他一定会千方百计钻空子,要么骗,要么薅羊毛,还有也算是营销当中的一种,大家做渠道一定会知道,也要做流量清洗,也要做结算等一些考量,这些都会遇到。比如说欺诈,互联网兴起以后,你永远不知道跟你对话的电脑后面是坐着一个人还是一条狗。但是做金融的时候,这个命题变得非常重要,我真的要知道这个人是不是王总借的钱。以前我要打个电话询问:王总是不是你要借钱?是,OK,那没问题。但是借贷宝是单向匿名,我怎么好意思打电话给王总,万一打电话,王总说我不借了,这不是感情全没了。所以对于借贷宝而言一定要做到的一点是,我们要证明借钱的那个人是他本人,必须证明这一点,否则我们欺诈风险就会非常高。因为我们是一个平台,我可以不承诺对用户做刚性兑付,我们不做用户显性信用担保,但是我们至少保证一点,这上面借钱的人就是他自己,我们一定要证明这一点,后面有一个方案讲。

    刚才王总讲了,在营销上面借贷宝做了一个开创先河的新做法。但是有钱赚大家就想到怎么薅羊毛,我们最早按激活量结算,大家在这个圈子里面这么久,一定有技术手段来薅羊毛,我们就必须解决这个问题。否则我们花了这么多钱,结果让别人把钱赚走了,这也是一个问题。

    另外还有一个问题,中间的信用,我们至少要对用户做到风险提示。比如说这个人在法院失信名单里面,我们要给提示出来,这个人法院判决有了,但是他不执行,按道理不能坐高铁不能坐飞机不能进行奢侈品消费,这些信息要通过各种渠道去购买服务揭示给用户,这是我们在风控这一块做的一些事情。

    这些是我们面临的挑战,做C端不可能靠人审核来解决这个问题,也不能靠人一件件去应对打电话去核实,你是不是张三李四,不可能,所以我们必须有技术上的手段来满足业务上的需求。

    这些事我们过去一年多时间中,我个人的一些感悟,抛砖引玉分享给大家。

    应对措施

    0_1470807954776_2016-8-10-11.png

    我谈到的第一点,是从研发角度,因为它毕竟是互联网产品,互联网产品迭代快,用户体验要求好一些,要考虑用户体验。我觉得要通盘考虑技术上要做哪些东西或者做哪些方面,有几个事情一定是我们要考虑好的。

    第一,服务化架构。坦白说,借贷宝第一版的架构是非服务化的架构,我们上面有很多很多的功能,几百项功能全部耦合在一个代码库里面,改任何一个小的需求,哪怕一个展示、一个文案都有可能引发整个基础功能不可用,这是非服务化的架构典型情况。刚开始要快出原型这么做没有问题,但当你的用户量上来以后,功能越来越以后,你的体量越来越大,你没有服务化架构这个是不可持续的。我当时跟CTO讲,这个我一定要干,什么事?服务化架构重构,如果不干这事,半年后这个业务没谁敢碰。拿枪逼着他写代码,他也不敢动,出了问题,损失可能就是上百万上千万甚至上亿,这样的损失谁来赔,这是在互联网经济里面非常重要的要素。

    第二,在互联网里面60%是研发,40%做运维工作。运维是跟企业厂商息息相关的,Qing Cloud做的市场事IaaS层、基础设施或者PaaS层,来解决解决大家研发、运维过程中的诸多问题,有了这种云基础设施,没有比较好的规范就是金玉其外败絮其中。所以有了好的IaaS,有了好的基础设施,你自身要有好的架构。它做出来的功能不仅仅是满足功能,一定要一开始就考虑到我们要如何运维好它。因为开发代码,这一版迭代完了,你可以休息一段时间,但是运维是没有休息的,周六周日逢年过节也要考虑它的稳定性、它的性能、它的可用性,一上来要把运维的事情考虑到其中。

    第三,也是跟研发相关。从前到后使用的技术体系是什么样的?借贷宝做的也不是很好,因为借贷宝是新成立的公司,所以人才都是来自于各行各业,百度、阿里、360、金融行业、银行,各式各样的人聚在一起,你会发现技术栈也是五花八门没有规范,有用JAVA的有用Python的,有用Ruby的,有用PHP,有用Go的,这样的研发体系你会觉得管理、集合起来会陷入泥潭。

    我过去有一个同事去了小米电商,开发的时候也有这样的问题,刚开始的时候也有各行各业的人加入,整个团队的技术架构五花八门非常多,东风压不到西风,西风压不到东风没有统一规范,导致后面包括研发、运维上面遇到瓶颈,所以整个技术栈的统一,哪怕你收敛到有限的技术栈上,大家就可以专注到业务、专注到性能和专注到体验会更好,而不是花大量的时间在技术本身的争论上,这也会增加团队的内耗,这是我认为的研发要素。

    0_1470808010942_2016-8-10-12.png

    这个图是借贷宝的业务划分或者技术团队的划分,其实也代表技术体系的划分。我们先看中间,第一层有我们的端,我们的H5,我们的web,右侧有核心交易,这是借贷宝的主体功能。再下面是支付,要打通钱的流通,支付是很重要的一个环节,我们有一家自己的支付公司,这一块也是在这个里面。这样的东西可能只满足C端的产品需求、业务需求,但是背后有大量的支持性的业务需求,包括风控、贷后管理、催收、推广、客服,生态圈(生态圈是什么?这是我们的合作方,比如说我们也在平台上发布其它一些理财产品或者保险产品),这就是我们的业务。

    中间这一层是我们的应用服务。由于我们做金融产品需要很多的基础服务,包括肖像识别(到公安部人脸识别)、包括短信通道、包括Push通道。下面是和技术更相关、更底层的一点,包括数据库,我们MySQL、Oracle或者MongoDB这样一些数据库,也有redis的缓存服务,Cache的缓存服务,都收敛在专门的一个team里面,来专门提供底层的跟业务无关的、只考虑性能和稳定性的团队里去做。

    在最下面是系统基建,包括网络设施,IDC、硬件,金融是有行业要求行业规定的,在这块要做很多事情满足监管要求。
    左侧是其实是我们的质量,就是QA,那贯穿中间,中间都是业务体系和技术体系,QA对整个体系里面所有的功能、业务做质量体系的保证。

    右侧就是很重要的安全,安全这个命题比较宽泛,从技术上的安全、业务上的安全,到数据的安全,其实都是分门别类的,也是贯穿始终。从前面防DDoS攻击,防CSR钓鱼,到底层操作系统的漏洞,远程注入系列全部要考虑到。对我们来说两侧是我们保驾护航重要的设施。

    0_1470808056989_2016-8-10-13.png

    刚才谈到服务化架构。在我看来,怎么做好服务化架构?很简单,我认为这个事情就是你把研发流程拉出来看看,第一件事是需求,无论是产品还是金融业务,它会做产品设定做需求设定,我们服务化是否很好支撑借贷、还款这样的业务的设计,这是我们业务最核心的事情。我们架构上面一定要单独拿出来考虑,它是不是能支撑强大的服务。

    第二要考虑的,研发要组织好。技术架构决定你团队的组织架构,否则你会发现加人是搞不定的,架构不支持,所有人写一份代码这个事情绝对要出问题,架构是否支撑研发团队自己的发展。

    第三是测试。你的架构如果不便于测试,不能很好的做自动化测试,那你就全部靠人工点,每一次回归测试,一个功能回归,几百项测试,大家都得点,点完了没问题。这种测试大家放心吗?我是不放心,毕竟你做金融产品,你就靠手点出来,我不认为是多么高大上的事,太原始山寨。刚才强调了很多遍了,你的架构、开发体系是否能够很好的支撑运维。你不是7×24小时的开发,但是你一定是7×24小时的运维,你的研发,你做的架构能不能很好支撑运维,有没有标准有没有规范,能不能符合架构SLA或者这样的一些标准,做不到这一点就做不到运维,运维团队说我不能接纳,出了问题你自己搞。如果说你的架构不考虑这些方面,你做出来的事,那就不能做到7×24小时的稳定运行,你也不能考虑到一个机房突然停电、遭遇水灾、空调没了这些问题,出了这些问题怎么办?包括光纤断了怎么办?这是我们关于架构这件事一定要考虑到的要素。

    今天谈的主题是云,在我看来,云是自下而上看问题,前面我讲的是研发角度考虑的问题,7×24小时运维怎么做好?用云。青云是借贷宝很早使用基础的IaaS层的服务,后来还有PaaS层,甚至还有类似于对象存储这样的基础服务,对我们来说运维这件事怎么做好?我认为第一件事情就是包括以前在百度看到,大家做运维工作都是手敲代码上线部署,出了问题追日志,起停服务,全是手动人肉过程。到今天这个事已经不行了。贴吧服务器规模是一万台左右,这是用了7年的时间,从几十台到一万台。现在借贷宝服务器也是一万台,当然是虚拟机,物理机有3千多台,这样的规模你靠人肉操作是搞不定的。我曾经经历过一些事情,在贴吧的时候,业务压力很大,运维自动化也不够,没有从运维角度考虑研发应该怎么做。导致了一个问题,我曾经要求把OP团队招到20来人,你们做好上线,出了问题大家人肉顶上,一个季度以后这个团队离职只剩下一个人。大家疲于奔命,每天收到的报停短信两万多条,这个事情没法干了,是我,我也不干。所以后来痛定思痛,后来贴吧架构重整,用了两年的时间,虽然过程很痛苦,但是结果很理想,我再也不为用运维烦恼了。

    0_1470808108863_2016-8-10-13.png

    这是我们运维的四个目标,从原来用工具运维变自动化运维;从传统的服务器到可伸缩的云架构,类似于QingCloud这样的服务;从单机房到双活,同城两个机房,再到异地三机房;从单独一个系统到一个个的服务架构。这是我们运维要达成的目标,当然不可能只是运维团队做这个事,需要运维、研发一起来做,运维给研发提需求,研发团队一开始就要符合这样的一些运维要求规范,这样运维才可以得以持续进行,否则的话,运维这件事情就是来多少人,走多少人,不可持续。

    0_1470808138175_2016-8-10-15.png

    这是目前借贷宝的业务架构拓扑,我们目前在做的是北京同城俩机房,这也是一个运维要求,也是研发架构的规范。左侧是研发架构,看起来就很简单,架构不外乎横向分层纵向分组,把你的业务拆解开来。

    我们谈一下业务分层,前面业务场景图就已经做过了,这是架构拓扑分层的事,我们最上层是我们的端,是用户可感知到的产品,我们的APP,我们的H5,我们web。到了机房以后,我们会有一套F5接入层,这是做负载均衡做HA的硬件设施。再到上面一块,因为运维工作很大程度可以使得运维治理单独做,像调用管理、流量管理,所以我们这边专门做了一层Router(Nginx来做这么一个Router),用来做一个约束,所有的流量、调用我都要经过这个Router,这样从运维角度可以很容易做流量调度,做服务治理。
    再到下一层就是业务逻辑,业务逻辑层是包在一个容器里面,这个容器是虚拟的概念,以后也许有Docker、也许有虚拟机,是什么不重要,但是从架构来讲,我们要把它一开始抽象出来,我们所有的业务逻辑要求无状态无数据。数据在哪儿?数据在最下层的数据化层,无论是MySQL还是Oracle还是Redis。

    这样一个层次下来后,运维就简单了,我们绝大部分的运维问题都会发生在这个地方,有bug,流量突增,你需要扩容。怎么扩容?反正你没状态,在云设施上,一键部署、一键扩容,流量把这个顶住,下层的问题,我们有专门的DBA团队解决。
    从运维角度看,这边是研发角度,右侧是运维的角度,右边就是运维团队要考虑的事情,包括服务管理、流量调度还有服务注册发电机制,还有监控。运维很重要一个问题就是我要比用户更早主动发现问题,不要用户报。发现问题以后,你的处理手段一般来说是流量调度、自动化部署、扩容这些。另外从运维角度讲,我们资产要被管理起来,有多少服务器。物理机一千多台,我们手上都有这些列表吗?没有,运维团队不知道自己手上有多少机器,因为机器可能在这个研发这个的手上,在那个研发的手上,这个数据库在哪儿?不知道,有可能是在这个研发手上,那个研发,完全一片离散,所以我们需要有一套机制能够把这些东西管理起来,也是我们现在建设,并且基本上已经达成的一个目标,CMDB做资产管理。

    其实一切的一切在我理解用一个规范而不是用一种自由,特别是当你要把业务做大的时候,特别是成规模的时候,可能一些灵活性我觉得是技术上不需要追求的。一开始要考虑灵活性、考虑扩展性,不如一开始先把规范定好,把分层结构做好,把分组结构做好,这样你的服务在扩大,业务迅速增长过程中,你的事情才可控,否则很快就失去控制。这个时候业务再快也没有用,因为你发现每天疲于奔命是在擦屁股,打补丁,补丁上面再打补丁,补到自己快吐了,你会发现这个事没救。所以我们业务迅速扩张迅速发展,一开始把我的架构做好,把我们的体系做好,而不是一上来多酷多炫多灵活,这个不重要。如果有一套标准,你会发现架构上本身形成体系,你的团队也形成传承,这个时候你再来往前发展,你才有一个良好的基础。

    0_1470808190488_2016-8-10-16.png

    最后一个话题,我们有很多安全挑战。

    第一个,业务安全。

    刚才我讲的一个命题,我怎么证明用户就是他本人?在市面上咱们已经看到有很多互金产品,都在使用的是肖像认证,借贷宝是第一个把它大规模使用起来的产品。你注册以后你必须用肖像认证才能使用这个产品,这种强要求,我觉得在互金产品是比较早利用的。

    我们和Linkface有一个合作,它做肖像识别,如果要求是十万分之一误判情况下,目前我们能够做到的准确识别率是99%左右,这个技术对我们来说是非常重要的一件事情,我们利用这个事,现在跟银联的数据给我们的回馈里头,我们的冒名盗刷率是零,这是一个突破,这是因为我们充分印证了使用的用户是不是他本人,怎么证明是不是本人?公安部有公民的肖像库,用户在使用过程中拍摄的照片去跟公安部身份证照片做肖像识别,做比对,这是在国内业内用得比较多比较广而且是依赖比较大做得比较好的一点。

    第二,设备指纹。做APP一定有这个痛苦,量究竟有多少是真的,有没有一机多刷,改一个room,越个狱,就把数据量做上去了,你就掏推广费。这怎么办?设备指纹是一种比较好的方式,当然这个事情不是我们自己做,我们买的服务。

    第三个,用户征信情况,这也是买的服务,包括同盾、百容这样的数据供应,来揭示它在社会已有的征信情况。

    第四,借贷宝是一个电子借条,是一个平台工具,其实它在司法上有一些挑战。目前在中国司法体系里面证据链这一环上,目前被采信的、司法直接授予的就是可信任时间戳,联合时间戳的服务。它的原理很简单,我们生成一份借款协议,我们要去国家授时中心请求一个时间戳回来,一旦做了时间戳可以证明你是在这个时间点上干了这么一件事,这个东西不可被改变,因为国家授时中心是西安临潼那边有军队守护的机房,没有任何人能进去篡改这里边的时间戳,所以这是目前司法机构受信的电子证据。

    第五,任何规则都不可能防止作弊,无论薅羊毛还是欺诈,所以还需要我们的机器学习的模型来对欺诈对薅羊毛营销上的东西做判断,通过机器学习提高这方面的准确度。

    其它的系统安全、数据安全是常见的技术领域话题,我在这儿不赘述。

    我今天讲的东西可能面上比较宽泛一点,主要介绍一下借贷宝的技术体系以及业务应对的挑战,希望对大家工作有所帮助,谢谢大家。


登录后回复
 

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