云原生存储和云存储有什么区别吗?

  

云原生存储和云存储有什么区别?

  

作者|壮怀阿里云智能事业群高级技术专家

  
  

<>强导读:新的企业负载/智能工作负载容器化,迁云,存储方面遇到的性能,弹性,高可用,加密,隔离,可观测性以及生命周期等方面的问题,不但需要存储产品层次的改进,更需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进。本文将介绍一下问题场景,探讨可行的解决方案,最终得出云原生存储以及云存储目前可以做什么和未来还需要做什么。

     

引言

  

最近有幸参加了由下文Meetup联合Kubernetes,原生云Meetup共同组织的面向云原生持久化应用的聚会,结合最近对云存储,开源存储,云原生存储的思考,对云原生存储到底是什么,需要做些什么,云原生存储未来挑战是什么,做了更多的反思和梳理,一家之言,分享了几个初步观点。

  

随着云原生应用对可迁移性,扩展性和动态特性的需求,相应的,对云原生存储也带来了密度,速度,混合度的要求,所以对云存储基本能力又提出了在效率,弹性,自治,稳定,应用低耦合,GuestOS优化,安全等方面的诉求。

  

云原生现状

  

容器和云原生计算被企业快速接纳

  

云原生存储和云存储有什么区别?

  

Forrester预测:到2022年,全球组织/公司在生成环境运行容器化应用,从今天不足30%的比例将大幅度提升到超过75%,企业应用容器化的趋势势不可挡。

  

云原生存储和云存储有什么区别?

  

另一方面,根据IDC对未来企业级存储市场的增长趋势预测:云存储的需求相比于2015年,到2020年将会有3倍以上的增长,企业存储市场中,数据管理类企业核心数据消耗的存储所占的比例将提从15%升到23%,结构化数据和DBMS数据在企业存储市场中将进一步加强。

  

对云原生来说,核心企业应用/智能应用,使用云原生存储来部署生产可用的有状态应用,呈现加速上升趋势。海外存储巨头EMC, NetApp拥抱云原生,积极布局REX-Ray flexrex,三叉戟等云原生存储编排方案。

  

Kubernetes逐渐成为云原生时代的基础设施

  

过去的一年(2018 - 2019)中,Kubernetes逐渐成为云原生时代的基础设施,越来越多的互联网,数据库,消息队列等有状态企业核心应用,逐步迁移到云原生平台Kubernetes,对不同的云上块存储的性能在时延和吞吐,以及稳定性提出了不同的要求,比如:

  
      <李>毫秒级NvME SSD级别的稳定时延,来满足高性能KVstore和数据库需求,李   <李>随着应用单机部署密度的提升,对块存储单机密度的挑战,李   <李>本地块存储共享,对块存储的弹性和隔离性也提出了更高需求。   
  

在云原生环境下,如何以声明方式来满足不同的业务场景,成为了云原生存储在实现控制面和数据面上的挑战。

  

在智能应用AI场景下,高性能计算,流式计算也尝试通过Kubernetes云原生平台来部署,使用云存储方式来完成训练,计算,推理等方面的工作,这对云存储在Kubernetes环境的选择及使用方面提出了挑战。比如,有证据表明火花生态正在逐步从Hadoop纱向Kubernetes原生的调度器以及扩展调度器如帮派Scheuler迁移。

  

在云计算环境中:由于成本和存储计算分离的模型,HDFS仍然会以存储协议的方式存在,但存储方式会逐步从HDFS的3副本向对象存储(OSS, S3)迁移;GPU多机多卡MPI计算,Flink流式计算的Kubernetes化已经逐步成为主流,存储访问方式也多以对象存储方式呈现。

  

但是在使用对象存储过程中,大数据/AI应用的计算效率仍面临着严峻的挑战:

  
      <李>减少同一节点对同一块的反复拉起产生的网络IO,李   <李>减少数据的洗牌产生的写IO,李   <李>实现计算对数据感知,计算向数据迁移的就近计算。   
  

目前的Kubernetes调度器以及云存储特性并未给出好的解决方案,所以这也给云原生存储在加速大数据计算,弥补IO吞吐不足方面提供了发挥的舞台。

  

大数据离线计算比如基因计算,已经通过Kubernetes云原生平台来大规模的运行计算任务:对文件存储峰值吞吐10 gbps - 30 gbps的峰值刚性兑付,需要独立的高吞吐的文件存储形态和交付方式在云原生环境下的演进和变革。

云原生存储和云存储有什么区别吗?