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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 本文整理自驻云科技首席架构师,阿里云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的模式完全无法体现出云计算的弹性优势,因此该案例后期又进行了整体优化。

目录
相关文章
|
8天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
41 6
|
8天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
24 1
|
10天前
|
人工智能 云计算 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日~10日在江苏张家港召开的CCF ChinaNet(即中国网络大会)上,众多院士、教授和业界技术领袖齐聚一堂,畅谈网络未来的发展方向,聚焦智算集群网络的创新变革。
阿里云引领智算集群网络架构的新一轮变革
|
8天前
|
Kubernetes Cloud Native 云计算
云原生技术深度解析:重塑企业IT架构的未来####
本文深入探讨了云原生技术的核心理念、关键技术组件及其对企业IT架构转型的深远影响。通过剖析Kubernetes、微服务、容器化等核心技术,本文揭示了云原生如何提升应用的灵活性、可扩展性和可维护性,助力企业在数字化转型中保持领先地位。 ####
|
9天前
|
人工智能 运维 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日至10日,CCF ChinaNet(中国网络大会)在江苏张家港召开,众多院士、教授和技术领袖共聚一堂,探讨网络未来发展方向。阿里云研发副总裁蔡德忠发表主题演讲,展望智算技术发展趋势,提出智算网络架构变革的新思路,发布高通量以太网协议和ENode+超节点系统规划,引起广泛关注。阿里云HPN7.0引领智算以太网生态蓬勃发展,成为业界标杆。未来,X10规模的智算集群将面临新的挑战,Ethernet将成为主流方案,推动Scale up与Scale out的融合架构,提升整体系统性能。
|
9天前
|
运维 Kubernetes Cloud Native
Kubernetes云原生架构深度解析与实践指南####
本文深入探讨了Kubernetes作为领先的云原生应用编排平台,其设计理念、核心组件及高级特性。通过剖析Kubernetes的工作原理,结合具体案例分析,为读者呈现如何在实际项目中高效部署、管理和扩展容器化应用的策略与技巧。文章还涵盖了服务发现、负载均衡、配置管理、自动化伸缩等关键议题,旨在帮助开发者和运维人员掌握利用Kubernetes构建健壮、可伸缩的云原生生态系统的能力。 ####
|
17天前
|
边缘计算 自动驾驶 5G
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
|
14天前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
54 4
|
20天前
|
存储 安全 Java
系统安全架构的深度解析与实践:Java代码实现
【11月更文挑战第1天】系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。
57 10