对话首席架构师|阿里云迁云实战解析(二):零售上云全解析(上)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 本文整理自驻云科技首席架构师,阿里云MVP苏炎的分享。本文将与大家分享苏炎对云架构师在阿里云迁云实践案例中碰到和解决的一系列问题。

以下内容根据演讲视频以及PPT整理而成。

直播回顾,请点击这里
回顾第一部分,请点击这里。

接下来具体介绍两个驻云科技基于阿里云进行上云的客户案例。

1. 某零售客户上云

上云动因
目前该零售客户已将其线下的大部分核心业务搬迁上云,其最初的上云动因主要有四点:
• 线下扩容困难。该客户原有的存储经过几年的发展已经到了需要更新换代的阶段,驻云科技按照其目前的业务情况进行了估算,结果发现所需的置换成本较高,因此希望通过云服务来降低整体拥有成本。
• 提高平台稳定性和安全性。由于该客户线下的整个业务中台使用的是微服务技术,最初构建在阿里云中间件私有输出平台上,这种方式下其线下的平台稳定性和安全性需要用户自己来维护,核心业务平台的维护和升级需要大量的投入,甚至由于人员稳定性等原因可能会影响业务平台运行的连续性,而通过线下平台搬迁上云可以在帮助用户提升平台的稳定性和安全性的同时,降低业务平台的维护和升级成本。
• 容器化改造。希望上云后进行容器化改造,让资源得以利用充分的同时能够更加灵活的应对业务高峰低谷。
• 实现CI/CD自动化流程。希望上云后实现CI/CD自动化,提升交付速度,适应业务快速变化。

上云难点
该零售客户在上云过程中遇到了四个难点:
• 复杂性高。该零售客户原有系统的复杂性较高,应用系统数量繁多,依赖与调用关系复杂,尤其是数据库之间存在大量的同步机制,这种情况给业务梳理造成了很大的困难,成为上云的一大难点。
• 数据库结构复杂。该客户原本使用的是分布式数据库加MySQL数据库,实现了分库分表,而且存在大量云上-线下、云上-云上数据同步链路。
• 涉及多个中间件产品。包括Spring Cloud、Dubbo、RocketMQ等,这种情况下客户希望用公有云服务替代,但是由于线下某些开源组件的版本比较旧,代码改动点较多,无缝迁移困难。
• 对性能和稳定性要求极高。由于该客户的核心业务系统沉淀的POS、门店数据较多,同时涉及和WMS(仓库管理系统)的对接,因此对于系统的性能和稳定性要求极高。

应用系统及技术点
下图展示了该零售客户整个应用系统及技术点的具体情况。需要上云的应用系统主要包括门店POS系统、WMS(仓库管理系统)、O2O、内购券、全渠道业务中台、报表系统、HR系统和会员系统。

涉及的技术点主要有:
1)微服务。由于该客户的业务系统需要针对不同供应商进行开发,因此微服务系统包括Spring Cloud和Dubbo的使用比较多。2)Java。客户的整个业务系统中Java的版本使用不一,这也给后面的上云带来很多问题。
3) 对象存储。该客户针对一般文件存储采用的是NAS,对象存储使用的是FastDFS。由于在阿里云上搭建FastDFS不太合适,因此上云过程中涉及了FastDFS到OSS的改造。
4)容器化。使用容器化一方面是为了实现整个业务环境的标准化,从而更好地帮助其进行部署和实施;另一方面还可以帮助用户节省资源。
5)数据同步。业务的数据同步主要依赖底层的MySQL实现。
6)消息中间件。客户原本使用的是私有输出MQ,上云后使用的是阿里云的RocketMQ,版本升级很多,同时在使用方式上也发生了很大的变化。
7)分布式事务。使用的是阿里云自有的全局事务服务GTS。
8)高并发。为了满足客户的高并发需求,在涉及到云计算特性的使用选型上,驻云科技进行了一系列压测。
9)分布式事务和分布式数据库。

