靠谱 的软件外包伙伴

您的位置:首页 > 新闻动态 > 软件平台存储支持不同计算框架共享数据

软件平台存储支持不同计算框架共享数据

2016-08-22 11:47:44

最近两年,鉴黄、CDN是云存储提供商津津乐道的特性,但在阿里云看来,鉴黄只是视觉计算的一部分,视觉计算、CDN也不足以代表云存储的研发方向。世界究竟需要什么样的云存储呢?在日前的北京云栖大会上,阿里云资深总监Jason和阿里云存储专家承宗接受CSDN记者采访,介绍了了他们对云存储的理解,以及阿里云存储的研发规划和研发进展。

在阿里云存储看来,相对于承担传统数据存储的任务,云存储更重要的是扮演整个大规模计算和大规模分发的底盘的角色。为了实现这种能力,阿里云存储不仅要提供对象、文件、NAS、SAN以及数据完整性/安全性的保障,保证云存储的通用性、兼容性(对存储模式)以及其他各种企业级特性,更重要的是要能够提供接口支持各种不同的计算框架,比如MapReduce、Hadoop和Spark等主流大数据技术,阿里云自研的MaxCompute(原ODPS)和流式计算,以及不同行业、不同类型的不同算法需求。

图片描述

云存储的本质

提出数据技术(DT)时代概念的阿里云,在谈云存储的时候,已经把重心放在数据和计算上。所谓大规模计算和大规模分发的底盘,意味着用户只要将数据存储在云存储产品上,就能够在上面随时部署一套灵活的计算系统进行这些数据的计算,然后进行加工,并再次进行分发,从而实现数据价值的最大化。

阿里云表示,其他的云存储厂商不会和基因公司产生很大的关联,因为基因公司很多时候用到的是计算,但北京云栖大会会迎来一个基因计算专场,Genedock和安诺优达两家基因公司会分享他们云上进行计算和数据交付的实践经验。此前,华大基因的专家曾介绍,华大基因在阿里云存储和ECS上进行了大规模的算法的比较,由于吞吐和IO的线性扩展,基于云存储可以大幅提高计算的效率。这得益于性能优化以及对大规模计算、大规模存储的支持。

关注计算的原因在与释放数据价值。对于阿里云存储而言,目前主要有两个方向:

  1. 当前数据是通过分发和交互产生价值的。针对娱乐领域,阿里云存储会不断加强与分发网络以及图片、音视频多媒体的结合,和视频云部门一起合作研发,整合出一些更好的应用。

  2. 数据产生价值的方式,有可能是数据加工,数据处理,以及数据的转化,再次产生数据产生的价值,这就和计算紧密的相关。例如,针对当前业界最火的视觉计算,阿里云存储已经在和数加团队(阿里云的大数据处理团队)展开联合研发,未来会和数加以及更多的第三方公司在计算机视觉上进行深入的合作研发,目标是提供更好的数据产品。

视觉计算只是一部分。大概半年前,阿里云存储就开始思考和实现一种“轻计算框架”,和包括数加团队在内的各个集团技术团队一起进行生命科学、交通控制、天气预报、地震预测和研究等存储加计算的合作。

对于一些免费提供云存储同时提供收费CDN的做法,阿里云则认为,这种云存储实际上已经转型为CDN厂商,其目标是把CDN以比较高的价格卖出去,隐含的存储成本被包含在CDN成本里,并且CDN包含的存储也不可能是无限量的,超出一定数量的部分还是会收费。

轻计算框架的实现

所谓轻计算框架,作为阿里云存储的战略之一,就是希望打破传统的存储和计算弱相关的状态(不同计算系统后端的数据存储是一座孤岛,各自割裂),从发掘数据价值的维度去考虑存储系统设计与研发,以及存储作为基础设施如何与各种周边产品和生态之间的合作。

具体而言,阿里云今天要解决的问题,就是为一份相同的数据提供一套不同的接口,让用户可以通过这些接口连接不同的计算框架或者计算系统,而且这些计算系统产生的数据又可以回流并被共享。

