1号店如何玩转混合云

黄哲铿:很高兴有这个机会能够跟大家一起来分享1号店是怎么在混合云去做实践的。这是我个人的一个介绍,我是基础平台部的总监,主要是负责安全,还有云平台,以及我们的运维的工作。这是大致的介绍路径,首先我们会讲一下1号店业务特点,以及我们混合云应用的背景,以及整体的技术架构,和我们从去年开始在做混合云的过程中我们遇到什么样的问题以及我们怎么解决的,最后我们会展望一下1号店在混合云这块,我们后面有什么样的规划。首先我们讲一些业务,因为其实技术解决的是业务上的问题。对于电商来说,我们一个行业里面的业务特点是什么呢?首先从全行业来看是价格战横行,比较知名的一些电商网站相信都打过价格战了。价格战其实从根本上来说,说实话这是一个更引爆关注的一个行为,而不是真的降价,这个说实话。因为我们1号店有一个PRS系统,我们能够监控全网所有电商网站价格变动情况,在国内打价格战非常有名的某两名电商公司,他们最凶的一场价格战是在去年我记得。我们监控下来的结果其实没有人在真的降价,反而是1号店在这些单品里面有差不多20%是我们的价格最低,而那两家是在吆喝,是耍流氓。然后就是野蛮式的促销和拉动,你便宜我比你更便宜,你比我更便宜我就免费,你免费我就白送,这是非常野蛮式的一个促销。马太效应,就是说这个行业现状做得越大越好的你得到的顾客资源越多,反之就会被淘汰。

像1号店从2008年开始做快消的电商,我们口号叫做网上沃尔玛,谁知道2010年我们真的变成沃尔玛,跟我们同期在做的电商网站没剩几家了,就商超类的电商网站。其实去年整体电商消费增长是大概50%左右,相对前几年来说是平稳的增长,在移动端其实是去年是爆发的年份。很多的一些电商网站他在移动端的销售站点都能够达到50%、60%,一般来说应该是30%、40%,现在普遍应该达到这个量。刚刚介绍这个行业是这个现状,那1号店在这个行业里面你也不能清高。所以我们也做了一些相对比较有代表性的我们的促销。刚结束的311的进口牛奶节,它当天的定单量每分钟的定单峰值是平时的十几倍,所以你们可以想像十几倍的量,平时你有没有这么多的服务器的储备,所以当这个量级非常大。右边那个图是去年双11的时候,这个是在纽约时代广场就放了一天,什么都没有,就是这张画面放了一天。因为去年很有意思,阿里说双十一是他们的,是他们注册的,OK,这可能更是一个事件性的营销了。但是在这两场促销里面,当天的交易量都是增长到了平时的十几倍和数十倍,所以这样爆发式的增长特别适合混合云的场景。下面我们会介绍。怎么样才能支撑像我们电商行业爆发式的增长呢?第一个方案就是私有云,就是我们自己买很多的服务器。方案B就是使用混合云,就是我们日常的一些业务,核心的一些业务,像购买流程,用户数据,下单流程,这些比较核心的我们会用私有云来做。像类似于摇一摇,像春节时候大家摇一摇抢红包,这种场景可能更适合公有云来做。因为它可能不是核心的业务,但是它的量非常大。像这样的一个业务。这是1号店云平台规划的一个路径。其实开始我们应该是在比较早的时候,1号店应该是在做了三年四年左右我们就开始做一些自动化管理的一些工具,这些工具包括我们自动发布的程序,我们管理我们虚拟机的系统,我们配置化管理的系统。有了这些自动化系统管理之后我们下一步就是做私有云,私有云就是把我们刚刚说的这些系统把它们都整合起来,整合起来之后我们就能够有一套我们私有云的一个管理平台,包括我们现在1号店内部的测试服务器,我们有大量的测试服务器,我们也会用这个私有云平台管理起来,包括线上服务器我们也是用这套系统一起来做管理。

有了私有云平台之后再往下就用到混合云了。我们通过把私有云的一些接口,包括安全性等等把这些完善之后,我们就能够协同外部的一些云服务的提供商,像首都在线,这一类的云服务提供商,跟我们一起来做一个整合。这是1号店的云平台介绍,这也是一个比较general的架构,最底层应该是info structure,再上一层,中间这层就是PAAS,Plateform as a service,再上面就是应用层,包括定单服务,包括支付服务等等,以及我们的开放平台。这是1号店混合云的一个总体的架构。顾客访问进来的话,首先会访问到我们的GLSB,Global Server load balance,这是1号店自主研发的流量调度一层,通过这个我们后面调度我们自己的私有云和外部公有云,整个就构成了我们1号店的混合架构云。

再往下看细的怎么样启动一个混合云呢?首先刚刚我们介绍过,因为1号店去年前年实现了私有云,在私有云基础上我们首先对公有云做一个连接,因为我们有一个私有云的管理平台,也可以叫做混合云的管理平台,这里连接之后我们获得公有云的这些资源,比如说服务器,然后我们的私有云的管理平台会对公有云服务商提供过来的服务器列表,包括配置,包括IP等等进行校验。校验之后我们会把我们的一些配置信息,以及我们一些镜像,一些模板传给我们公有云服务商,他们会在他们的服务器做配置做部署。后面我们私有云平台会给公有云一个授权,这个是解决安全问题。然后我们看防火墙下面打开了一个口,我们就能够把我们需要的一些应用的环境,我们主要是JAVA,我们就会安装JDK等等放到公有云的服务器上,这样就整个的环路就建立起来了,所以它是有一个校验、授权、初始化等等这样一系列的过程。通过这个过程我们可以看到私有云和公有云通过了混合云的管理平台,这个平台有效地去管理我们外部的可能是一个或者是两个公有云的提供商。这就构成了我们混合云的主要架构。