screenshot
云上整体架构
该零售客户业务系统上云后的整体架构如下图所示。其中,数据库层与上云前差异不大,使用的都是分布式DRDS加MySQL。最关键的是,在应用层最终选型的是阿里云自带的容器服务ACK,使用的是K8S集群,其在阿里云上有三个版本,第一个版本是专有版,Master节点和Worker节点均可见,该版本适用于对K8s集群比较了解的用户,可以方便其对集群进行更细粒度的管理和控制;

第二个版本是托管版,Master节点不可见,Worker节点可见,该版本的优点是简单且成本低(Master节点免费),Master节点无需运维管理,用户只需要关注Worker节点上的业务;

第三个版本是全托管无服务器版,该版本主要适用于测试环境。驻云科技为该零售客户选型的是K8s集群专有版,以实现用户对K8s集群最大化管控。

screenshot

资源规划问题:在上云的过程中可能会出现资源规划的问题,即最终的云上成本大于线下每年的平摊成本。导致该问题的原因主要有以下几方面:
• 线下用的是vSphere虚拟机,实际使用过程中会超额预定,即虚拟机配置高于整个物理机的实际使用配置;
• 数据库物理机配置非常高,有些数据库无备份,三个数据库主机互备,而云上使用RDS替代,无形中增加了成本;
• 线下很多库是单机库,一些单机库到云上采用的都是RDS高可用版本,相对来说成本会增加很多,而按照1:1的配比估算后发现成本非常高;
• 忽略了线下的维护成本、人员成本、机房和电力成本等等;
• 驻云科技对该客户需要上云的应用进行的整体性能评估结果显示,其虚拟机负载不足20%,大部分在5%-10%,而数据库负载不足50%。这意味着很多资源是可以释放的,而在云上资源的使用本身是弹性按需的,如果完全按照ECS的企业级实例来看,可以保证一定的稳定性,但是单价会非常高。这种1:1的模式完全无法体现出云计算的弹性优势,因此该案例后期又进行了整体优化。

目录
相关文章
|
7天前
|
数据采集 消息中间件 监控
Flume数据采集系统设计与配置实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入探讨Apache Flume的数据采集系统设计,涵盖Flume Agent、Source、Channel、Sink的核心概念及其配置实战。通过实例展示了文件日志收集、网络数据接收、命令行实时数据捕获等场景。此外,还讨论了Flume与同类工具的对比、实际项目挑战及解决方案,以及未来发展趋势。提供配置示例帮助理解Flume在数据集成、日志收集中的应用,为面试准备提供扎实的理论与实践支持。
23 1
|
11天前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
17天前
|
监控 前端开发 JavaScript
实战篇:商品API接口在跨平台销售中的有效运用与案例解析
随着电子商务的蓬勃发展,企业为了扩大市场覆盖面,经常需要在多个在线平台上展示和销售产品。然而,手工管理多个平台的库存、价格、商品描述等信息既耗时又容易出错。商品API接口在这一背景下显得尤为重要,它能够帮助企业在不同的销售平台之间实现商品信息的高效同步和管理。本文将通过具体的淘宝API接口使用案例,展示如何在跨平台销售中有效利用商品API接口,以及如何通过代码实现数据的统一管理。
|
30天前
|
存储 搜索推荐 人机交互
Qt鼠标事件全面解析:从基础到实战
Qt鼠标事件全面解析:从基础到实战
116 0
|
21天前
|
安全 Java 数据安全/隐私保护
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
44 1
|
6天前
|
SQL API 数据库
Python中的SQLAlchemy框架:深度解析与实战应用
【4月更文挑战第13天】在Python的众多ORM(对象关系映射)框架中,SQLAlchemy以其功能强大、灵活性和易扩展性脱颖而出,成为许多开发者首选的数据库操作工具。本文将深入探讨SQLAlchemy的核心概念、功能特点以及实战应用,帮助读者更好地理解和使用这一框架。
|
7天前
|
Java 数据库 Spring
切面编程的艺术:Spring动态代理解析与实战
切面编程的艺术:Spring动态代理解析与实战
23 0
切面编程的艺术:Spring动态代理解析与实战
|
21天前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
66 0
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
|
25天前
|
运维 Linux Apache
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
197 2

推荐镜像

更多