雷锋网(公众号:雷锋网)按:本文整理自最新一期雷锋网硬创公开课——《关于企业级云存储,你必须要知道这些!》,分享嘉宾是七牛云首席布道师何李石。何李石热爱技术和产品,是Go 语言/容器虚拟化技术布道师、实践者,互联网产品基础架构解决方案专家,拥有五年以上互联网创业经验和企业级服务产品研发、运营经验。雷锋网
最近,人工智能、无人机和VR/AR等概念太火了,以至于我们忽视了另一个潜伏在行业应用背后的热点——云计算。从国内云计算公司的融资历史就可以发现,无论是阿里云、金山云等老牌厂商,还是又拍云和七牛这样的云存储领域的新军,融资对他们来说犹如家常便饭;这一市场之所以被广大投资机构看好,是因为企业对云服务的需求在提升。那么接下来的问题是,企业在选择云服务时有什么样的坑,使用云服务时需要了解些什么?
以下是演讲实录(有删减):
云存储是什么?
所谓云服务,其实是一种持续在线、持续可用的第三方服务的统称,最常见几个云服务就是云计算和云存储服务,大多数情况下人们也用“云计算”一词指代所有云服务,因此很多做云服务的公司都称自己为云计算公司,实际上他们提供的服务可能并没有包含“虚拟机”或者其它形式的计算服务。
也有人套用“持续在线、持续可用的第三方服务”这个概念,发明了“云备胎”等词。
通俗点说就是,云服务实际上是本地服务的一种延伸,也即将原来在本地提供的物理资源“云服务化”,这些物理资源主要包括CPU 计算资源、内存资源、磁盘资源和网络资源,因此云服务公司的常规业务主要有:
1.提供计算和内存虚拟化服务的云计算业务
2.提供存储虚拟化的云存储业务
3.提供网络虚拟化的虚拟化网络服务
这种通过软件虚拟化的形式来提供的服务也称为“软件定义服务”,如软件定义存储、软件定义网络和软件定义数据中心。它可以将特定的硬件与软件进行解耦,将硬件的可操控成分按需求、分阶段的,通过编程接口或者以服务的方式逐步暴露给前端应用,分阶段地满足应用对资源的不同程度、不同方面的灵活调用。
从云存储的角度来说,它是一种持续在线、持续可用的第三方存储服务,它对外封装了具体的物理资源和这些资源分配的细节,只暴露几个简单的API,让用户只需要使用这几个简单的API 即可完成对海量文件的存储和管理。
对于企业来说,云存储不仅可以提供海量的存储资源,其规模化的集中式投入还可以降低企业的硬件、人力和时间投入成本。同时,对于前期无法投入太多硬件资源的企业如创业公司,云存储的弹性扩容缩容能力和按需使用按需付费能力可以很好的降低其投入风险。
云存储和网盘的区别在哪?
因为网盘是终端用户术语,所以认知度会更广;而云存储是技术术语,只有技术人员才接触到,所以大家对云存储的概念会比较生疏。
从上下游角度讲,网盘的底层是云存储,也即网盘企业是云存储企业的客户,属于下游。
一般来讲,云存储的应用场景有哪些?
云存储作为磁盘这种基础硬件资源的抽象,基本上渗透到了互联网的各个领域,可以认为所有需要上网的服务都可以用到云存储服务,它可以存储任何类型的文件。从文件类型来看,目前存储量比较大的场景有:图片存储、音视频存储和文件存储。不过,对于云存储来说任何类型的文件的存储都是一样的,所以我们一般不会根据文件类型来分类。
可以从以下几个领域来理解:
娱乐行业场景,包含的子类主要有:兴趣图片社交、短视频社交、游戏直播、动漫、数字音乐、电子阅读、网络电台和网络KTV 等。
在线旅游场景,包含的子类主要有:旅游资讯/预定、游记UGC、旅游攻略和景区实况等。
O2O 场景,包含的子类主要有:美业导购、美业垂直社区、达人视频社区、上门服务和售后跟踪服务等。
智能硬件场景,这类场景包含的子类有:智能硬件平台、固件分发、数据处理和分析,以及视频监控采集等。
安防监控或监控直播场景,这类本来也属于大的“智能硬件场景”范畴,但它更加特殊化,因此将其单独拎出来作为一个场景。
广电行业场景,包含的子类主要有:新闻线索收集和管理、视频内容加工、节目点播、现场直播、节目交易和数据统计等场景。
在线教育场景,包含的子类主要有:大规模开放式在线课程、垂直工具类产品和直播课堂等。
除此之外,基因行业也有大量的数据存储需求,不过这属于比较偏的一类应用场景。
不同的应用场景,需要什么样的技术支持?
云存储的应用场景分类很多,对云存储厂商来说不同的场景是基于客户的角度考虑的。举几个例子:
陌陌这种社交产品用户量巨大,需要我们帮助他们存储和分发大量的小文件(你们的头像和表情之类的);
而美拍这种产品要存储和分发的则是一些相对较大的视频文件(一个 10 到 15 秒的短视频)。
需要注意的是,一个客户的同一个产品中也可能包含多种功能,它们分别对应不同的场景,比如现在很多社交产品里面都在集成直播功能,美拍就属于这种情况。
在娱乐行业、旅游行业和 O2O 场景中,一般以图片或者短视频社交为主,存储之外,还可能会涉及到图片和音视频的处理技术。
图片很简单,直接实时处理即可。但是对于音视频来说却不能直接实时处理,因为音视频的处理一般比较耗时,大规模的实时音视频处理并发请求容易把服务端拖垮,而客户端也可能因为网络等待超时而拿不到处理后的信息。因此我们会建议采用异步处理的方式来做。
在需要对内容进行审核视频社区的应用中有两种做法:第一是采取抽帧审核的方式,可以调用鉴黄服务识别其健康程度;第二可以将视频转换成体积更小的 GIF 图片快速下载到本地在浏览器端快速浏览。
对于短视频社交来说,音视频的跨平台播放是必不可少的特性,比如大家希望微信打开可以直接播放,在电脑上打开也能够正常播放,在存储外围构建一个数据处理平台就显得非常重要了,这也是七牛采用的方案。
选择和使用云存储的坑在哪?如何避免?
一般情况下,企业会关心两个点:产品好用不好用以及成本。成本方面比较好评估,对比一下就行,大不了我先用用看看要花多少钱,因为都比较透明了。所以我就从另一个角度来谈谈:
项目前期,我们选择云存储方案的时候可能有很多选择,我们可能自建,可能选择第三方,即便是自建,也可能有多种不同的方案。而第三方的选择则更是让人眼花缭乱。
因为现在很多公司都说自己是云计算公司,都说有能力提供云服务。实际上我们通过 API 的形式将基础能力开放出去之后,很多公司只需要再这基础之上包装一下即可打造成一个云产品。
那么,除了成本之外,我们到底应该关心哪些东西,才不至于前期投入巨大,更不需要在后期陷入资源投入无底洞的陷阱(自建)。
首先,我们做云存储服务的,做过成本分析,自建在很大情况下不如使用云服务省钱、省力。因此,我今天只讲对第三方云存储服务的评估和选择。
1.公司资质的判断。这些云服务公司到了什么阶段,它们的产品和服务确实靠谱吗?核心竞争力是在哪里?是在于核心存储技术还是像 115 网盘这样的更擅长运营?
2.这些云服务目前的主要客户有哪些,这些客户中有我们的竞争对手吗?如果有,他们用了这个云服务之后是不是能够解脱开来,让自己更加专注于自身的业务?
3.如果我选择这家第三方服务,除了云存储服务本身之外,我是否能享受到其它如数据处理这样的便利性,未来是否能享受到专业的长期服务?云服务不是一个简单的系统开发完了就放在那里跑就可以赚钱的,它的完善是一个持续的过程,托管这么多客户的业务,它跑的过程中可能遇到各种问题,都是需要深入到具体的技术中去解决。
4.我选择的这家服务提供商足够安全吗?受版权保护的数据如何存储和分发?
我们再来看看使用过程中应该注意什么:
1.应该尽量将业务架构解耦,把动态资源和静态资源分离开来,尽量将静态资源独立托管在第三方。
2.云存储是只帮你保存文件的,读取文件都通过你给的唯一标识符和相应的授权来读。因此,有必要在自己服务器上保存一份原始记录。保存原始记录不是说你要把存储在云端的文件都备份一份,而是把这些文件的名字都保存起来。这样你才能知道在云端存了什么东西。
未来还会有新服务出现?
对用户而言,云存储其实很简单,就是一个读写接口。因此从存储的功能来讲,未来也不会有太大的变化。
但是我们讲云存储服务,其实更加关注一整套服务,也即围绕存储在我们这里的数据能够提供哪些对客户有价值的服务。
因此可以换个角度看这个问题,除了现有的存储服务,围绕存储或者数据,未来还会有其它更酷更方便客户的服务吗?
精彩问答
问:云存储的上传和下载都需要用到大量的带宽资源,这个带宽和云存储是一起提供的吗?
答:这个带宽是一起提供的。我们会在外围部署一些加速上传下载的节点,所有的上传下载都走这些节点代理到核心存储机房。
问:请问病人的片子包括病例资料可以实现适时上传到服务器上,同时设置密码,再由我们转给医生,由医生解密这个过程吗?
答:可以实现,这里面涉及到和你业务服务器的交互。云存储可以提供计算力让你实时加密处理,但是医生那边的解密以及密钥的颁发需要你业务服务器配合。
追问:怎么个实现形式,通过账户密码的形式吗,如果是老年人不会使用,可有其他解决办法?
答:不是通过账户密码的形式的,要用自动化的方式,用公钥、密钥的方式进行加密解密。你这种处理方式比较特别,并且上传到云端的时候一般是集中上传的,并不是 UGC 场景,建议在本地加密好后再上传到云端。在客户端比如医生的 iPad 里面下载下来后再解密。解密的时候可以让他授权登入,通过服务端颁发私钥。具体的实现方式可以咨询一下你们工程师。
雷锋网原创文章,未经授权禁止转载。详情见转载须知。