应用上云改造

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
云效 DevOps 流水线,基础版人数 不受限
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 1. 概述:       弹内应用使用的大量弹内基础设施在云上不存在或者有对应的产品,但是无法无缝上云需要改造,具体对应如下: 序号 弹内组件 云上 说明及注意事项 1  BUC-SSO aliyun RAM(OpenID)  云上可以使用 aliyun 的 ram 以及 openID 配置统一用户和单点登录应

1. 概述:

      弹内应用使用的大量弹内基础设施在云上不存在或者有对应的产品,但是无法无缝上云需要改造,具体对应如下:

序号 弹内组件 云上 说明及注意事项
1  BUC-SSO aliyun RAM(OpenID)  云上可以使用 aliyun 的 ram 以及 openID 配置统一用户和单点登录应用,需要二次开发
2 Oplog  操作日志审计或者自定义开发简易 Oplog 操作审计日志投递到 OSS 或者日志服务,使用云上操作审计日志查询。 或者自己开发一个简易操作审计日志,直接存数据库。
3 MetaQ ONS(云上 metaQ)  使用 taobao-hsf.sar 包,配置 ak/sk 无缝上云,需要注意新支持的 namespaces
4 TDDL DRDS  无缝上云,链接方式需要修改;
5 mysql RDS  无缝上云
6 IDB 数据管理平台  DMS  无缝上云,DMS 对部分低版本 DRDS 不支持。
7 TMD Web 应用防火墙  7层协议直接配置可支持,4层协议需要改造使用 TMD 的改用 waf 的话,云上 waf 支持的二次开发接口较少
8 容器服务 云上容器服务(Kubernetes)  云上容器服务控制台尚未稳定成熟,需要自己熟练使用 kubernetes 运维。
9 Aone 云效 部分 aone 功能不支持,与容器服务 K8s 能较完美整合,建议使用。  
10 sentinel限流降级组件 AHAS 应用高可用服务,Diamond   需要部署到 edas for ecs 才行,云上 edas,云效,容器服务尚未整合好,可以考虑自己使用 sentinel 在 diamond 中配置,自己部署控制台,需要改造统一用户
11 Tair  无 需要自己部署或者改造为 redis,云数据库 Memcache,或者自己部署 tair 到云 ECS 中
12 VipServer  无 需要自己部署 vipserver 或者部分区域有 vipserver部署
13 HSF/ConfigServer EDAS  无缝上云,配置 ak/sk
14 Eagleeye EDAS  需要部署到 edas for ecs 才行,云上 edas,云效,容器服务尚未整合好
15 Diamond ACM  无缝上云,配置 ak/sk
16 Switch ACM  直接 acm 中配置或者迁移 switch 控制台,需要改造统一用户
17 sunfire ARMS  需要使用 EDAS部署 或者自己部署 sunfire
18 Medusa 美杜莎国际化 直接使用 medusa包,使用 top 协议访问。
19   云监控  ECS 与相关云设施监控
20   日志服务 采集日志

弹内的基础镜像默认包含弹内特有的一些日志采集等基础组件,因应云上环境要求,需要重新定义基础镜像。

2. pandora +EDAS 无缝上云

应用采用pandora 的taobao-hsf.sar与云上 EDAS 产品,可以直接实现大部分中间件无缝上云。

