云场景实践研究第59期:饿了么-阿里云开发者社区

开发者社区> 人工智能> 正文

云场景实践研究第59期:饿了么

简介: 饿了么日订单从几十万增长到一百万,又从一百万增长到三百万,接着到2016年圣诞节的九百万。至今天,其订单量仅次于淘宝和滴滴,与美团不相上下。亮眼数字背后,技术团队背负的技术压力可想而知。作为创业公司,时间对饿了么来说更为宝贵,尤其是还处在一个业务快速上升期的创业公司。
更多云场景实践研究案例,点击这里:【云场景实践研究合集】联合不是简单的加法,而是无限的生态,谁会是下一个独角兽
饿了么日订单从几十万增长到一百万,又从一百万增长到三百万,接着到2016年圣诞节的九百万。至今天,其订单量仅次于淘宝和滴滴,与美团不相上下。亮眼数字背后,技术团队背负的技术压力可想而知。
"如果完全靠自己去招人,不管用多大的代价,压力还是太大了,不仅成本居高不下,人肉堆积也未必理想。"
-张雪峰
饿了么CTO

e3569cf1baaea9d154203b5c2792ec00775db714

采用的阿里产品 
阿里云云服务器ECS
阿里云云数据库RDS
阿里云云盾
阿里云内容分发网络CDN

为什么使用阿里云
作为创业公司,时间对饿了么来说更为宝贵,尤其是还处在一个业务快速上升期的创业公司。
阿里云可帮助解决运维之痛,让运维团队从体力活中部分解放出来,减少被攻击风险,

关于饿了么
“饿了么”是中国专业的餐饮O2O平台, 作为中国餐饮业数字化领跑者,“饿了么”秉承激情、极致、创新之信仰,以建立全面完善的数字化餐饮生态系统为使命,为用户提供便捷服务极致体验,为餐厅提供一体化运营解决方案,推进整个餐饮行业的数字化发展进程。
作为中国知名的在线外卖订餐平台,饿了么已覆盖中国数百个城市,数千万用户,聚集了数十万家餐饮商户。随着业务的突飞猛进,饿了么日订单从几十万增长到一百万,又从一百万增长到三百万,接着到2016年圣诞节的九百万。至今天,其订单量仅次于淘宝和滴滴,与美团不相上下。亮眼数字背后,技术团队背负的技术压力可想而知。

面临的挑战及困难
两个维度:
业务:业务发展过快,2014年5月份,饿了么接受大众点评D轮融资时,订单还只是刚有10W,但仅仅几个月后,饿了么订单就冲到了接近百万。全网系统压力非常大,以前只在几十个城市有业务,而当时准备在两百多个城市上业务。
人才:2014年秋天,饿了么的技术团队大概只有35人,随着业务发展,2016春节过后,人员已经翻到70多人。如果要扩充技术路线的话,挑战非常大。挑战并不在技术或技术架构上,而是在人上。饿了么CTO 张雪峰说:“业务翻倍,人不能跟着一直翻倍吧?”更何况人才难招,这让张雪峰很是头疼。彼时,Python在国内基础设施和运维比较多,但做核心系统比较少,所以招人很难。

