APN Partner Deal Acceleration Program –[Project Plan]
Bide Technology Cloud Infrastructure Migration Project– [陕西星耀云辰网络科技有限公司]
Table of Contents
1Project Overview
客户背景
Beijing Bide Technology Co., LTD是一家致力于小商品出口的电商企业,总部位于中国北京。专注于电商领域多年,是中国出口小商品的领先企业之一。公司以“创新、质量、服务”为核心价值观,致力于为客户提供高质量的小商品出口服务,满足客户不断增长的需求。
公司拥有一支经验丰富、专业化的团队,包括市场营销专家、产品设计师、国际贸易专家等。团队成员具备扎实的专业知识和丰富的行业经验,能够为客户提供全方位的小商品出口解决方案。
产品策划与开发:公司与国内外优质制造商合作,策划和开发各类小商品,包括家居用品、文具、日用品、礼品等,满足客户的需求。
质量控制与检验:公司严格控制产品质量,对所有出口产品进行严格的质量检验和测试,确保符合国际质量标准和客户要求。
供应链管理与物流配送:公司优化供应链管理,与物流公司合作,提供高效、可靠的物流配送服务,确保产品及时、安全地送达客户。
市场营销与推广:公司通过各种渠道开展市场营销和推广活动,包括展会参展、线上广告、媒体营销等,提升产品知名度和影响力。
客户服务与售后支持:公司重视客户服务和售后支持,建立健全的客户服务体系,提供及时有效的售前咨询和售后支持,增强客户满意度。
Bide Technology目前准备将在香港数据中心的业务系统迁移到AWS香港区域,配合客户的业务的迁移和部署,上线迁移测试完毕并正式部署后
业务痛点:客户对于基础设施以及网络的稳定要求比较高,因客户行业属性不容忍网络波动以及相关API的连接中断;客户对延迟和对外网络安全的非常高的要求。基于AWS在全球的骨干网都是自建,所有的网络跳转以及路由监控都是AWS控制对于客户有一个可靠的性能保障。我相信基于AWS强大的基础设施以及骨干网可以为客户提供稳定的用户接入网络。
CDN节点无法满足业务需求:随着客户在海外的运营推广,急需将CDN服务迁移可以支撑客户需求的全球云服务基础设施商;AWS在全球超过 400 个边缘站点并使用全球骨干网连接,相信AWS基础设施可以满足客户的需求。
缺乏对AWS的使用经验:客户的运维人员更换频繁,新运维人员没有AWS 使用经验,对于本次迁移和部署没有相关经验,需要服务商能够在架构设计、产品选择、迁移工具及网络安全等最佳实践方面提供专业的解决方案,并帮助其快速完成部署。
寻找快速部署能力的服务提供商:客户希望寻找AWS经验丰富和以技术为主导的合作伙伴,能够为客户提供优秀的解决方案以及部署技术实现,帮助客户快速的完成平台的迁移与部署。
时间压力:客户在一定时间内完成客户科技部署和测试,但由于上述问题,无法按时完成。这给项目进展和上线计划带来了压力,需要寻求专业团队的协助,加快测试和验证过程。
AWS Solution and Value:
全球云基础设施:AWS全球云基础设施是最安全、扩展性和可靠性最高的云平台,可提供来自全球数据中心的200多种功能全面的服务。现已在全球26个地理区域内运营着84个可用区,可快速提供基础物理设施帮助客户快速扩展业务。在项目部署的过程中,AWS提供了一系列关键的服务和功能。首先,AWS的虚私有云(VPC)和多可用区基础设施提供了安全稳定的网络环境,确保数据的隔离和保护。其次,AWS弹性计算服务提供了不同类型的实例,能够根据业务需求进行灵活的资源调配和高计算压力。AWS还提供中转网关(TGW)和丰富的数据存储选项(如EFS、S3)。同时,AWS的加密服务(KMS)保障了数据的安全性。最后,AWS提供了广泛的分析服务可供选择,为项目提供了强大的支持,加速了整体平台的部署和迁移测试过程。
全球骨干网:AWS在东亚、西欧、北美、非洲都有非常完善的AWS的 100G的冗余网络,都会有至少两条以上的光缆来连接,同时用户的接入POP点可用性也会得到极大的保证。
CloudFront:是由AWS提供的一个内容分发网络服务,其在欧洲、亚洲、北美、澳洲、南美、美国多个主要大城市多地拥有自己的数据中心,共 107 个网络边际服务点Edge Servers,即边缘服务器)提供服务。它可以加快将静态和动态 Web 内容(如 html,.css.s 和图像文件)分发到用户的速度,即当用户请求您用 CloudFront 提供的内容时,用户被路由到提供最低延迟(时间延迟)的边缘服务器,从而以尽可能最佳的性能传送内容。
Partner Value:
陕西星耀云辰是AWS高级合作伙伴,具备多项AWS技术服务认证能力,已为全球多家企业实现AWS云上业务运维和迁移。在部署迁移和测试方面,陕西星耀云辰拥有丰富的经验,能够为客户量身定制适合其业务需求的解决方案,并提供现场和远程的技术支持。通过陕西星耀云辰的协助,客户能够缩短业务重构上云的周期,降低上云成本,并完善其系统维护体系,构建安全的云上架构。
陕西星耀云辰的专业能力和技术支持将帮助客户顺利进行AWS上的部署和测试,并确保系统的稳定性和安全性。
Project time Planning: 2023/12/04 – 2024/02/02
项目时间规划如下:
需求调研分析:2023/12/04 – 2023/12/08
方案设计:2023/12/11 – 2023/12/22
部署&测试:2023/12/25 – 2024/01/26
项目移交:2024/01/29 – 2024/02/02
1.1 PROJECT SUCCESS CRITERIA
1.2 OUT OF SCOPE
开发API程序
系统功能调整
购买任何软件许可证
2 scope of work - technical project plan
陕西星耀云辰将协助客户执行POC测试以及部署,以评估AWS服务的性能以支持该项目中AWS服务的配置。为了使本次项目顺利进行,陕西星耀云辰将与客户遵循AWS最佳实践部署应用。将整个工作分为四个部分:规划阶段、设计阶段、部署阶段和项目移交阶段。
2.1 Planning
2.2Design
2.3Deployment
2.4Project Handover
3 SOLUTION ARCHITECTURE / ARCHITECTURAL DIAGRAMProject Handover
架构说明如下:
Before migration
架构说明:
基础架构:系统部署在AWS- HK,将EKS 的5个worknode节点分布在不同的私有子网/公有子网中4台前端服务器:
前端:用户与网站交互的界面,包括网页和移动应用程序;通过域名解析到cloudfront ID,cloudfront ID 和ALB对应。
业务中心:业务中心是对企业顶层业务的梳理和抽象,根据DDD(Domain model driven design-领域模型驱动设计)划分不同的服务中心,以及不同的业务流程(例如:商品购买流程,商品上架流程,订单处理流程,供应商入驻流程),这些流程是通过业务中心对服务中心不同微服务接调用组成,这些微服务通过spring boot实现,通过pod的形式部署在EKS中;
服务中心:根据DDD设计思想,将不同的业务领域进行划分,根据不同的业务场景,将不同业务的后端拆分成不同的微服务,通过业务中心的调用服务中心的微服务进行不同场景的实现,这些微服务通过spring boot实现,通过pod的形式部署在EKS中;
Elasticsearch :主要用于电商平台的商品的模糊查询,商品数据导入到ES中建立索引,然后通过搜索接口提供给用户进行搜索。具体架为数据采集模块将商品信息从关系型数据库中抽取出来,并通过数据同步工具将数据同步到ES中。用户搜索时,搜索引擎模块将用户请求发送到ES中进行查询,并将查询结果返回给用户。
RabbitMQ : 先进先出,发布订阅,持久化,分布式。系统之间进行异步数据交互的时候,在时效性和稳定性之间我们都需要进行选择,消息队列两者兼顾。
注册后我们可能需要做很多初始化的操作,如:调用邮件服务器发送邮件、调用促销服务赠送优惠劵、下发用户数据到客户关系系统等。那么这时候我们将这些操作去监听MQ,当用户注册成功过后,通过MQ通知其他业务进行操作。确保注册用户的性能。
后台发布商品的时候,商品数据需要从数据库中转换成搜索引擎数据(基于elasticsearch),那么我们应该将商品写入数据库后,再写入到MQ,然后通过监听MQ来生成elasticsearch对应的数据。
支付完成后,需要及时的通知子系统(进销存系统发货,用户服务积分,发送短信)进行下一步操作,但是,支付回调我们都是需要保证高性能的,所以,我应该直接修改数据库状态,存入MQ,让MQ通知子系统做其他非实时的业务操作。这样能保证核心业务的高效及时。
ES:作为一个高速的缓存层,将常用的数据存储在内存中,从而加快数据的读取和写入速度。本系统中以下业务场景使用
商品搜索结果缓存:商品搜索一般是电商平台的核心业务之一,同时搜索结果的实时性和准确性也是非常重要的考量因素。通过将常用的搜索结果缓存在Redis中,可以加速搜索结果的返回,提高用户的体验。
订单状态缓存:电商平台的订单数量往往非常庞大,同时订单状态的变化也非常频繁。通过将订单状态缓存在Redis中,可以避免频繁访问数据库导致的性能瓶颈,并且还可以提高订单状态的实时性和可靠性。
用户购物车:用户的购物车信息需要频繁访问,并且购物车的内容也经常会发生变化。通过将用户购物车的信息缓存在Redis中,可以避免频繁访问数据库导致的性能瓶颈,提高用户的使用体验。
静态资源:长期存储选择S3存储桶,用于存储大量数据,S3桶里存放前端页面所需的静态文件,如CSS、JavaScript和产品图片,头像等。
数据库:使用 Mutli-AZ的 RDS存储用户用于持久化和管理用户相关数据、小说内容、评论等信息的持久化存储。
文件存储:存储业务非标准化数据,例如供应商资质,文本,公司资质和pod的存储。
使用ALB应用程序负载均衡器,针对前端Nginx服务、API服务进行负载均衡器,以保证服务的高可用性;再结合Cloudfront CDN服务针对前端、API动静态加速,以提高用户体验。
通过CloudFront进一步提高用户体验,CloudFront可以在全球范围内部署边缘节点,将内容缓存到距用户最近的位置,从而降低延迟并提高加载速度。对于静态内容和API端点,CloudFront提供快速的动态和静态加速,减轻了后端服务器的负载,同时提高了内容的可靠性和安全性。
使用外部ALB可实现前端web服务和API服务的高可用性。ALB可根据需求自动分发流量到多个实例,确保在某些实例发生故障时仍能保持服务可用。此外,ALB还支持基于内容的路由,可根据请求的路径或主机头将流量路由到不同的后端服务。
资源监控:CloudWatch监控和跟踪EC2、S3等资源的指标,并收集相关日志数据。客户有分析应用日志数据的需求,可以利用CloudWatch提供的功能进行数据分析和监控。
容灾备份:通过backup进行RDS 和EBS的备份,根据客户的需求订制备份策略,并对部署完成的生产环境,进行恢复性演练,帮助客户备份和还原生产环境。
安全设计:
账户安全:根据团队成员的工作范围创建用户,并附加相应的角色和访问策略。所有用户都启用多因素身份验证(MFA)以提高账户的安全性。使用JSON实现自定义策略,确保对资源的访问权限得到适当控制。
网络安全:通过安全组来限制最小化开放的网络端口,并严格限制入站网络范围,以确保只有经过授权的请求可以访问资源。核心资源采用私网部署,防止外网直接访问,从而保障客户VPC网络的访问安全。
数据安全:对EBS、RDS等服务启用KMS(Key Management Service)进行数据加密,以防止数据泄漏。同时,设置EC2和RDS的定期快照和自动备份功能,确保数据备份的安全性。对S3存储桶启用版本控制,以便在意外删除或覆盖操作时能够恢复数据。
4 summary of milestones & deliverables
4.1EXPECTED AWS COST BREAKDOWN BY SERVICES
https://calculator.aws/#/estimate?id=d5a89e3a411cca9abb992a0283e960a9ffb067f4
AWS Services used in this project:
EKS
ECR
S3
RDS
ELB
WAF
Cloudfront
Elasticsearch
RabbitMQ