本文正在参加“最佳上云实践”评选,来给我们投票吧:(编号42)
借助阿里云的技术服务,五阿哥(wuage.com)钢铁电商的整套平台都得以快速实现,弹性伸缩,以及技术组件无缝衔接让我们把精力更加集中到业务。
我们基于阿里云,致力为钢铁行业赋予崭新机遇
时间定格在今天,在这个被电子商务颠覆的时代,各行各业都在寻求顺应时代的商业进化法则,钢铁行业也不例外。
作为基于1688钢铁频道的升级版钢铁终端贸易服务平台,五阿哥由阿里巴巴与中国五矿联手打造,并充分运用“线上第一”与“线下第一”的双方股东优势资源(即:阿里巴巴在大数据、电商平台,和互联网产品技术上的巨大优势,以及中国五矿在终端买家领域的独有市场基础)致力于为钢铁行业带来全新而持续的发展。
作为中国五矿和阿里巴巴联手打造的钢铁终端贸易服务平台,我们以大数据为核心链条,全面整合信息流,物流,以及仓储加工等至关重要环节。
创建伊始,我们便选择基于阿里云搭建大数据平台,减少自建系统带来的开发及维护成本,用于快速驱动业务,进而实现整个行业的“乘法式”升级,并最终致力于塑造出一个从未有过的钢铁行业新格局。
响应更高的业务需求,阿里云是平台的必备要求
创建之初,我们便选择基于阿里云作为电商网站的计算资源,从而减少自建数据中心带来的硬件维护成本,并基于阿里云技术栈快速响应业务需求搭建出网站。
- 一键搭建
五阿哥利用“一键”式搭建基础环境,自动完成所有资源的创建和配置,同时计算资源定制个性化副本镜像,在新资源开通引用已经做好的镜像,从而使业务上线比传统数据中心缩短3倍时间,加快快速网站功能的上线,大大缩短运维人力成本。
- 安全防护
五阿哥电商网站使用安全骑士、态势感知、高防IP、WAF,以及绿网等安全产品对网站进行四层/七层的安全防护,利用“先知计划”签约的白帽子,可实时对网站进行渗透测试和漏洞挖掘,及时发现网站的安全漏洞。
通过自建监控系统,实时对网站基础环境、应用、DB,以及业务进行监控和报警。
结合SLS日志服务,对网站应用日志进行收集,开发伙伴可高效进行应用集群日志进行检索,同时为后台大数据平台提供稳定的数据源。
- 更高性能
针对电商业务峰值频发,使用阿里云CDN、缓存功能,对于诸如店庆、大促一类大型活动,结合自建的docker动态资源池进行网站计算资源弹性伸缩,从而有效提升网站性能并显著节约成本。
- 高效容灾
-负载均衡、RDS、DRDS、CDN等采用跨区域容灾策略消除单点故障,保证数据的万无一失,提高在并发场景时的稳定性。
-健康检查,实时检查后端应用和数据库的可用性。
响应持续集成与交付,唯有云可全力以赴
考虑到数据的安全,五阿哥电商平台基于阿里云构建开发、测试,以及线上环境内网环境,无论在外地出差,还是在家都可以通过VPN方式拨到公司网络内,实时参与公司项目的开发与调试。
整个电商平台基于docker方式进行应用部署和发布,开发伙伴可使用公共环境与自己所负责的开发项目组件一套开发环境(如:场景①,场景②,场景③)。在开发过程中每次提交代码后,gitlab通过webhook发现代码仓库的change触发持续集成(静态扫描,代码编译build,单元测试脚本),并将集成结果通知到项目组伙伴。进入提测阶段后,将应用build成新的镜像推送到docker私有仓库,并发送在docker的动态资源池进行部署。
为确保测试环境和线上环境的有效隔离,在进行预发验证和线上环境发布时,只需在发布系统中填入项目分支,即可完成整个项目发布与应用的web配置,同时,在举行大型促销活动时进行docker动态的扩容与缩容,提升网站性能,以及最大化节约成本。
我们利用阿里云快速搭建了电商平台,保障了整个网站的稳定和和安全性。利用docker进行应用发布,提供7*24小时的无限制应用发布窗口,极大提升研发上线和部署效率。
至此,阿里云不仅全力响应着我们的业务,更积极影响着整个钢铁行业的向前发展。
从此,实现一站式大数据处理能力
结合阿里技术栈搭建大数据平台后,我们便拥有了一站式大数据处理能力,主要包括:数据采集、数据计算、数据同步、数据可视化、任务调度等。
在应用开发过程中,我们基于阿里云大数据平台技术框架,整合相关技术,实现快速迭代与敏捷开发。以线上消息实时推送功能开发为例,我们整体采用了阿里云大数据平台中的Data IDE、Loghub、EMR、RDS、阿里云Redis、QuickBI报表等相关产品,并利用阿里云成型产品,迅速使平台具备了数据的实时、离线处理,以及数据分析等能力。
Loghub,实时消息,实在精准
我们通过LogService实现对业务应用服务器端的日志数据及前端埋点数据(用户访问、操作、行为记录)的采集、消费、投递以及查询分析等功能,并采用Loghub提供的日志实时采集和日志投递功能,实现原始数据收集,以及向ODPS等阿里云存储类服务进行数据的投递存储,并进一步通过开发阿里云EMR程序对接Loghub日志进行清洗过滤与加工,完成对采集数据的实时处理,进而实现消息的实时推送。此外,在进行数据实时处理计算的过程中,程序访问操作处理存储在RDS的数据,整合相关数据链路实现线上消息的实时和准确定向推送。同时,EMR作为我们的基础计算平台,本身很好的支持了阿里云其他组件的整合使用,加之丰富的官网文档将开发效率进一步提升。在进行实时和离线计算任务的开发中,实时主要基于EMR实现,而离线计算的一部分也是基于EMR,更多的则是基于阿里云提供的数据仓库解决方案。
Data IDE,将一切繁复,一一化繁为简
作为数据仓库解决方案的Data IDE为我们提供可视化开发界面、离线任务调度运维、快速数据集成、多人协同工作等功能,完全满足现有离线计算业务场景。负责开发的工程师完全不用考虑繁琐的Hadoop平台运维,只需专注于数据处理、展现,以及分析。
我们的业务数据源存储在多个RDS实例中,通过Data IDE数据同步,便可在可视化界面上进行数据定时接入,只需在Data IDE配置源RDS,在ODPS上建立需要同步的表,创建数据同步任务,建立表对表的映射,设置数据同步时间和周期即可。目前为止,所有数据都能准时、准确,且高效的从RDS同步到分布式离线计算引擎ODPS中。
创建数据处理任务也相当灵活,只需在任务开发中新建ODPS_SQL任务,并根据业务场景编写ETL逻辑,配置依赖和调度时间与周期,并点击发布,就能将处理任务发布到调度系统,实现按时依赖调度。同时,在Data IDE做任务的运维巡检也相当便捷,在任务运维概览中,运用仪表盘和可视化图表,便能一目了然任务完成情况、任务运行状态、调度任务数量趋势、任务类型分布,以及任务执行时长排行。
目前我们的平台有上千个数据处理任务,通过阿里云组建的数据平台却可在很短的时间内完成批量数据处理。运维中心还能对任务进行管理,实现线上任务的资源组变更、责任人变更、报警添加,其中,任务报警目前支持出错报警和超时未完成报警,其中数据指标阈值报警说已经在计划之中,期待阿里云团队后续的优化,在任务运维中对任务进行停止、重跑、恢复、批量补数据等操作。
数据使用时可通过ODPS数据推送到RDS,再由RDS封装接口给业务方使用,或者直接将RDS作为QuickBI数据源供报表展示。将ODPS数据推送到RDS也非常方便,只需在Data IDE配置上目标RDS,并在上面建立需要同步的表,并创建数据同步任务,建立表对表的映射,设置数据同步时间和周期即可。唯一需要注意的是,如果是全量表,每次推送前需要清空RDS表,如果是增量表,只需清空当天新增数据即可。
另外数加平台Data IDE还支持Shell任务,只需将ECS客户端挂在Data IDE上,创建Shell任务后,将任务配置到这台ECS客户端即可。一般做法是在ECS客户端上配置一个ODPS Client,如此便可以用Shell脚本,从而通过ODPS Client向ODPS提交各种任务。
借助此功能我们实现了基于Data IDE触发其他系统任务或事件的机制,比如在数据使用时,如果一部分表数据依赖Data
IDE本身任务执行完成,其他应用才能进行时,这里就可以在被依赖的定时任务中增加一个Shell任务,例如,在与EMR集群任务关联调度时,待上游依赖ODPS任务计算完成后,可由Shell通过EMR API的请求运行EMR任务执行计划,轻松实现跨组件协调调度。Shell里面可以实现自己很多逻辑,对使用者来说,也相当便捷。
QuickBI,每个及时的数据,正是运营伙伴的幸运数字
QuickBI它具有丰富的数据可视化效果,其图表内置的柱状图、线图、饼图等多种可视化图表,满足我们在运营中不同场景的数据展现需求,以便运营伙伴通过QuickBI及时了解到网站的实时运营状况,并做出相应决策。
目前,我们QuickBI所接入的数据源有RDS和ODPS,而QuickBI还支持多种云数据源,为以后数据源的拓展提供了便利。利用其提供的数据源加速功能,数据提取可达到秒级响应,大大提高了开发与使用的流畅性。
在报表开发方面,QuickBI目前的“数据源”--“工作表”--“仪表盘”--“数据产品”的开发路径,极大提高了报表数据产品的开发效率,同时,更支持拖拽式操作,上手简单易懂。特别是流量分析功能,利用QuickBI提供的日志分析模板,将网站流量数据做成分析报表,来查看近期全国的流量趋势,为查看不同地域的用户行为、用户属性信息提供了便利,也为网站在全国推广提供了有力支撑。现在,我们利用QuickBI 提供的数据在线分析服务,可轻松自如的完成数据分析、业务数据探查、报表制作等工作。
QuickBI丰富的模板组件和可视化效果,有效提升了报表的开发效率和展示效果。QuickBI与RAM账号的无缝集成提供了便捷的权限管理功能,节省权限管理成本。截止目前,我们在QuickBI平台上开发形成了涵盖会员、交易、物流等多个业务条线的数据产品,极大方便了运营及相应伙伴实时了解网站运营状况,也因此成为我们改善生产力的有效工具。QuickBI不止是我们运营伙伴看数据的工具,更是我们数据化运营的助推器,为我们数据驱动运营提供了坚强后盾。
云效的角色,让我们的上千个项目运行出色
置身于不处不联接的时代,企业早已无可避免的与互联网产品发生着各种各样的关系,而技术研发与产品迭代能力,以及传统研发与产品发布流程也已成为企业快速升级过程中至关重要的因素。为解决业务发展快、系统复杂、开发协同难、开发测试比高等问题, 作为阿里巴巴与中国五矿联手打造的终端钢铁贸易服务平台,五阿哥引入了更为领先的云效平台,并借鉴其敏捷的研发模式,以及一套行之有效的方法与理念,帮助我们实现开发与测试流程的快速进行。
云效项目管理为我们创建的每个项目都提供了一整套解决方案,从分支管理-持续集成-测试用例-缺陷管理,到API测试自动化-AUI测试自动化,再到需求-开发-测试-发布-总结形成需求研发闭环,皆扮演着其无以替代的一站式角色。目前,我们已累计创建了上千个项目。
一个云效平台,好处岂止一个
云效特有的用例与缺陷管理系统方便测试用例的管理,可以十分便捷的编辑用例和Bug,尤其是缺陷统计和分析功能,更可出色的帮助我们做好项目管理,同时,通过分析更可以很精准的发现重大风险隐藏项目,使团体伙伴及时介入。
我们对持续集成与云效进行了深度开发。24小时持续集成,无发布窗口限制,大幅提高了时间利用性,而利用平台的分层自动化层层把关,涵盖单元、接口、UI、前端、安全、性能,预发布等,则大幅度降低人工成本。
目前为止,我们的AUI测试用例达近千个,其中大量P0的测试用例,每天定时执行,以帮助生产环境进行巡检。云效更为我们提供了API&性能测试,支持HTTP,HSF,Dubbo 协议。今年,我们的目标就是将API测试体系建立起来,并融入到持续集成中,这也意味着,我们可在Checkin,或者Build时做API测试。相信在云效平台的支持下,这一目标会很快实现。
云效平台还提供了Sonar的集成。我们根据业务需求定制了自有的Soanr规则,并于代码开发阶段严格执行静态代码检查(CheckStyle,FindBugs),今年还有计划将Review 环节纳入持续集成。
作为创新团队,云效已然成为我们的信心
作为一个全新的创新型业务平台,我们的团队、成员,以及技术框架无不面临着从无到有的过程,而有云效平台的充分支持,我们则能以更好的基础,来更好的管理项目开发,完成项目测试,支撑业务快速迭代,并充分确保研发质量。
最终,云的魅力,让我们更好的在业务上发力
阿里云服务大而全的技术生态,提供了一套完备的解决方案,为我们有效减少了时间、开发,以及运维成本,从而将更多的资源聚焦于业务,并加速实现我们在钢铁行业的愿景与使命。
未来,更期望阿里云做出更多好的产品,并赋予企业和开发者更大的价值,当然,我们必身在其中!