轻计算框架的实现有很多技术挑战。首当其冲的是如何提供不同的API实现数据被不同的计算系统共享。阿里云存储目前实现了哪些技术更新?专家从内部和外部两方面分别说明。

  • 首先,阿里云大数据计算框架MaxCompute(原ODPS)已经和阿里云存储产品打通,提供结构化和非结构化数据的处理。数加平台上很多计算,比如推荐系统的数据,都可以放在结构化或者是非结构化的存储系统里面。

  • 阿里云最近发布的E-MapReduce(EMR),也是一个典型的存储跟计算之间融合打通的产品,用户可以把数据存在非结构化的OSS上面,或者是结构化的表格存储上面,然后在上面跑EMR。

  • 同时,阿里云存储也在和内部的流计算系统都有很好的融合和连接。

  • HPC整合。阿里云HPC产品可以把GPU的能力,以及GPU加速机器学习的算法提供给用户,阿里云希望做一种diskless Computing——在计算单元里面不带任何的磁盘,启动、数据、计算、结果,一切都由外挂的云存储支持。阿里云存储在做两种尝试:

    • 跟NAS系统连接起来,即所有的GPU和HPC的计算单元,结合进阿里云的NAS文件系统上。
    • 数据,既可以直接在NAS上读写;对于非结构化的数据,也可以在OSS上面进行读写。
  • 视觉计算。视觉计算有很多不同的细分,鉴黄只是其中之一,阿里云利用轻计算的框架来提供一些已经定义好的功能,如广泛使用的图片水印,旋转等功能,也可以让用户自定义一些计算,以类似于微服务的方式,把计算放到存储上去,达到即存即处理的效果。

  • 阿里云还提供一种UDF(user define function)的功能,用户可以把自己定义的函数上传成一个Docker镜像。数据上传后,自动触发函数的调用,处理这些数据。处理后的结果又可以转存回来。这个功能目前只对部分客户开户,很快会对所有人开放。

  • 整个跟外部Hadoop开源的生态已经打通,OSS对象存储已经像AWS S3一样成为整个Hadoop存储系统缺省的选项之一。如果用户数据已经放在OSS上,同时有一套原生的Hadoop开源计算系统,他可以不需要修改任何代码,只要有一个选项填上阿里云OSS,就可以直接用OSS的数据来做计算。这相当于一端可以用手机或者是用其他的终端来上传数据,在另外一端可以用已有的大数据计算系统来处理这些数据。

  • Spark开源系统的整合。Spark底层存储Tachyon,现已更名为Alluxio,已实现了对阿里云OSS的原生支持。OSS作为一个缺省的底层存储的provider,让存储在Alluxio内存文件系统中的数据可以使用阿里云OSS服务来作为持久化存储介质和数据交换平台,极大增强了用户体验。

此外,阿里云存储也在跟交通、气象、地震等垂直领域做非结构化存储、结构化存储和计算之间的打通。

典型案例

典型的例子由于涉及国计民生的领域还不能谈太多,阿里云简单介绍了杭州的智能交通的处理系统,把各个点上的路况、车况监控的数据联合在一起,这是非常庞大的数据集合,在这上面加上数加平台的深度学习等算法,对整个交通状况的改善取得了非常大的效果。

阿里云还有一款计算产品叫批量计算(Batch Compute),底层缺省的存储就是OSS,有渲染和基因计算两部分的用户:

  • 渲染:把素材放到OSS上,批量计算把这些素材拿过去进行渲染,渲染完把这些结果再写回OSS。这是最早的和OSS进行打通的一个计算产品,《小门神》、《昆塔》等电影,实际上都是在上面渲染出来的。

  • 基因计算:基因行业会把基因测序文件开得很大,单个人甚至是水稻基因组的数据放到OSS上,然后进行计算,最后的结果放在OSS,然后再通过某种方式,就是传送给最终的医疗机构,把数据让他们再取走。这就是云上的数据上传、加工、计算、转化,然后再分发的一个过程。当然这个过程有健全的通道和加密的方式。

阿里云强调,数据到云上来,会有更多的想象力。云存储系统和各种不同的计算系统,甚至未来第三方数据加工商的系统能够打通,通过完善的授权和签权的方式,通过数据加密以及公钥、密钥的管理,能够让这些数据被它最需要去和最能够被处理的算法,或者是处理的方式加工之后,再次产生分发的价值。实际上这是社会上的一个协作,但是这个协作今天看起来只能在云上发生。举例来说,云上NAS和线下NAS,即便基础功能特性相同,但本质是不一样的。

云存储的企业级特性

轻计算框架的基础,当然还是稳定的存储。阿里云存储专家还介绍了阿里云存储的一些企业级特性,包括容灾、可用性及数据安全等。

容灾

容灾方面,阿里云从集群级别到数据中心级别都进行了设计。

  1. 集群级别的容灾,设置了一个基本的出发点,在机器、磁盘和网络随时可以坏的假设情况下去做系统设计,做了很多的冗余度的处理。
  2. 跨区域的容灾,提供跨区域的数据复制,比如把数据从上海复制到北京,或者是从北京复制到深圳,这样来提供跨区域的容灾。同城多数据中心容灾的延迟基本是分钟级别的,北京到上海的跨区域的复制,SLA基本上也是保证在分钟级之内,当然这得借助整个阿里巴巴高带宽,低延迟的网络基础设施进行传输。
  3. 混合云容灾,如果用户内部数据中心容灾程度不是很高,可以通过高速网络通道搭到我们阿里云的存储上,提供容灾的能力。如果业务系统也一起放到云上,线下的系统出问题时,可以快速在云上把系统启动上来,达到备份加容灾的效果。

可靠性/可用性

