1、大数据在物流行业应用突破张磊韵达快运集团 高级总监大规模云上调度实践一、韵达上云分享二、云上资源调度实践三、未来与挑战目 录content韵达上云分享:进度签约整体上线深度合作2015/12/292016/3/18合作探讨方案论证项目立项系统拆分系统改造专线建立整体上云架构优化云上数据直推(已上线)基于日志全链路系统与业务监控(进行中)地址清洗/地盘服务/地址聚合大数据分析韵达上云分享:混合云架构IDC(上海)Oracle应用层数据层数据库应用B区机房A区机房ESS弹性伸缩组ALIYUN VPC读写SLB主备RDSRedis MQ专线专线TMSSAPOMS WMS CODCOD WMS OMS
2、上海域香港域备RDS主SLBA/B区机房官网韵达上云分享:碰到哪些问题?如何解决?数据迁移:部分数据库数据量TB级别,直接利用DTS迁移线上数据库,会对线上造成影响。1)中间库:云上ECS上安装MYSQL,作为云下MySQL的备库;2)目标RDS:使用DTS,从中间库向目标RDS进行数据同步(含数据迁移);本方案可同时实现存量数据迁移、增量数据同步到云上,数据同步的网络延迟毫秒级(DTS同步速度理论上可达到70Mbps)ALIYUN VPCMySQLMySQL 备库DTS主从复制主从复制目标RDSIDC(上海)韵达上云分享:成本与效益人员投入2人(物流云)6人(韵达)上云项目周期2个月云资源使
3、用成本相比之前自建硬件投入成本下降So easy!云上运维二、云上资源调度实践变革软件交付方式的技术:Docker-“没有集装箱,不可能有全球化。”Docker基于容器技术的轻量级虚拟化解决方案Docker是容器引擎,把Linux的cgroup、namespace等容器底层技术进行封装抽象,为用户提供了创建和管理容器的便捷界面(包括命令行和API)Docker 是一个开源项目,诞生于 2013 年初,基于 Google 公司推出的Go 语言实现微软,红帽Linux,Oracle等主流IT厂商在各自产品增加对Docker的支持。什么是Docker?Docker会在隔离的容器中运行进程。当运行do
4、cker run命令时,Docker会启动一个进程,并为这个进程分配其独占的文件系统、网络资源和以此进程为根进程的进程组。在容器启动时,镜像可能已经定义了要运行的二进制文件、暴露的网络端口等,但是用户可以通过docker run命令重新定义(译者注:docker run可以控制一个容器运行时的行为,它可以覆盖docker build在构建镜像时的一些默认配置。Docker原理作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行
5、数千个 Docker 容器。容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。为什么要使用Docker?对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。Docker 容器很轻
6、很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。更快速的交付和部署对比传统虚拟机总结Docker虚拟机启动速度秒级分钟级复杂度基于内核的namespace技术,对现有基础设施的侵入较少部署复杂度较高,并且很多基础设施不兼容执行性能在内核中实现,所以性能几乎与原生一致对比内核级实现,性能较差可控性依赖简单,与进程无本质区别依赖复杂,并且存在跨部门问题体积与业务代码发布版本大小相当MB级别GB级别并发性可以启动几百几千个容器最多几十个虚拟机资源利用率高低搭建开发环境安装web容器安装数据库分配网络开发测试编码测试安装web容器安装数据库分配网