1、百川TAE Docker全架构PaaS演进1TAE为什么要做全架构PaaS?什么是全架构PaaS?TAE 历程简介 TAE 支持JAVATAE 调度系统Beta TAE 支持U站开放业务 TAE 1.0 Release 启动产品化项目 支持 店铺模块 支持 建站平台 支持 2013年双11 TAE 1.0 Beta 支持品牌集市内部业务 支持农业店铺内部业务 支持淘系15个业务方 支持 2014年 双11 体量突破10000+Container 支持阿里百川无线开放平台 启动 TAE 2.0 Docker 项目 TAE 2.0 Docker beta TAE支持全架构托管 全架构托管移动应用总
2、 DAU超500万20112012201320142015T TaobaoaobaoA AppppE Enginengine淘宝淘宝应用应用引擎引擎TAE1.0TAE2.0TAE 1.0 用户需求 -淘宝站内开放业务需求需求:让站内业务和数据可以安全的开放给ISV使用U站爱淘宝全球美食店铺模块品牌旺铺特色中国互动游戏微淘御膳房业务:用户需求初级用户浅度对接用户2层结构Web+数据库安全第一TAE1.0=安全容器+Web PaaS稳定易用TAE 2.0 的用户需求 百川计划移动开发者1000DAU以下10万 DAU100万 DAU 以上Web+数据库Web逻辑存储+缓存+数据库定时任务+消息队列
3、接入+Web+逻辑+存储+大数据系统架构运维能力手动+单点部署自动+监控+双机热备自动化+可视化+数据化实时计算 离线计算HTTPTCP百川计划 移动开发者的需求初创期上升期运维挑战:部署发布不成为难点加机器,怎么加?数据的备份,还原怎么做?热备冷备怎么做?系统架构升级和重构 稳定挑战:用户来告诉你,系统挂了?!版本出现Bug,如何快速回滚怎么做系统的容量评估?48%的用户会因为稳定性选择卸载流失创意客户端开发服务端开发测试发布DAU:从1万到10万安全挑战:网络攻击数据安全:拖库、权限破解,用户隐私泄露应用安全:xss注入、漏洞、SQL注入架构稳定:有灵活性和可扩展性,架构清晰,新人可以快速
4、上手。技术选型:开发语言技术框架云计算图片数据库缓存中间件大数据计算云计算服务选择IAASPAASCAAS优点:灵活,自由度缺点:从零开始搭建系统优点:可视化运维管理缺点:改代码适配,扩展性差优点:一次构建,到处运行缺点:配套设施、稳定性如何让整个系统平滑发展快速构建运维升级平滑自动系统构建:快速 or 缓慢部署升级:平滑 or 重构运维管理:自动 or 手动时间成本人员成本用户成本or移动时代的云服务需要让从1到N更简单!架构的演进源自于需求的变化IaaS+PaaS+CaaS使用灵活+运维简单+构建快速全架构2TAE 如何实现全架构PaaSTAE 如何做到?搭建运维升级快速平滑自动TAE2.
5、0 接入和网络系统架构 外网七层+负载均衡 外网四层+负载均衡 内网七层网络 内网四层网络Container 网络:不同场景不同网络方案,内外网单独处理 盘古分布式存储Container 存储:系统存储和数据存储分离,数据分布式存储TAE2.0 镜像仓库系统架构对镜像仓库系统的优化改造自Docker官方是开源的docker registry 对接TAE用户权限系统,支持HTTP Basic-Auth 镜像存储落地到OSS,保证存储数据可靠性 VM Host增加镜像缓存,加速Docker Container 镜像下载过程镜像仓库系统-实现快速搭建系统官方镜像JAVAPHPPythonMySQLM
6、ongoDBMemcachedActiveMQRabbitMQRedisElasticSearchWordPressNginxZooKeeperHadoop官方镜像官方镜像覆盖80%常用系统软件功能+性能+稳定性+可维护性广度:深度:私有镜像本地镜像制作在线镜像制作私有镜像特殊需求通过自定义镜像满足镜像仓库系统-实现快速搭建系统不懂Docker也可以制作镜像 支持大文件程序上传,断点续传 独立的Git,Svn 集群服务热备,数据冷备+热备 Container异步并发上传,发布分批轮询机制,保证不停服TAE2.0 部署系统架构TAE 2.0-部署发布更从容文件发布Git/SVN发布Beta发布历
7、史版本回滚发布系统 自动发布到所有服务器 循环按批次更新,发布不停服 紧急问题,随时回滚 上传部署、编译部署支持随时随地,想发就发是一种能力TAE2.0日志和监控系统架构云监控云监控 历史日志查询延迟平均2分钟 实时日志查询延迟3秒 每天日志采集量超过3亿条,超过200G 30+台 JStorm 日志采集集群 日志存储保存30天 日志保序TAE 2.0-自动化运维-监控报警QPS、RT、PVCPU、内存、带宽访问请求URI数据源监控应用监控自定义监控健康检查报警CPU/磁盘报警报警RT设置报警数据库报警具备先于用户发现问题的能力应用日志实时日志日志系统错误日志联动日志搜索连接数监控存储空间数据
8、库监控QPS/TPS慢SQLSQL执行记录TAE 2.0-自动化运维-应用管理 弹性计算,垂直/水平伸缩,一键扩容 支持HTTP/HTTPS/TCP接入 WebSSH登录,客户端SSH登录可视化应用管理弹性伸缩SSH管理接入层管理弹性升级 基础应用配置(应用参数、可视化重启,关闭)运维工具化可视化是DevOps前提总结 TAE2.0 全架构PaaS的能力 Build系统构建Deploy发布管理Management运维管理镜像仓库镜像加速在线镜像制作JAVAPHPPythonMySQLMongoDBMemcachedActiveMQRabbitMQRedisElasticSearchWordPr
9、essNginxZooKeeperHadoop官方镜像AppEngine文件发布Git/SVN发布Beta发布历史版本回滚发布系统网络/环境变量配置SSH登录水平/垂直 扩缩容启停、镜像升级管理系统QPS、RT、URICPU、内存、带宽数据库监控报警系统监控系统实时日志应用日志在线编辑、编译发布Diff、代码合并日志系统IDE压测系统增删改查私有镜像在线压测全面覆盖应用 构建+升级+运维 的生命周期系统演示-构建和发布HTTP接入接入TCP接入层配置接入层配置机器规格选择机器规格选择存储选择存储选择部署环境选择部署环境选择JVM参数配置参数配置系统演示 日志和监控系统演示 弹性扩容系统演示 在
10、线IDE和WebSSH 支持在线编译和部署 支持仓库代码和线上代码冲突合并 支持黑、白两套皮肤 WebIDE支持富文本编辑 WebSSH 支持标准SSH操作 支持Container级SSH别免登录 完整覆盖SSH终端功能3TAE 更深入的融合Docker和PaaSDocker让PaaS更灵活,更贴近用户需求灵活:官方镜像:十几个官方镜像,一键部署自定义镜像:任意系统,都TAE环境都能跑起来管理:WebSSH+原生SSH管理IAAS灵活性+PAAS运维简单+CAAS易构建Docker 让全架构PaaS成为可能从Build Ship Run 到Build Deploy ManagentTAECAAS传统PAAS传统IAAS全架构快速搭建迁移工具打包发布编译发布灰度发布Beta弹性扩容应用监控实时日志告警联动在线IDESSH压测覆盖应用全周期,全架构,全流程PaaS让Docker更实用TAE 更深度融合Docker和PaaSTAE 更深度的融合Docker和PaaS