IoT物联网技术 2016-09-29
9月23日由阿里云主办的第一期《电商大咖直播:备战双11最佳实践》线上分享圆满结束,来自银泰网CTO张宇分享了银泰网上云之路,介绍了银泰网混合云架构实践和双11来临前做的准备。
本次视频直播的整理文章整理完毕,如下内容。
银泰商业简介
一家以百货零售、购物中心、电子商务为主营业务的消费解决方案提供商。立足中国17年,大型百货商场和购物中心达到45家。2014年3月31日,阿里巴巴集团以53.7亿元港币战略投资银泰商业。2015年6月30日,银泰商业宣布将与阿里巴巴集团全面融合。
如何上云?
这是一个路径选择问题。不能为了上云而去上云,而是因为上云能够为我们解决很多问题,在这个过程中,最重要的一点是要正确使用云。对云的理解是虚拟化+API,如果所有的虚拟化都只是加了一个界面放到了一起,这样其实并没有云的概念。云之所以可以称之为变革是因为它带来了API,可以通过程序自动化的控制基础设施,包括虚拟机、SDN的网络等。所以根据云的特点去重新设计架构变得非常重要。其中有几个要点:一是服务化,如果没有服务化,系统集成的时候需要数据库,带来的问题是不能进行横向扩展,不能利用云的优势;二是PAS的改进,之前对PAS的探索相对技术绑定。银泰想要真正利用到云的价值,需要有新的系统的建设,基于标准化架构充分利用云的优势。
银泰为上云做了很多准备:自主开发云化友好RPC的框架,采用nofdev-rpc实现SOA抹平技术栈差异;引入JVM、node.js、dotnet core技术栈,按服务维度对系统进行重写,成为符合12factor的云化友好应用;引入Linux平台,docker容器化;对员工进行培训。
混合云的关键考虑
对于传统的应用,考虑如何在外围对传统应用进行改造,让其可以利用云上的优势,比如静态化发布可以在团队很小的时候避免很多问题,确保生产的内容和发布内容的对应性。自建私有云可以进行over commit,即在一个低配置的物理机上虚拟出高的配置。传统应用使用阿里云进行扩容,抗大促。云化应用+容器化直接使用阿里云,降低IT成本。
私有云和混合云怎么进行交互?搬迁到离阿里云最近的IDC,VPN+专线打通网络。前端的部分都是调用后端的API实现的,底层的API是直接连数据库的,如果把一些服务化的东西(比如交易部分、网页部分)部署在云上,经过VPN的混合云的性能下降其实是可以接受的。阿里云的容器服务,兼容docker官方的服务编排工具docker-compose,让银泰商业的技术资产可以复用。
三朵云架构
这三朵云是一个大的混合云的架构。在公有云部分是利用阿里云做所有云化友好应用的发布。最近,人工智能的概念比较火,这方面的创业公司大部分是小公司,但是云计算在其中起到了非常重要的作用。传统上,做大数据分析需要非常多的架构师、运维人员、服务器。云计算带给大家非常方便或者说节省成本的地方并不是说可以不用管理自己的IDC,或者单纯对比自己的运维成本,云计算带来的真正价值是使用RDS之后所有的备份是自动的,DB方面(包括速度、安全性)不用再专门考虑,因为RDS已经提供了这些能力。
银泰云(基于Openstack)用于开发支持/灾备,包括了代码仓库、构件仓库、Docker registry、测试环境。这朵云是用来保底的,自身的IDC在某种程度上还是需要的,把自身的IDC作为基地存放自身的管理软件。
办公云(基于Openstack)用于桌面虚拟化。由于现在很多的企业有一种BYOD的趋势,即大家拿着自己的设备来上班,这会导致在办公的情况下对员工的各种情况的管理比较困难,比如如何保障企业信息安全?自身设备的淘汰问题。桌面运维也有很大的成本,但是在云上,这个问题就会变得比较简单,数据回滚会使得原本需要几天解决的问题在几秒钟内得到解决。
如何应对双11?
双11会出现流量突增,交易量突增,面对这种情况,有以下建议:把所有服务做得无状态,只有无状态服务才能够横向扩展,才能容纳更多的人对系统进行访问;缓存也是非常关键的,包括前端的缓存、应用服务器内部的缓存、DB的缓存等;最终一致性问题,当量增大的时候,一个事务性的东西都要分成很多步骤去做,这种情况下每个步骤都可能打破整体语义,我们需要在业务上也做一些妥协,只有最终一致才能承载更多并发的事务访问;充分利用云带来的优势,能在流量到来的时候迅速做一个响应。