【SACC 2015现场报道】2015年10月22-24日,第七届中国系统架构师大会在北京新云南皇冠假日酒店盛大召开。从2009年到现在,我们伴随着中国系统架构师大会走过了七个春秋,从最早的500人规模逐年升级到现在的2500人规模,这些年我们目睹了整个IT架构的变迁,也见证了中国IT圈内一波又一波的架构师成长之路。
▲2015中国系统架构师大会直播地址:http://oa.it168.com/topic/2015/10-20/SACC2015/
本届大会以“互联网+重塑IT架构”为主题,吸引了来自全国各地的架构师、工程师、开发经理、DBA、运维总监、CTO共襄盛举。在为期三天的时间里,大会将通过举办专场研讨、技术培训、圆桌讨论、微博互动、有奖调查等环节,并安排两大主场、16个分会场,我们希望为来自全国各地的专业人士搭建一个充分交流的互动平台。
中国系统架构师大会的第二天,我们迎来了主题为“云场景下的业务构建”的主场,今天上午的第一位演讲嘉宾是来自阿里百川的技术专家王博,他演讲的题目是《面向移动开发者的云服务实践》。他主要带来两大方面的分享,第一个是移动开发从1到N的架构一致性,第二个内容是移动开发者友好的云存储。
移动开发者面临的技术挑战
据王博介绍,目前移动开发者面临诸多技术挑战,包括运维挑战(部署发布不成为难点;加机器,怎么加?数据的备份还原怎么做?热备冷备怎么做?系统架构升级和重构);安全挑战(网络攻击;数据安全:拖库、权限破解,用户隐私泄露;应用安全:xss注入、漏洞、SQL注入);稳定挑战(用户来告诉你,系统挂了?!版本出现Bug,如何快速回滚;怎么做系统的容量评估?48%的用户会因为稳定性选择卸载流失)。
全架构PaaS TAE2.0的Docker实践
随着Docker及容器技术的火热发展,PaaS进入了新时代,最近一些传统PaaS开始基于Docker及类似技术进行升级改造,也出现了一些专门提供容器托管的平台。淘宝应用引擎TAE是国内较早规模化使用Docker的PaaS平台,它最近推出了2.0版,作为阿里百川项目的一部分对外开放。阿里百川是阿里巴巴集团无线开放平台,为移动开发者(涵盖移动创业者)提供快速搭建APP、加速APP商业化、提升用户体验的解决方案。
那么TAE2.0的全架构PaaS是什么意思?有哪些特性呢?
据王博表示,类似GAE、SAE这样的传统PaaS服务,具备弹性伸缩,分布式,免运维等优点,但用户想要使用到这些特性,都需要对原有的系统代码做改造,所以传统PaaS的门槛比较高,并且不够灵活,开发者很难扩展自己的服务。
另外传统PaaS一般只支持Web+数据库这种两层结构,这个比较适合Web网站应用。一旦涉及到更复杂一些的架构,比如Web+消息队列+缓存+数据库+数据分析的系统架构,甚至C++或NodeJS的服务,传统PaaS很难满足。全架构的PaaS就是突破传统PaaS的这些瓶颈,让开发者的任意系统都能在TAE中搭建起来。
首先,TAE 2.0在PaaS功能上,在业界应该是最强的,从开发者系统迁移到TAE的工具化支持,到系统可视化创建,到系统可视化发布运维,以及线上系统的监控、系统性能Profile、日志、压测、慢SQL分析、数据源分析,WebIDE代码管理,定时任务,多媒体云存储和加速,能够覆盖到开发者从0到数百万DAU成长过程的技术需求。其次,基于Docker给开发者带来很好的扩展性,比如开发者可以将自己制作的镜像部署到TAE上,也可以通过我们的WebSSH或原生SSH登录到Container中像IaaS一样管理容器代码。一句话说,TAE 2.0的全架构PaaS就是兼具IaaS的灵活性和PaaS的方便易运维。
TAE2.0镜像仓库系统架构
通过TAE镜像仓库使用官方镜像,或通过镜像制作工具快速定制您的镜像。TAE的服务实例采用了容器化技术,镜像使用Docker实现,提供了丰富的常用镜像供开发者直接使用创建服务,同时还支持开发者构建自定义镜像实现服务的灵活扩展。丰富的常用镜像库:提供了包括应用服务器、缓存、数据库、消息队列、内容管理等各种类型的常用中间件镜像,开发者通过选择镜像,一键启动部署特定服务。开发者私有镜像库:通过在线制作工具提交构建自定义私有镜像,也可以通过开发者的本地host提交自定义镜像到私有仓库。
TAE2.0使用了Docker技术
TAE诞生于淘宝店铺开放业务,之前一直在服务淘系内部业务,比如优站,微淘插件,手淘开放等业务,开发者主要的使用场景就是Web+数据库的两层结构。而百川移动开发者,往往是三层结构甚至N层结构。原来的Web PaaS很难满足用户了。另外我们发现,现在的移动初创团队,团队小,迭代快,他们迫切需要有一套系统能够像PaaS一样去运维他们的生产环境,但是不希望为了使用PaaS而修改自己的代码,并且有IaaS的灵活性。基于这样的需求,所以我们比较自然的想到到了用 PaaS + Container based IaaS的方案来满足用户需求,这个正好和Docker的的特点比较吻合,所以我们选择了Docker。
TAE是从去年8月份开始尝试使用Docker技术的,经过了近1年的产品化和实际使用,目前已经比较稳定了,我们计划七月份正式对外公测。从产品和技术的应用来讲,TAE算是比较早的规模化使用Docker的PaaS平台。
移动开发者友好的云存储
就目前的技术而言,用户不可能把所有的数据信息都存储在移动设备中,所以就需要一个即用即取的服务出现。那么云服务正好可以满足用户对于存储空间以及运算性能的要求。
PGC应用分享
PGC应用需求要点:客户端:重分发(从时间和空间两个维度来要求速度快、速度稳)服务端:控制台(基于增、删、改、查的目录管理、文件管理)。
UGC应用分享
UGC应用需求要点:客户端:内容生产 - 上传 - 分发(内容生产(图片、视频)要求满足个性化需求;上传、分发要求稳定、快速)服务端:内容安全(确保 UGC 的内容干净)。
写在最后,随着互联网+浪潮扑面而来,目前移动平台是各大互联网企业的必争之地,移动互联网已经开始改变世界。而云与这一切都息息相关,不论是手机还是平板应用的制作者都希望可以给用户更好的体验。