为什么选择阿里云
饿了么上云之路
2015年夏天,饿了么开始决定真正上云。当然在上云前,也做了很多尝试。比如,Python招不到人?那就分多路,使用Java和Go。另外,饿了么也有充裕的现金储备,所以在IDC上也加大了很多投入。
但问题的解决之道,并不是仅靠堆砌就可以解决。“不同技术路线及新技术不断引入后,要考虑全局复杂度”,但这还不是关键,在张雪峰看来,最关键的是饿了么的特殊性:“饿了么峰值压力很明显:集中在中午、晚上的前后三个小时,而且在高峰时,问题会不断放大。”他举了去年的一个例子,2016年5.17饿货节,饿了么峰值高达每秒1.5万笔,导致前几秒就把入口打爆而不得不进行限流(用户体验不好)。“特点很明显,峰值效应后就是一个陡峭的曲线。”他说,压力大的时候,会很大,其他时候则是闲置,全局资源利用率较低,不太划算。
于是饿了么换了思路,部分上云——IDC+云。促销、恶劣气候、特殊事件或季节效应时(用户在盛夏或寒冬时,点外卖最多),切换到云,用云挡住大部分流量。上云,帮助饿了么解决了大问题。之前饿了么部署在传统机房,虽然投入了很多,但安全防护非常弱。每天后台攻击流量高达几十G,尽管做了很多努力,但每天提心吊胆。饿了么有一半的故障都是DDOS导致的,每天都被攻击,每周都有一两次大的攻击。而上云后,基本不用担心攻击的事情。
与此同时,上云也把饿了么的运维团队从体力活中部分解放出来。“IDC是体力活,云计算解放了运维团队,让他们有时间干更高级的活。”张雪峰极为推崇云原生(Cloud Native Application),他认为这是云时代的潮流趋势。云时代,运维可以更加Focus脑力活而不是体力活或大量重复工作。并希望饿了么的团队,能够往这个方向努力并逐步转型,具备云时代的技术运营思维。
作为创业公司,时间对饿了么来说更为宝贵,尤其是还处在一个业务快速上升期的创业公司。这是饿了么愿意尝试阿里云力量的原因所在。
虽然饿了么在2015年就上了云,但当时的上云只是测试环境,非生产环境。那后来饿了么决心在云上做多活是因为一次事故。那次核心主备全挂,饿了么的技术团队,只能干瞪眼。因为这是供应商设备Bug,“主”挂了后,“备”上线后也会自动触犯一个Bug。 饿了么当时的灾备建设并不以自动化为主,所以上灾备的(人肉)工作量非常大,而且灾备也没有发挥应有作用。于是饿了么决定进一步上云——做多活。

拥抱阿里云的成效
目前饿了么使用阿里云ECS、RDS、云盾、CDN等服务。它在阿里云上有几千个节点,为保证多活顺利切换,会进行多轮生产演练 。 饿了么多活的目标是几秒钟数据延迟,一分钟内完成所有切换。对于下一步,饿了么将会做一个能承担所有业务的一键部署单元。在当容量出问题时,只要在阿里云上开ezone(全网业务最小部署单元)就行了。 
2016年9月份,饿了么创始人、CEO张旭豪表示,引领外卖行业下半场不是靠执行力,而是要靠人工智能、数据分析等技术创新。而大数据、人工智能,饿了么一直在布局。2017年1月份,有媒体报道,饿了么已同阿里云合作研发出人工智能ET新的调度引擎,并全面推行到外卖送餐领域。就实际来看,人工智能调度引擎优势体现在两点:全局的洞察和实时决策,落到三处:1.预估餐厅出餐时间;2.预估骑手送餐地等待时间;3.订单分配和路线规划。
饿了么CTO张雪峰表示,仅靠饿了么自己做这件事不现实,交易数据庞大且模型正确性很有难度。需要更专业的团队如阿里云一起合作来推动。
于是,双方合作下的虚拟团队就成立了。团队包含三组,一组是物流工程团队,主要把算法模型成果做成应用;一组是饿了么大数据团队,提供一线的数据反馈与修正;另外一组是阿里云山景博士带的智能调度团队,在方向和专业性上提供帮助。其中,阿里云的作用主要是让效率上得到更大提升。比如,十个特征,饿了么需要一一组合验证后,才能明确知道是否适用,而阿里云团队可以指出哪些特征不需要进一步尝试(ROI不高或死胡同)。

关于饿了么的更多实践详情:饿了么四次技术进化的曲折路,记访谈张雪峰
原文发布日期:2017-03-28
云栖社区场景研究小组成员:董黎明,仲浩。

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件developerteam@list.alibaba-inc.com,已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

其他文章