云场景实践研究第29期:视觉中国

更多云场景实践研究案例,点击这里:【云场景实践研究合集】联合不是简单的加法,而是无限的生态,谁会是下一个独角兽

视觉中国在上云后,有效的控制了成本,业务的可用性得到了保障,服务的安全性得到了提高,效率得到了改善。本文将带领大家一同了解视觉中国基于容器云的同城双活微服务架构上云实践。

在传统机房的模式下想做到服务的全面和高效都是比较困难的,这也是为何迁移上阿里云的原因。


采用的阿里云产品

阿里云云服务器 ECS
阿里云云数据库 RDS
阿里云对象储存 OSS
阿里云云数据库 Redis
阿里云消息通知服务
阿里云 DATAV 数据可视化
阿里云 Quick Bi
阿里云切图服务
阿里云 RAM
阿里云容器云
阿里云云盾
阿里云负载均衡 SLB


为什么使用阿里云

为了解决数据间调用复杂低效的问题,同时降低运维成本,选择了更能切实解决问题且更值得信赖的阿里云平台来进行云化。

为了保证服务的高可用性,同时在CI,CD方面有所作为,采用了基于阿里容器云的同城双活微服务架构。


关于视觉中国

视觉中国集团(Visual China Group)创立于2000年6月,是中国领先的视觉影像产品和服务提供商。视觉中国集团是以“视觉创造价值,视觉服务中国”为愿景的A股唯一互联网文化创意上市公司。视觉中国集团以“视觉内容与服务”、“视觉社区”和“视觉数字娱乐”三大业务板块为核心,拥有中国最大的视觉内容互联网版权交易平台,同时为国内的主题公园、城市综合体提供领先的数字娱乐整体解决方案。旗下包括华盖创意(Getty Images China)、汉华易美(China Foto Press)、东星娱乐(TungStar)、视觉ME社区(shijueme)、艾特凡斯(Advance)等业界著名品牌。集团拥有近万名签约摄影师和艺术家,并同海内外数百家图片社、影视机构、版权机构广泛合作,为媒体、企业主、广告公司等各类客户提供专业的图片、影视、音乐、特约拍摄、创意众包、视觉化营销等一站式服务。  


视觉中国的痛点所在

视觉中国集团有分布在北京市各区的5个机房,且应用分布在这五个机房,数据间调用复杂且低效,运维维护成本高,每年的预算更是给企业带来一定的负担,为了摆脱这种模式需要进行云化。


为什么选择阿里云?

视觉中国通过云化简化数据调研、降低运维成本

为了解决数据间调用复杂低效的问题,同时降低运维成本,选择了更能切实解决问题且更值得信赖的阿里云平台来进行云化。首先进行线下实体机房的微服务的搭建及测试,确保服务可用后进行云化的考量。整个应用迁移过程分为几个步骤:

1、阿里云资源申请。包括ecs,rds及oss等。

2、容器云测试。简单搭建几个docker测试可用性。

3、部署微服务。基于consul+template+registrator进行部署。

4、代码部署。把jar包等通过jkenins进行部署。

5、功能测试。

6、性能测试。

7、灰度发布。A/B test。

8、部分应用迁移。

9、观察期。

10、整体业务上线。

11、观察期。

12、迁移完毕。

整体交付完成之后,对CI、CD基本上做了实践,研发发布代码自动发布,自动部署。 


使用阿里云容器云保障服务高可用性

云场景实践研究第29期:视觉中国

为了保证服务的高可用性,同时在CI,CD方面有所作为,采用了基于阿里容器云的同城双活微服务架构:

容器集群是Region级别的服务,集群内可以包含多个可用区的ECS

容器服务支持将同一个服务的容器调度在不同的可用区(zone)里,这是通过编排模板中的availability:az=xx标签来实现。

SLB本身具有跨机房高可用特性,使用主、备在不同可用区的SLB类型即可。

整体架构就是基于容器云的同城双活架构,其实还有异地灾备。

交付采取镜像的交付方式,gitlab上传代码后通过jenkins进行打包操作,镜像交付到开发环境,功能验证没问题后,gitlab合并代码到test环境镜像交付后进行test环境的功能及性能测试。

最后将镜像推送至生产环境,生产环境采取双consul多数据中心模式,可用区A连接位于A区的consul master,同时将注册信息同步至位于可用区B的consul master,这样保证多区的微服务集群高可用。

两个区共用基础资源,RDS通过DTS同步至测试环境,测试环境和dev环境共用一套RDS。该架构在满足持续交付,持续部署的同时也满足了高可用的需求,每个微服务都是集群,这样基于容器层,ECS层,consul层,微服务层,任何节点出现问题对用户都是不可见的,实现了高可用。


迁移上阿里云后的成效

成本上可以做到有效的控制,随时做到服务的升降级。

阿里云帮助实现了故障主机的实时迁移,保障了业务的可用性,运维也比较省心。

在安全方面基于云盾和先知等产品的安全防护可以做到多层次的保障,极大提高了服务安全性。

监控方面也很细致和全面,支持自定云。成本方面可以随时关注费用中心,自行进行分析。

效率方面,因为是基于容器云的微服务架构,这方面也有非常大的改善。


关于视觉中国的更多实践详情:视觉中国:基于容器云的同城双活微服务架构上云实践

原文发布日期:2017-2-16

云栖社区场景研究小组成员:董普庆,仲浩。