2.1 相关 配置:

  1. 使用 EDAS 的 namespace 来隔离 Diamond, ConfigServer,HSF 等服务,分别部署测试、预发、线上等环境;
  2. 获取 pandora 的 taobao-hsf.sar 包;
  3. 配置 pandora 访问 edas namespace需要的 ak/sk/tid 等;
    1. 设置 ak/sk/tid文件到指定目录: /home/{user_home}/.spas_key/default
    2. default 文件保存 ak/sk 信息,格式类似
      accessKey=343333333333333
      secretKey=55555555555
      tenantId=32323-343434-343434-343434-343434-34343434​
  4. 配置 RAM可以访问 MetaQ(ONS)的 ak/sk用户:
    1. 设置 ons 相关 ak/sk 到指定目录:/home/{user_home}/.ons
    2. onskey.properties 文件保存 ak/sk 信息,格式类似:
      AccessKey = xxxxx
      SecretKey = yyyyyyyyyy
      OnsChannel = ALIYUN
      AuthEnabled = true
      NameserverDomain = onsaddr-iiiii.aliyun.com:8080
      NameserverSubgroup = nsaddr4client-iiiii​
  5.  Java应用启动变量设置:
    • -Dpandora.location=/home/{user_home}/taobao-hsf.sar  
      -Daddress.server.domain=xxxx-yy-ccccc-2-ttt-1-internal.edas.aliyun.com 
      -Daddress.server.port=8080 -Dconfigserver.client.port=8000 
      -Dspas.identity=/home/{user_home}/.spas_key/default 
      -Drocketmq.client.keyFile=/home/{user_home}/.ons/onskey.properties 
      -Ddisable.pandora.ons=true 
      -Dtenant.id=xxxxxx-3333-456x-8888-999999999 

2.2 EDAS 与 pandora sar 包依赖 plugin:

组件 对应 plugin 备注
 Diamond diamond-client 插件 配置 pandora 与 edas namespace 的 ak/sk 无缝上云,不需额外配置
Config Server configcenter-client config-client 配置 pandora 与 edas namespace 的 ak/sk 无缝上云,不需额外配置
HSF hsf 配置 pandora 与 edas namespace 的 ak/sk 无缝上云,不需额外配置
MetaQ ons-client 配置 pandora 与 ram 的 ak/sk 无缝上云,不需额外配置
vipserver-client vipserver-client vipserver 未上云,可以使用需要自己应用设置 ak/sk 或者 vipserver 加白取消 ak/sk鉴权
EagleEye eagleeye-core 客户端写日志功能,需要配置SLS日志采集
TDDL DRDS 可以使用 druid,Common pool 实现数据库链接
sentinel sentinel 无缝上云,如果没有 EDAS 应用,需要执行手工修改 ACM(Diamond)来实现。
switch switch  需要执行修改ACM(Diamond)来实现配置。

2.3 EDAS 缺陷:

  1. Pandora 包只支持一组 edas namespace 的 ak/sk;
    1. pandora 包只支持访问一组 namespace 的 ak/sk,会使一个应用只能访问一个 namespace 中的 hsf 服务,ACM 配置等,对部分需要跨 namespace 访问的需求没法满足;
  2. Pandora 包 ak/sk 必须落盘保存在文件里,不支持直接远程获取保持在内存中;
    1. ak/sk 落盘,由安全隐患;
  3. 云效、EDAS,K8S 不能完美整合,不支持完整的分批发布与整合;
    1. 因为不能整合,导致云效尤其是线上分批发布,流程只能完成打包和合并主干,分批发布采用手动在容器服务控制台发布的方式;
  4. Project.name 参数冲突:
    1. edas 默认 project.name 参数为 edas 的应用 id,而大量弹内应用使用同名参数作为启动参数,并在 hsf 服务等服务中使用,导致冲突。
  5.  MetaQ中 topic名唯一冲突问题
    1. 云上 MetaQ 尚未支持 namespace 隔离,其 topic 全局跨租户唯一,意味着你的 topic 名假如被其它租户或其它环境使用,将没法建立,因为需要将 topic 名按照租户-topic-环境方式分别隔离建立。
  6. EagleEye 日志 在日志服务分割问题:
    1. 日志服务提供的内容分割为多个字段功能只支持一层分割,eagleEye 日志根据应用服务类型分多种格式,因而只能分割前几列有限的字段,剩余分割或者控制台显示需要自己实现。
  7. pandora sar 包导致的常见包冲突:
    1. 参考排包功能 http://gitlab.alibaba-inc.com/middleware-container/pandora-boot/wikis/faq
  8. sentinel :
    1. 可以使用 sentinel,如果没有结合 edas,需要直接在 ACM(Diamond)中配置
  9. vipserver-client:
    1.  目前的 vipserver并不是云产品,鉴权基于 Dauth 建立,需要改造为云上 ram 后才能完美使用。

