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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
全局流量管理 GTM,标准版 1个月
简介: 本文整理自驻云科技首席架构师,阿里云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的模式完全无法体现出云计算的弹性优势,因此该案例后期又进行了整体优化。

目录
相关文章
|
9天前
|
存储 缓存 算法
HashMap深度解析:从原理到实战
HashMap,作为Java集合框架中的一个核心组件,以其高效的键值对存储和检索机制,在软件开发中扮演着举足轻重的角色。作为一名资深的AI工程师,深入理解HashMap的原理、历史、业务场景以及实战应用,对于提升数据处理和算法实现的效率至关重要。本文将通过手绘结构图、流程图,结合Java代码示例,全方位解析HashMap,帮助读者从理论到实践全面掌握这一关键技术。
48 13
|
14天前
|
弹性计算 运维 监控
阿里云云服务诊断工具:合作伙伴架构师的深度洞察与优化建议
作为阿里云的合作伙伴架构师,我深入体验了其云服务诊断工具,该工具通过实时监控与历史趋势分析,自动化检查并提供详细的诊断报告,极大提升了运维效率和系统稳定性,特别在处理ECS实例资源不可用等问题时表现突出。此外,它支持预防性维护,帮助识别潜在问题,减少业务中断。尽管如此,仍建议增强诊断效能、扩大云产品覆盖范围、提供自定义诊断选项、加强教育与培训资源、集成第三方工具,以进一步提升用户体验。
662 243
|
5天前
|
物联网 调度 vr&ar
鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战
鸿蒙技术分享:HarmonyOS Next 深度解析 随着万物互联时代的到来,华为发布的 HarmonyOS Next 在技术架构和生态体验上实现了重大升级。本文从技术架构、生态优势和开发实践三方面深入探讨其特点,并通过跨设备笔记应用实战案例,展示其强大的分布式能力和多设备协作功能。核心亮点包括新一代微内核架构、统一开发语言 ArkTS 和多模态交互支持。开发者可借助 DevEco Studio 4.0 快速上手,体验高效、灵活的开发过程。 239个字符
150 13
鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战
|
3天前
|
自然语言处理 搜索推荐 数据安全/隐私保护
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
鸿蒙登录页面设计展示了 HarmonyOS 5.0(Next)的未来美学理念,结合科技与艺术,为用户带来视觉盛宴。该页面使用 ArkTS 开发,支持个性化定制和无缝智能设备连接。代码解析涵盖了声明式 UI、状态管理、事件处理及路由导航等关键概念,帮助开发者快速上手 HarmonyOS 应用开发。通过这段代码,开发者可以了解如何构建交互式界面并实现跨设备协同工作,推动智能生态的发展。
38 10
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
|
7天前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
17天前
|
数据采集 DataWorks 搜索推荐
阿里云DataWorks深度评测:实战视角下的全方位解析
在数字化转型的大潮中,高效的数据处理与分析成为企业竞争的关键。本文深入评测阿里云DataWorks,从用户画像分析最佳实践、产品体验、与竞品对比及Data Studio公测体验等多角度,全面解析其功能优势与优化空间,为企业提供宝贵参考。
94 13
|
14天前
|
数据采集 存储 JavaScript
网页爬虫技术全解析:从基础到实战
在信息爆炸的时代,网页爬虫作为数据采集的重要工具,已成为数据科学家、研究人员和开发者不可或缺的技术。本文全面解析网页爬虫的基础概念、工作原理、技术栈与工具,以及实战案例,探讨其合法性与道德问题,分享爬虫设计与实现的详细步骤,介绍优化与维护的方法,应对反爬虫机制、动态内容加载等挑战,旨在帮助读者深入理解并合理运用网页爬虫技术。
|
9天前
|
弹性计算 Cloud Native Serverless
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品。
|
21天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
1月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
43 3

推荐镜像

更多