下面为大家介绍服务企业上云的一些流程和技术方案。
企业上云
企业上云路线图
- 上云前期阶段。第一,企业要评估云计算的效益,包括实现云计算带来的资源成本、运营成本的节约、系统能不能更优以支撑业务的发展;第二,企业要探索以及评估现有系统怎样与云平台适配,确定上云方案。
- 逐步上云阶段。第一,采取少量系统或简单系统上公共云,或者政府、银行自建专有云POC测试;第二,混合云架构下,系统逐步迁移上云。
- 整体上云迁移阶段。逐步上云后,验证了系统在云上能够达到更好的效果,能够节约更多的成本,企业已经做好在云上长期运营IT的准备,迁移包括核心系统、关键业务应用的所有应用系统上云。
- 应用优化阶段。在云上还要根据云的特性进行优化,企业注重基于云来优化业务模式和技术流程,云成为IT建设的默认选项。
企业系统上云实施
1. 调研评估与方案设计:我们需要4~6周时间确定实施方案,我们需要注意现有的系统架构以及软硬件依赖,能不能在云上采取同样的方案实现相应的功能,因为云是虚拟化的,可能在某个场景下,比如加密机、加密狗,就要考虑功能是采用SAAS化的加密方式还是将原来硬加密方式改成软加密方式在ECS、虚拟机上部署;我们也要考虑云平台的兼容性,比如Oracle怎么支持上云,我们要进行产品选型适配,通过调研评估拟定上云方案。
2. 上云改造与数据迁移:4~24周完成上云改造和数据迁移,要达到高性能、可扩展,应用程序是需要基于云进行迁移改造的,数据库也要进行迁移改造,还有大量的数据迁移问题。
3. 系统测试与健康检查:2~3周完成系统测试与健康检查,基于云的特性,进行上云后的系统功能测试、系统性能测试、系统健康检查。
4. 系统割接/平台运维:我们需要1周左右确定割接窗口、确定割接方案(比如域名进行切换)、进行云平台系统运维与售后工单处理(监控、报警、故障处理)。
企业上云事项与分工
那么,阿里云能够在客户上云中起到什么作用呢?
- 系统调研:原有系统开发商对自己的业务系统比较了解,阿里云可以帮助客户基于系统现状制定一些上云方案,包括使用哪些云产品比较好,应用开发商需要了解系统架构、系统部署依赖以及上云诉求等。
- 架构改造:阿里云帮助客户进行技术改造方案的设计,提供上云产品问题的支持等服务,我们与开发商、业主一起把现有系统进行架构设计改造方案的输出,系统改造的责任方为应用开发商,阿里云扮演咨询角色。
- 功能测试:阿里云提供测试方案、测试案例,在云上我们会输出一些像PTS的分布式压测工具、全链路的测试流程。
- 系统割接与日常运维:阿里云帮助客户进行平台售后、线上工单支持、大客户支持等,应用运维、系统监控、系统扩容还是由原来的IT部门去做。
P2P金融上云
企业应用系统现状
从业务域上来看,P2P金融最核心的业务是充值、借款、投标、提现,传统结构不适合互联网时代的发展。
目前系统存在以下痛点:
- 整个平台是基于传统架构方式,平台处理能力很难扩展也无法做到业务需求快速响应;
- 数据库访问性能无法扩展,目前购买了阿里云定制的RDS服务,另外一部分业务放在本地服务器上,依然满足不了数据库访问性能的要求;
- 在高峰时间段,标的发布后需要十几分钟后才能查看到自动投标后的结果,用户体验非常糟糕,严重影响业务拓展。
系统上云方案
通过基于阿里云的产品或服务支持,搭建符合互联网需求的架构方案。从前端来看,将耦合性的系统模块拆成平台前端集群、单点登录集群、以及共享服务中心,底层采用DRDS等。整体上云优化方案如下:
- 应用无状态改造,支持系统扩展,高可用架构;
- 服务化改造,使用EDAS、HSF框架,ONS中间件支持高并发、可扩展;
- 使用分布式数据库、使用DRDS分库分表,支持可扩展、高并发;
我们希望达到的系统目标:系统性能提高20倍,系统适应云的弹性,实现快速扩容或缩容。
应用无状态改造
应用无状态改造,使用redis或memcache缓存session id。具体流程如下:
1. 用户发起请求,SLB把请求转发到ECS-A;
2. 应用验证,是否存在session id,去缓存服务器查询;
3. 返回结果给到ECS-A,如果存在,返回session id,如果不存在,新建session,并把session id存入到缓存服务器;
4. 到ECS-A宕机或者负载均衡把流量转发到ECS-B时,5和6执行2和3同样的逻辑;
这样可以保障系统的横向扩容和缩容,随时利用云的弹性,扩容系统。
服务化、异步化改造
- 发布借款:运用阿里EDAS,采用流水线模式处理用户自动投标撮合;采用消息服务器进行事务的松耦合,减少单个事务业务逻辑。
- 发布投标-自动投标撮合:采用异步流水线方式处理加速业务处理效率。
数据库改造上云
除了前端应用、中间件,我们还做了一些数据库的改造。比如SQL
server使用到MySQL上,MySQL上主要是表结构和存储过程的改造,使用DRDS分库分表可以将路由逻辑全部自动化做掉,以用户表为例,按id进行拆分,用阿里云DTS进行异构数据迁移,将SQL server数据打到MySQL中,能够做到全量迁移和增量迁移,让业务更快更平缓的拆分。
系统压测效果
图为混合交易+自动投标、复审定时任务场景测试结果。基于生产业务模型和环境配置,资源指标处于安全阈值内,系统整体性能可满足每秒400笔业务交易处理,每秒处理400笔前台混合交易+定时任务执行的情况下,前台交易响应时间小于1秒,用户DRDS CPU利用率达到安全阈值75%。
物流云
企业数据库现状
数据库现状主要有以下几点:
- 业务数据:所有业务模块数据集中管理,数据+索引超过1.7T,单表超过25GB 7张,单表超一亿记录7张。
- 数据处理:RAC实例1处理OLTP业务,RAC实例2处理OLAP业务。PLSQL、存储过程代码主要实现后台批处理功能、大表通过时间分区运行性能;数据库高峰时段IOPS超万,磁盘利用率超90%,CPU利用率超80%,基本满负荷运转。
- 高可用和容灾:数据库采用RAC双节点+DG本地备机+DG异地备机。
数据库上云
我们对数据库进行整体拆分,拆分成结算库、物流库,拆库后进行拆表。
实现数据库读写分离,2个RDS 16个分库,每个RDS只挂一个只读实例,时间维度查询、大数据查询走只读实例。
数据一致性处理逻辑:
1. 当订单号和运单号同时都有,同时插入主表和索引表;
2. 当只有订单号时只插入主表;
3. 当运单号产生时插入索引表;
4. 当运单号更新时,主表更新,索引表先删后更新。
混合云架构
数据库在云上,其他业务在云下,形成了混合云架构。外部请求都是双写到本地机房和阿里云机房,订单在云上通过消息同步转发订单信息到云下。
混合云上云方案
上云通用架构包括OLTP\Query\OLAP等几个部分。上云时,混合云方案将企业数据中心通过VPC与云实现虚拟内网互联。使得云上云下系统能够逐步迁移、双向同步。具体为以下:
- VPC内建立多个Vswitch;
- 通过物理专线/VPN将用户的云下数据中心与阿里云连通,组成一张混合网络,实现私网互联;
- VPC内的ECS,通过Nat网关实例进行代理,实现私网ECS对互联网的访问。
随着经验的积累,不同类型的企业上云都拥有对应的完备方案,企业上云也变得有章可循。
本文根据阿里云技术专家净能于10月14日在2016年杭州云栖大会上的题为“企业上云——面向P2P金融、物流行业的上云实战”的演讲整理而成。