3. 改造上云或自部署中间件:

2.1 tair:

云上 ECS 部署 tair 服务器。

建议应用改造直接使用云数据库 memcache,redis 版。

2.2 vipserver:

使用弹内版本部署 vipserver,建议改造 vipserver 中 dauth 为 aliyun RAM。

2.3 sunfire:

使用弹内sunfire 版本部署在云 ECS 中或者使用 ARMS。

2.4 SSO:

    使用 aliyun 支持的 openid 和 oauth2, 包装 sso-client 包,实现 aliyun 控制台应用的单点登录,并导入阿里云子账号数据,统一用户数据。

2.5 oplog:

    实现 oplog 日志读写 client,服务端采用操作升级接口,实现云上 oplog。

2.6 TMD 淘宝导弹防御系统:

云上有类似产品 web 应用防火墙WAF,应用可以使用WAF 接口做改造开发。

 

4. 可使用云产品

  1.  DMS 代替 IDB 实现数据库管理;
  2. 容器服务:kubernetes;
  3. 云效;
  4. 云监控;
  5. 日志服务

 

 

 

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
弹性计算 安全 数据库
企业上云的好处优势告诉你企业为什么要上云?
企业上云是比较热门的话题也是趋势,越来越多的企业放弃传统IDC选择上云,小编告诉你企业为什么要上云?企业上云的好处和优势有哪些:
1687 0
|
11月前
|
运维 安全 数据处理
上云部署的优势
上云部署的优势
|
运维 负载均衡 Kubernetes
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(2)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(2)
130 0
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(2)
|
数据库
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(4)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(4)
101 0
|
SQL Oracle 安全
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(5)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(5)
129 0
|
存储 人工智能 缓存
企业应该如何上云?阿里云企业上云场景化解决方案
企业应该如何上云?应该选择那些阿里云产品?阿里云为企业用户推出6大企业上云场景化解决方案,具体方案有企业初创场景解决方案、跨境电商解决方案、企业管理系统云上部署解决方案、企业建站场景解决方案、高并发云上架构解决方案和Web与移动App云上部署解决方案,下面是方案主要内容概述。
409 0
企业应该如何上云?阿里云企业上云场景化解决方案
|
人工智能 运维 Kubernetes
我把传统业务架构升级到业务中台架构的心得
此为实战经验输出章节,重点在于自我的经验总结和实践经验记录,自己在整个过程角色是架构师和研发部门负责人角色,即设计和执行合一
|
运维 容灾 Cloud Native
业务100%云化,中间件全面升级到公共云架构
阿里巴巴,已经成为全球首家,将所有业务都放在自家公共云上的大型科技公司。举全集团之力,将业务全部迁移至公共云,不仅是对云和科技的笃定,也证明了阿里云有能力应对高难度、超复杂环境下的技术挑战,为客户享受云上技术红利提供了更坚实的实践保障。
业务100%云化,中间件全面升级到公共云架构
|
存储 数据采集 自然语言处理
阿里云热门场景上云解决方案,助力企业上云/数据/营销等多场景业务上云
本文介绍了阿里云官方推出的一些常见上云解决方案,包含高并发云上架构解决方案、Web与移动App云上部署解决方案、企业数据存储与备份解决方案、企业标准版数据分析解决方案、智能客服解决方案、视觉人像通用技术解决方案等
517 0
阿里云热门场景上云解决方案,助力企业上云/数据/营销等多场景业务上云
|
存储 安全 网络安全
三个问题,让你彻底明白企业为什么上云以及企业上云的好处
中国公有云市场不及美国3%,企业上云是发展工业互联网的前提 一提到企业上云,总会有很多人问上云有什么好处、为什么要上云这类问题。这些问题很简单,却不是简单几句就能回答的,问这些问题的甚至不知道什么是云,更不用提工业互联网,有些企业连内部互联网还没用上。
397 0
三个问题,让你彻底明白企业为什么上云以及企业上云的好处