对于可靠性/可用性,阿里云认为传统的承诺几个9的方式已经意义不大。

  1. 从产品的SLA角度来说,阿里云存储可靠性10个9更高,根据磁盘年坏率,机器的年坏率,数据复制的速度等因素来计算的。但阿里云认为设计上的可靠性和服务承诺的可靠性不同,阿里云从设计角度所追求的数据可靠性更高。保障机制是一旦发现问题,立即把这个数据进行重新复制,始终保持多个副本的状态。另外也做数据的位的跳变的检查,当数据有从零到一跳变,有一定的保证机制知道这个数据不对了,就把正确的数据重新复制一份。
  2. 可用性要考虑整个链路带来的延迟等因素,阿里云会把这些算成是可用性方面的一个损失,阿里云今天的可用性远远高于3个9,但是对于所有系统来说永远都有timeout的概率,从运营商的网络,到所有的网络设备的排队,到底下存储系统的排队,永远都会出现一个burst的东西,导致后面的请求有timeout的可能性。为此,阿里云在减消毛刺(减小timeout的几率)方面进行努力,包括一些backup机制,在这些技术的保驾护航下,阿里云OSS就会获得非常高的可用性。

数据安全

数据安全性的考虑非常多,整个存储,包括对象、文件、数据库,各种产品都把数据安全作为一个最根本的问题来解决。阿里云认为,安全性不仅仅指数据加密,还包括数据的可靠性和完整性,数据访问的鉴权等。阿里云必须同时保证用户的数据是永远不会丢失或者改变或者泄露——这三个方面实际上是当前整个云计算产品设计都要保障和提供的。

从数据安全的保障机制的角度来看,阿里云实际上分了很多层:

  1. 用户的接入层:有HTTPS,有不同访问控制权限的管理Resources Access Management(RAM),STS签权,日志审计等,通过一定的机制来安全地访问数据。
  2. 所有的软件栈,以及数据中心提供安全的数据服务,提供数据加密,可以有不同形式加密数据,既有后端的加密,用户也可以自己提供密钥来加密,阿里云后端提供Access Control,用户可以通过自己的配置来访问不同的文件、对象或者是数据。有整个的加密系统,包括KMS(key management system),有硬件层的数据加密。
  3. 为用户提供日志监管系统,可以知道哪些人、哪些IP什么时间来访问数据。
  4. 底层从操作系统、数据中心以及网络的角度,都有定制化的设置,来提供安全的需求。

云存储变革的驱动力

抛开技术远见的因素,从存储角度,阿里云也认为,其云存储的优点多种优势。

  1. 存储产品基于访问形式的丰富度和成熟度。
    • 阿里云今天提供了一揽子的存储产品,具备存储产品线应有的宽度,包括块存储、对象存储、文件存储、表格存储、日志、消息队列,实际上为企业服务和应用提供了很多的building Block,让用户很容易构建上面的应用。
    • 访问形式或者访问API协议的丰富度,让很多传统的应用,不需要经过任何的修改就可以上来。
    • 像对象存储,会满足互联网大规模应用的高并发、高流量的访问。
  2. 技术积累以及产品的稳定性,造就了产品的深度。从所有的存储产品的成长历史来看,一款成熟的存储产品,数据的正确性、可靠性是需要很长时间磨炼,大概都要花7-8年。而阿里云存储技术已经经过8-9年的锤炼。
  3. 技术架构和技术实力。
    • 在大规模方面,阿里云存储可以支持万台机器的大规模存储系统,支持1000 PB以上级别存储容量。
    • 在如何保持性能的稳定方面也做了很多的研究和开发工作。例如,一块磁盘的平均延迟大概是10毫秒,延迟99的百分位数大概已经到了100毫秒,如果是到99.9的百分位数就达到了几秒的级别,但今天的很多应用可能在99%的情况下都要求延迟小于100毫秒,怎么样提供这种稳定的性能是非常有挑战的。
  4. 整个团队的技术实力。阿里云存储有北京、杭州和西雅图三大研发中心,研发团队中的博士生、硕士生的比例在国内研发团队相当高,在国际上也可以跟国际巨头媲美。

总体说来,阿里云存储轻计算框架的革新,以及上述优势的形成,其驱动因素归结为两个:

  1. 丰富的内部场景,阿里巴巴集团,包括蚂蚁金服的很多内部的场景,会驱使存储团队去思考。
  2. 阿里云和很多关于国计民生的企业或者是研究机构打交道,能够第一时间知道他们的一些痛点和需求,这样促使阿里云去考虑云计算服务的研发方向。

关于:中科研拓
深圳市中科研拓科技有限公司专注提供软件外包、app开发、智能硬件开发、O2O电商平台、手机应用程序、大数据系统、物联网项目等开发外包服务,十年研发经验,上百成功案例,中科院软件外包合作企业。通过IT技术实现创造客户和社会的价值,致力于为用户提供最佳的软件解决方案。联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com


  上一篇   [返回首页] [打印] [返回上页]   下一篇