银泰IDC历史
在2016年之前,银泰以IDC为核心支撑全国商场的各业务系统,拥有200左右节点的虚拟化集群以及多达10多套数据库集群。它和很多传统百货行业一样,有着许多不断变化的内部和外部的技术需求,同时面对目前的IDC环境,已经无法支撑未来5年的业务规划。当时运维团队规模在6人左右,却逐步演变成了6人的“救火小分队”。
IDC缺少一种可扩展的能力,它和云的最大区别在于API。从运维角度以及研发角度来看待这个API,没有API会很低效,无法用程序去触碰,无法做IaC(Infrastructure as Code),反而是大量的脚本和人工化操作,对于扩展性方面,投入更多的是物理服务器的上架。如果想在其上引入DevOps,也是非常困难。
公有云和私有云
银泰为何选择了公有云而并非私有云,核心问题是人。从整体收益角度来看,不值得投入私有云。私有云需要引入非常高的技术力量,比如经验丰富的OpenStack工程师,需要投入大量的私有云开发和维护人员,从而你还需要为整个私有云的稳定性负责,以及定制开发增量需求。这里面私有云的水平完全取决于工程师的水平,虽然可以发展到一定的规模,但仍需要时间。所以银泰更倾向于公有云的选择。
银泰上云的过程
在2016年开始,第一个上云的是银泰的会员业务,随之是营销业务和其他底层业务。这是传统百货的一个颠覆过程,在这里银泰使用的阿里云,将所有应用迁移至EDAS(企业级分布式应用服务)中,EDAS可以提供一整套运维和研发的解决方案,包括应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Dubbo 等微服务运行环境。这使得上云变得更简单了。
将全部应用迁移到EDAS中之后,因为银泰的业务特点,会有一些应用仍然无法迁移到与之一致的环境当中,甚至还有很多Windows Server,很多三方应用,很多生态相关的应用。面对这些场景,银泰在云上划分了多个VPC,将应用按照核心、非核心、生态、三方系统等角色进行打标,并分布在多个VPC当中,好处是安全,每类业务系统在自己独立的隔离环境中。
剩下的最后一部分应用是不值得上云的“长尾”应用,这部分应用从业务角度开始梳理,并解除与业务的关联,直到最终下线处理。
上云最难的不在于应用部分,而在于数据库部分,银泰的数据库分为两大类,分别是核心交易数据库(包括会员、营销、商品等)和支撑型数据库(包括OA、财务、BI报表等)。银泰拥有10几套数据库集群,存储过程2000多个。数据库难在存储过程上,业务非常复杂,存储过程很难拆解。而对于这部分的数据库维护来说,就已经非常复杂了,银泰需要超高水平的DBA才能够维护好这如此庞大的数据库集群,而数据库的水平也取决于DBA的水平。当然,有一部分存储过程已经完全通过代码级别剥离掉了,但剩余部分一定不是不停的上人去解决,这一定是需要技术去解决的复杂性问题。而银泰针对不同的数据库类型,设计了两步走的策略——先将核心数据库上云,再搬支撑型数据库。核心系统的搬迁应用了阿里云工具对原有数据库业务逻辑代码进行了优化。支撑型数据库应用PPAS数据库,其能够在兼容传统数据库存储过程中,最大程度的降低成本。
2017年夏天,银泰在百货行业里第一个推出了有偿会员卡服务,云上数据库坚挺地支撑住了线上会员大量增加带来的冲击。2018年,核心营销数据库、支撑型数据库、行政类数据库也相继搬迁到云上。银泰不仅可以应用PolarDB最先进的技术,也将运维人员进行解放。
直到2019年9月30日,银泰100%云化项目完全落地,这标志着银泰是整个百货行业中全球首家完全架构在云上的百货公司,通过云近一步放大业务的支撑能力,是性能、稳定性、安全上的全面升级。
做好上云技术上的选型
单纯拿数据库来说,银泰是很传统的百货公司,使用的都是传统10年前流行的数据库技术,面对上云该如何选择呢?
第一,要根据业务情况一起看,不能只看技术,不能一味追求高大上的技术,要看能否通过技术去解决业务上的问题,未来3-5年能否可持续演进
第二,选择最适合的技术,而并非最好的。适合你的就是最佳的。
第三,是终态还是临时方案。终态一定是可持续演进的,而临时是追求快速和高效。
银泰的2000多个存储过程,只剥离了不到20%,剩下的80%的工作量和复杂性通过ADAM迁移上云,以及PPAS高度兼容的特性解决了这一难题。
云+场的远程管理
Wakanda是银泰云化过程中直接构建在云上的新零售运维管理平台,通过结合阿里云IoTHub的底层能力,互联全国所有商场的IoT以及网络等基础设施。这是银泰商场IT同学工作模式的一个转变,把现场运维工作搬到了云端处理。
之前商场的IT同学会处理各种商场内遇到的技术问题,比如收银的POS机坏了、网络故障了等等。现在可直接远程化操作之前的所有工作内容,并且工作效率较之前提高将近80%,节省出来这些时间可让IT同学近一步放大自己的能力,由之前被动处理重复性事物转变为商场的运营和抉择,把重心放到业务上而不是重复性的技术问题上。这是工作模式的一个转变,也是从被动执行到主动抉择的一个转变。
阿里云助力银泰上云最佳实践
阿里云全球技术服务部(GTS)的全球应急响应中心(GOC),内含一整套应急体系,包括监控、预警、应急响应、预案、故障定级、事后复盘等。银泰通过与GOC合作,将阿里巴巴这一套应急体系延伸到了银泰复杂的新零售场景当中。银泰通过Wakanda监控商场的业务,双11期间在Wakanda稳定性中控台中可实时看到大促发生的各种问题,在监控告警之前就通过盯盘提前感知问题的发生。随后通过Wakanda联动GOC背后的应急体系与预案能力进行故障收口。在这次双11曾多次避免故障发生,在故障产生之前就有效预警和解决了问题。而Wakanda是集成了阿里云IoTHub,通过SLS为底层日志技术,构建了银泰新零售复杂场景下的一体化监控系统。
银泰已经完成100%云化,靠云计算去放大业务的支撑能力,是性能、稳定性、安全整体的提升。阿里云服务团队提供除了GOC的应急监控,还提供了大促期间完整的云上护航服务。这次双11的护航,充分感受到了云上护航服务的伟大之处,从对客户的系统架构前期摸底,到稳定性的提升方案,再到应急响应,感受到的了阿里云工程师的专业和使命必达的精神。
这次双11通过阿里云GOC的能力以及阿里云护航服务,助力了银泰SRE团队完成了一次巨大的挑战,也沉淀了大促保障的最佳实践。
银泰上云后的收益
很明显,以下是银泰在上云后所看到的一些收益:
1,弹性的计算能力:IDC计算能力依赖于硬件投入,云上的计算能力为分布式弹性计算,免去了经常去机房上架服务器,更换服务器等操作。IDC的局限性在于物理服务器和物理空间,云上无需关心资源问题,并且易于扩展。
2,避免浪费:IDC固定投入,并不意味着所有硬件资源都可以充分有效的利用起来,投入越多,浪费的也就更多。而云上是完全弹性的计算和费用,可随业务变化而随时调整,将投入的资源最大化发挥。之前存储利用率不到10%,大多数是闲置状态,上云后整体存储利用率已接近80%。
3,效率:IDC中的操作大多数围绕着手工执行相关动作,云上一切操作都可以通过API触达,将之前的维护性工作以及部署性工作由两周降低到了几分钟内即可完成。
4,高可靠性:上云之前,银泰的运维能力局限在自己运维人员的水平,而上云之后就是阿里云最先进的稳定性水平。无需关心底层架构,只需将经历放在业务层面中。
那么在双11期间,财务结算整体速度提升3倍以上,分摊数据处理性能提升10倍,之前由两周的机房扩容周期压缩到分钟级别即可搞定。而今天的银泰交易峰值已经是3年前的20倍,应用云技术,银泰赋予数据决策的能力,落地精准营销、客户雷达、商品比价、四色预警、BI决策支持等数据产品,并为一线导购提供简单好用的分析工具,帮助导购为客户提供更优质的服务。而目前,全面上云正成为新零售企业的标配。