其实在混合云实践过程中,当然不可能避免遇到这些像带宽的问题,延迟的问题,以及单机性能IO,还有包括API,还有云服务的稳定性以及我们都很关注的安全性等等,我们一起来看一下这些问题我们是怎么解决的。首先带宽,在我们做混合云的过程中,我们其实也是逐步地去把我们应用进行一些修改,使得我们的应用更适合去做混合云,当然还是做比较轻量级的修改,不会碰到底层。首先比如我们举一个例子,我们的某个业务,这个业务它在每台的VM上会占用40兆带宽,如果是加了一些cache等等,它也至少要用4兆的带宽,公有云一般提供100兆到200兆的VPN带宽,所以你想云端部署的量有10-25台VM,那其实这个意义不大。我们要做什么呢?我们要把应用带宽尽一步地压缩,这个是更适合混合云的场景去做优化,所有首先是适合做这样的一个事情。

然后延迟的问题。在我们代码里面有大量的循环调用的业务场景,你不能说它不合理。很多开发人员他就很喜欢写一个for循环就搞定了,那这样混合云在这个场景里开销就大了,所以我们迫使开发把这样一个循环调动应用解决掉,它要把它改成批处理方式去提交你的作业。所以这个是我们在做的过程中碰到的问题。

还有就是计算能力的问题。其实很多的云服务商,他们所能够提供的CPU的处理能力其实还是比较强的,是比我们自己购买的这些服务器,不管他是用什么技术虚拟化还是什么,但是他提供的CPU Chess确实是比较强。但是在一些场景里面,CPU比较强的虚拟机器比较占优,所以像这类业务你可以把它放过去,对云来说,它对时效性要求不高,但是对计算量要求高,比如说实时推荐或者检测。

IO性能的问题,每秒的读写是我们非常关注的问题,尤其是在数据库的这种主从应用场景,备库如果延迟太多,我们主要的应用都会去连备库,其实是不适合我们使用。所以解决办法就是说SSD当然是更好的解决方案了。另外对于混合云的平台来说,我们私有云我们一定要提供一套比较完整的API,使得我们对公有云提供厂商他们资源进行更有效地管理。我们可以做到理论上来说是能够做到实时的,我用了多少,我自己我知道这个量,这个对我们的结算来说是比较好的。

另外就是稳定性的问题。其实只要用到公有云还是私有云,其实都会遇到稳定性的问题。我们的解决办法是什么呢?只能说是在对我们的公有云的服务提供商对它要有一些要求,除此之外我们自己的故障恢复能力,就是切换的能力同时要具备。根据不同业务场景你要使得你的业务能够在分钟级别或者在秒级别能够从公有云切回到私有云。另外你公有云要做比较完备的监控,心跳检测等等,如果一有问题,我们一旦发现它不稳定了,我们就通过刚刚介绍的GLSB global load balance,我们立刻对这个公有云去做一些切换。或者说如果我们私有云有问题了,我们同样把它切换到公有云上也可以,这是混合云本身要具备的能力。

安全的问题,事实上安全问题我个人认为可能是两个挑战。一个是在技术层面,技术层面我认为可能再过那么一段时间都会能够得到比较有效地解决,但更重要的一个问题,其实是在我们企业里面,老板们对云的安全性的一个顾虑。对吧。如果你今天你跟你的老板说我的用户我的数据都在公有云上,老板一下子就给你拍死了,你不用再说我的技术是多么的安全。所以在国内这种应用我认为更多的还是在管理层对云安全性的认识上。

这是一个我们云平台一个管理界面的截图,可以看到我们混合云的机器,下面都是机器列表,可以很快地去建立一个申请。一旦建立这个申请,跟我们合作的公有云的服务提供商,他就能够在他系统里面看到这个申请,比如说我们一下子申请像4月19号我们马上要做的规模很大的大促销,在移动端的,这个大促销会给申请请求像首都在线这样的,它可能看到请求是几百台公有云的请求,他们很快的上架,很快测试部署,可能一两周内就部署工作,上线当天我们就能够有数百台的服务器能够使用。活动之后我们再做统一的下架,这个时候结算周期就结束了,可能我们传递给公有云的服务提供商的这些数据就能够很清楚地看到说我用了你多少台服务器,用了几天,这个都是通过系统来去做的。这个是我们1号店对于混合云应用的一些情况。

下面是我们想要在混合云这块后面更多的探索。一个是云提供商的规模。我们目前是在使用其中一家,后面我们可能会提升这个量,在使用的规模上可能会再增加。当然也要根据我们的应用改的情况去使我们更多的应用,非核心的应用,这种创新型的应用能够更多地部署到云服务的平台上。另外考虑到成本,以及效率,服务器稳定这些方面希望都能够去得到提升。应用的去雏形化,接口的标准化,这个都是我们接下来混合云平台需要继续去完善和提升的。这就是大致我们想要在未来一两年内让我们的混合云应用的更成熟的一个方向。上面就是我今天跟大家分享的内容,也非常欢迎大家来跟我们交流联系方式。好,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值