某电商客户迁移上云

上云诉求
1
2
客户背景:私人订制礼品购物平台
由于客户机房租赁到期刚好想迁移上云,客户需求很明确希望我们根据平台已有的数据及特性,兼顾成本与性能,给予他们最佳的云架构/资源方案。
前期技术调研
1
2
3
客户运维团队规模:4人
客户研发/测试团队规模:30+人
物理资源:3个机柜,40+服务器(DELL-R410为主,其中有2台高配用于XEN虚拟化),出口带宽200Mbps
  • IDC拓扑图:

1
2
3
4
5
6
a、由于电商环境存在大量商品图片,CDN是必不可少
b、服务器前端采用nginx + varnish作为二级缓存,主要减少CDN回源访问的压力。
c、后端业务系统名称包括designe/kderp/search/res/seo/oc/img等十余项,开发语言有java、php、python。操作系统主要为centos,少量windows环境。
d、图片源文件等,主要通过NFS进行磁盘挂载共享,图片数据量2T+。
e、数据库缓存主要是redis,减少数据库压力。
f、数据库端主要为mysql,采用硬件服务器上面部署mysql主从。
客户运维痛点
1
2
3
a、上云虽然在成本、扩展、灵活性等有很大优势,但同样有一定技术门槛。如何利用云资源设计出低成本高性能架构?
b、监控响应需7*24,客户没有7*24监控响应中心,运维持续性无法得到保障。
c、客户有4个运维,人员成本高。
上云迁移的挑战性
1
2
3
a、时间短:由于商务上的原因,我们只有2周时间完成项目的上云迁移、测试和正式切换上线,并预留1-2周作为观察过渡期。
b、业务系统及技术环境较多:客户有十多个业务系统,nginx、varnish、tomcat、php、python、redis、mysql等技术环境较多,这些都增加了迁移难度。
c、无配置文档及运维规范:客户运行了8年多的业务系统,没有运维配置文档、运维手册,在资源命名、配置文件规范等上杂乱无章,客户还忘记了机房交换机等网络设备密码。这些都给迁移工作带来了极大的难度和挑战。
上云迁移
  • 系统架构梳理及评估
    1
    2
    3
    a、首先对原系统进行评估,并且制订云上架构。
    b、原系统评估内容涉及系统架构、软件模块架构、业务架构、接口以及调用依赖关系、性能评估、上云迁移目标等。
    c、云上架构内容涉及上云后的系统架构、软件架构、业务架构、性能目标、上云难点。

  • 云上架构和IDC架构区别

    1
    2
    3
    4
    a、加入SLB保障架构灵活扩展性
    b、采用TCP层SLB保障性能。HTTP层负载均衡只能达到万级别并发,而TCP层的负载均衡能达到几十万甚至上百万级的并发量。所以在电商等网站应用中对于SLB我们优先选择TCP层。
    c、采用低成本高效率的按量带宽。在IDC机房200M带宽年成本约25w左右。在云上裁员1G峰值的BGP多线SLB带宽,采用按量付费大大降低了成本。
    d、数据库采用RDS,低成本高效率。采用RDS后对数据库的监控告警、备份、扩容、后期维护等全可控制台或者自动化操作。
  • 迁移方案

    1
    2
    3
    4
    5
    经过评估,云上资源开通资源清单(为23台ECS、2台RDS、1个SLB)及具体服务器配置。
    a、服务器迁移采用迁移工具,如果自行部署基础环境可直接使用rsync同步数据。
    b、数据库使用DTS迁移
    c、域名备案加入提前做好
    d、同类型资源可先迁移一台后制作为镜像批量开通。
  • 迁移测试

    1
    功能测试、性能测试
  • 上线割接

    1
    2
    3
    a、客户公司进行维护时间窗口通知
    b、由于数据库较多,先DTS数据迁移。待业务停机后增量迁移并切换业务域名。
    c、由于客户之前的IDC资源,防止DNS解析切换部分用户本地dns缓存导致请求访问的还是老IDC环境。所以在IDC机房前端nginx上做302重定向跳转。
  • 项目交付及后期运维

    1
    2
    3
    a、相关文档编写总结,包含系统软件架构、系统架构、迁移方案、运维实施配置文档、运维维护手册、故障处理文档、资源清单等。
    b、交付后进入后续7*24日常监控及运维阶段。
    c、后续有微信群(企业微信等)、400电话、工单等服务交互方式。
-------------本文结束感谢您的阅读-------------
原创技术分享,感谢您的支持。