做公有云服务,为什么对象存储不可或缺?

news2024/11/15 19:42:15

试问:公有云的竞争,

你觉得从什么时候开始白热化了?

 

【全球云观察 | 热点关注】对于这个问题,可谓仁者见仁智者见智。

在我看来,火山引擎还未推出全面的云服务之前,在国内的公有云领域,竞争虽然激烈,但是还未到白热化的程度。什么是白热化程度,白热化程度如何定义?

在公有云行业中,产品服务迭代时间持续缩短,技术创新不断加速,云服务产品价格借助技术与服务进步“你争我赶”的降价,此时的公有云厂商之间的竞争已经发展到了最紧张激烈的状态,对于上云客户与未上云客户的争夺赛尤为突出,这系列表现呈现出国内公有云行业竞争已趋白热化状态。

然而,细心的人应有发现,任何提供公有云服务的云厂商,都少不了在云存储领域摸爬滚打,特别是在对象存储领域的投入,近年来显得尤为积极。

甚至有业内人士笑言道:无对象,不做云。

01

「六年打磨」

TOS都经历了怎样的考验

“一切不以应用体验为目的的云存储,都是耍花招。”唯有应用体验好的云存储,才是用户长期的选择对象。

从2017年开始,火山引擎就开始了对象存储TOS(Tinder Object Storage)的研发,到目前已经6年有余。

火山引擎属于大家熟知的字节跳动旗下的云服务业务板块,TOS承受住了字节跳动公司自身生态中大规模应用的海量数据存储考验,千锤百炼之下,六年打磨出来的TOS也是有着丰富的经历。

在谈到经过了哪些重要的迭代发展阶段的话题时,火山引擎存储&数据库产品负责人杨浩很有感触地说,当初早在2016年的时候,字节跳动采用的对象存储还使用开源存储系统的方式来解决,期间尝试了多种开源存储系统,然后在2016年底时,当时采用某开源系统进行存储扩容,结果宕机了一天左右。

字节的数据体量大,业务模型复杂,因此采用开源存储系统来解决字节跳动自身的对象存储服务需求,必然是走不通的路。为此,从2017年初字节跳动就开始基于开源存储系统进行改造,正式开启对象存储自研之路。在持续一年左右后,字节跳动业务发展迅速,整个数据量直线增长,既有的对象存储体系捉襟见肘,稳定性、扩展性等方面均无法满足日益增长的海量数据存储需求。

因此,从2018年到2021年这几年中,火山引擎在对象存储方面逐步进行全栈自研,从协议层到存储层完成全面替换。罗马并非一天就建成,在对象存储领域的探索,火山引擎也是一步一个脚印地向前走。2018年,面对资源弹性不足的问题,TOS在协议层解决了多云技术体系问题,既可以对接自建的存储资源池,也可以对接第三方公有云的对象存储,利用第三方的云资源来解决资源弹性问题。

2019年,字节跳动开始将之前的云存储资源池全面切换到自研的云存储底座中,同时完成了向全局元数据服务的切换。经过2019年和2020年的持续打磨,在2021年开始了面向to B领域推出字节跳动的云服务,为此进一步基于字节跳动自身的技术栈实现更丰富的服务化能力,并对外输出火山引擎的TOS云服务产品。

从2016年字节跳动使用纯开源软件做对象存储,到2021年对外输出火山引擎对象存储的服务产品,针对自身的发展,当初火山引擎TOS开始自研时团队成员才20多人,到目前为止团队成员发展到了上百人,随着TOS商用对外提供全面服务,自研团队与体系也日臻完善。

TOS诞生于字节跳动,服务于字节跳动,成长于字节跳动,那么,问题又来了,在落地自身业务应用经历数年时间打磨,TOS对象存储的发展遭遇到哪些挑战,又是如何解决,同时对TOS继续迭代创新带来了哪些影响和帮助呢?

稳定性是决定存储好坏的基础,在2017年做自研之初,火山引擎TOS首要挑战便是解决高稳定性的问题,然而从零开始自研谈何容易。与此同时,业务诉求越来越多,对稳定性要求越来越高,从事前、事中、事后几个环节着手,TOS不断完善自身测试能力、可观测能力、快速恢复能力、容灾能力等稳定性体系,从最开始的业务稳定性全靠运气到现在的稳若磐石,为外部客户业务和集团业务的快速发展保驾护航。

字节跳动业务发展很快,最明显的刚需就是要实现对象存储的高扩展性支撑。在2019年火山引擎TOS针对高速增长的数据量挑战,在自研体系里面实现了存算分离的技术。存储部分采用全局元数据命名空间与数据集群池化技术来解决故障域隔离和无限横向扩展问题。计算部分积极拥抱云原生,通过k8s来统一管理计算资源,并和通用在离线计算资源实现统一调度,让计算部分也可以按需快速扩展。凭借存储和计算资源管理和调度的技术先进性,保证TOS在应对字节业务数据量井喷式增长以及各类大促活动的流量洪峰等挑战时游刃有余。

稳定性与扩展性得以突破之后,紧接着便是存储性能的挑战,尤其针对小文件应用场景的支撑其挑战更为突出。也是在2019年前后,火山引擎针对元数据、RPC、软件协议栈等方面做了大量技术攻关工作,目的只有一个,如何更好地实现TOS的存储性能目标。

云存储没有最好,只有更好。在稳定性、扩展性、性能方面有所建树之后,面向to B行业的TOS商用,性价比的挑战随之即来。唯有技术迭代的不断创新,才能更好满足云用户在对象存储上的性价比需求。TOS通过存储密度提升、计算资源出让、存储利用率极致提升、智能分层、带宽流量全域智能调度等技术的不断创新,使得存储和带宽等性价比大幅度改善,从而能更好的满足云用户在对象存储上的性价比诉求。

在每一次重要的考验中,火山引擎TOS团队都迎难而上,唯有千锤百炼,通过字节跳动众多业务应用的自身打磨,才将TOS锻造得炉火纯青,与业界其他云存储服务相比,别有况味。

02

「做公有云服务」

对象存储必不可少

事实上,对于所有的公有云厂商而言,对象存储缺失不可,有两个重要的原因。

一是,市场发展使然。在云存储领域,企业云存储占比最高无论是全球还是中国都超过了云存储整体市场90%左右。同时,来自全球多个分析机构预测显示,对象存储的年复合增长均超过了文件与块存储的增长速度。Gartner分析指出,到2025年,全球60%的非结构化数据存储容量将按软件定义方式来部署,而对象存储在其中将担当十分重要的角色。

之前,看到国外分析机构一组数据显示,全球云存储市场规模到2030年预计将达到近4.5万亿美元,相当于约合人民币31万亿元,年复合增长率超过20%左右。

实际上,国内的云存储市场规模增长速度更为迅猛。当前,数字中国建设正在新兴技术与政策的推动下不断加快,其中对于基础设施的需求也将获得高速增长,特别是来自5G、人工智能、边缘计算、物联网、工业互联网等创新技术驱动,很大程度上促进云存储市场规模呈现出逐年连续高速增长的态势。

全球云观察分析认为,中国的云存储市场规模年复合增长速度超过全球平均水平,到2025年有望增长达到1500亿元左右,年复合增长率超过30%左右。其中在云上的对象存储增长速度比块存储、文件存储来得更为迅猛。

二是,技术创新使然。作为火山引擎存储&数据库产品负责人,杨浩分析指出,对象存储承载了公有云的许多基础服务支持,比如包括各业务线产品运行时依赖、ECS和容器镜像服务、存储和数据库备份等关键数据,一旦少了对象存储支撑,云就像无本之木,无源之水一样,无法发展。

在杨浩看来,最初对象存储因云而生,针对云上新型应用有着更好的对接。比如将对象存储作为互联网C端应用的存储支撑,接口简单且无限扩展,用户不需要理解存储的细节,只需要专注于自身业务逻辑即可,便于云用户快速构建各类应用系统。同时,对象存储也是作为数据湖统一存储底座的首选,打通云上云下各类数据分析和应用系统,数据做到透明传递,无需在多个系统间进行重复拷贝,对数据分析等应用成本、性能、效率上必然带来直接的有力支持。

因此,现在发展对象存储,也将因云而兴。对于所有公有云厂商而言,在很大程度上,对象存储的技术先进性对其云服务品质与用户体验有着直接影响。作为一个底座型的云产品,对象存储如果做不好,那么云也必然做不好。

同时,从整个云存储发展来看,对象存储与文件存储、块存储、数据库都有着积极的融合发展趋势,这也是云用户业务发展的应用需求所驱动。

火山引擎的对象存储、文件存储与块存储都构建在自研的分布式存储引擎上,基于统一的存储引擎,在针对弹性块存储EBS、文件存储vePFS/NAS在向TOS进行快照或数据备份时,就可以做数据传输层面的offload,避免过多的流量放大,从而更加敏捷高效。其次,TOS针对火山引擎数据库全量备份、binlog备份等做了专门的性能和成本优化,对于云用户而言更显经济性。更为重要的是,在面对当前火热的AI应用场景时,TOS与文件存储的有效联动,vePFS分布式文件系统解决存储性能挑战,TOS对象存储让成本更经济,为云用户带来“1+1大于2”的应用体验。

当然,火山引擎TOS虽然不是业界最早的产品,但是TOS基于云原生技术架构做技术演进,利于TOS与火山引擎块存储、文件存储形成更好的融合。况且火山引擎从自研TOS之初就聚焦云原生,拥有云原生技术架构的“先天性”根基,对TOS后续成功带来了非常重要的发展意义。

由此而言,作为字节跳动对外提供云服务的重要基座,就如其当初设定Tinder Object Storage作为对象存储英文全名一样,Tinder有着“火种”的寓意,以TOS星星之火,成就火山引擎云服务燎原之势。在火山引擎的整体云服务业务中,TOS对象存储的战略发展意义也就十分明显了。

03

「追求“四高”」

要做就做到极致

随着数字化转型与升级的加快,云用户在选择对象存储时,往往对高扩展性、高可靠性与高安全性有着越来越高的要求。火山引擎在TOS的多年演进过程中,形成了一套适合时代需要的发展价值观,即强调“一切以用户需求为中心”的云创新,突出云用户的价值体现。

从2017年开始字节跳动自研对象存储产品,通过时光相册、今日头条、西瓜视频、抖音等多款应用的大规模实践和打磨,相关技术和架构不断优化升级,目前已经迭代到第三代架构。这一切也成就了TOS的高扩展性、高可靠性与高安全性。

火山引擎对象存储TOS技术架构图

在满足用户大规模海量存储需求上,通过自研分布式对象存储技术,TOS单桶支持无限对象的存储能力,存储与管理海量数据可以发挥出应有的优势。比如火山引擎曾承接了2021春节抖音拍视频领红包、2022世界杯赛事直播等热门活动,在字节跳动内部已经部署万台规模的对象存储。目前TOS可以轻松应对数十EB的海量数据存储,数Tbps和数千万QPS的大流量访问。

在保障用户最核心价值的数据安全性和可靠性上,TOS实现了多层级的安全防护和可靠性设计机制。一方面是防止数据被”偷”,TOS设置了全面的访问控制策略,对所有存储桶和对象访问权限都有ACL设置,按需进行很细粒度的权限控制,连接均支持SSL加密,并进行密钥托管,系统会对访问用户进行密钥检查,做身份鉴权。

另一方面是防止数据"丢",追求企业级的高可靠性,TOS要做就做到极致,在满足用户确保硬件失效时的数据高持久性上,TOS数据可靠性可以达到高标准的企业级可靠性11个9,即99.999999999%,TOS采用分层的可靠性设计原则,从跨Region复制、多AZ LRC冗余,到AZ内网络和机架冗余、跨存储节点EC,再到存储节点内的全链路CRC、硬盘故障预测、后台数据校验和快速自动修复,全方位的可靠性设计保障用户数据稳若泰山。

当然,对于更高级别的数据安全需求,通过TOS跨地域的数据复制技术,也可以实现数据异地容灾的保护。

虽然TOS对象存储在高扩展性、高可靠性与高安全性上有了越来越好的表现,但是中国的云用户却越来越看重“性价比”。为此,火山引擎进一步升级存储智能分层,带给了大家更优越的“对象”体验。

当然,存储分层一直都是存储业界重要技术的聚焦点,无论是传统企业级存储厂商Dell EMC,还是硬盘厂商西部数据、希捷科技,或者是公有云厂商,都在存储分层这个技术方面有所聚焦,因此多家友商在多年前就已经聚焦了存储分层,那么针对TOS最新升级的智能分层技术,有哪些特别之处?并且可以为用户带来哪些直接的价值?

就此,据火山引擎存储&数据库产品负责人杨浩介绍说,火山引擎的对象存储TOS智能分层存储是一种能够根据策略自动识别用户数据的访问模式,并自动将存储对象在不同的存储层级间进行移动分层的存储类型。TOS智能分层提供更多的分层层级、同时不需要用户做配置,即开即用,从而达成成本优化与存储性能的均衡,并提供更好的易用性。

纵观业内,你也分层,我也分层,对于普通的智能分层大部分厂商都可以实现,但是火山引擎对象存储TOS的智能分层更为精细化,覆盖规格更全,包括了标准、低频、归档闪回访问层,自动监测数据的访问模式,将数据自动移动到成本最优的存储分层,进而降低成本,满足当前许多云用户在业务运营上的精细化需要。与此同时,在分层策略上表现更智能,可以根据访问频率、生命周期等多种策略进行存储分层,并且归档读取无等待时间,实现对业务层完全透明的机制,更值得一提的是无数据取回费,不会产生额外费用。

在实现对象存储的成本经济性上,火山引擎TOS服务,针对连续30天不访问的对象数据,将其从标准层自动转为低频层,相比标准访问层降低19.1%成本。针对连续90天不访问的对象数据,会自动归档到闪回层,相比标准访问层降低66.6%成本。假如未来某个时间访问这些低频层、闪回层的对象数据,也会自动转到标准层,业务无感知,即时可读无需等待解冻,对于云用户的实际应用带来更高效的存储体验,大大节省了解冻等待的时间成本。

全球云观察分析认为,通过升级存储智能分层,火山引擎TOS对象存储的高性价比带给广大云用户看得见的实惠。从而,也抬升了火山引擎云服务的整体水平,对后续行业格局的变化带来重要的影响与发展意义。

小结

「做更好的云存储」

做更美的对象存储

“云存储没有最好,只有更好。”要把对象存储做得更好,自然少不了为云用户解决运维与迁移的“麻烦事”,如何将存储的累活变成轻松活,对此火山引擎不仅推出了为用户打造的更加贴身的智能运维服务,同时针对存储迁移的热点问题,目前火山引擎有专门针对多个公有云数据的存储迁移服务,通过简单易懂易操作的用户指南,将友商云的数据迁移到火山引擎对象存储TOS。

很显然,对象存储不仅要实现“四高”,而且还需要让用户的迁移实战变得更轻松,让TOS更易用、更好用。

 

做公有云服务,不仅要做好存储,更要做好对象存储。火山引擎的存储服务已经全面覆盖对象存储、块存储、文件存储、数据备份、数据容灾、以及数据传输与边缘处理多个方面,云用户可以按照自己具体应用需要进行灵活选择。

从零到一,火山引擎从开源趟过许多坑,到自研TOS自用,然后再对外商用,一步一步走来,背靠字节跳动业务实践的长期打磨,为云用户的对象存储需求带来了更多的选择。多一份选择,多一份收获,就看云用户如何选择了。

当然,面对千亿规模的云存储市场,火山引擎必然也会进一步加速发展,下一次TOS对象存储将会有哪些新的迭代升级,值得期待一下。

- END-

欢迎文末评论补充!

【全球云观察 | 阿明观察 |科技明说】专注科技公司分析,用数据说话,带你看懂科技。本文和作者回复仅代表个人观点,不构成任何投资建议。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KingbaseES V8R6运维案例之---MySQL和KingbaseES字符串排序规则对比

案例说明: 相同数据排序后查询,在MySQL和KingbaseES下得到的排序顺序不一致,本案例从MySQL和KingbaseES的排序规则分析,两种数据库排序的异同点。适用版本: KingbaseES V8R6、MySQL 8.0 一、MySQL的排序规则1、排序规则…

各种预训练模型的理论和调用方式大全

诸神缄默不语-个人CSDN博文目录 本文主要以模型被提出的时间为顺序,系统性介绍各种预训练模型的理论(尤其是相比之前工作的创新点)、调用方法和表现效果。 最近更新时间:2023.5.10 最早更新时间:2023.5.10 BertRobe…

上海亚商投顾:沪指缩量调整跌超1% 新能源车产业链掀涨停潮

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 大小指数今日再度分化,沪指低开低走,午后一度跌超1.5%,创业板指则拉升涨超1%&a…

nodejs安装和环境配置-Windows

0.安装过程中遇到的常见问题 访问:https://blog.csdn.net/weixin_52799373/article/details/125718587?spm1001.2014.3001.5502 1.下载node.js 下载地址: https://nodejs.org/en/ 2.安装 2.1 安装 其实就是无脑下一步,第三步的时候可以选择自定义目…

springboot配置文件加载顺序, java启动参数优先级

搜索: "spring boot 外化配置" Spring Boot Reference Guide Spring Boot 中文文档 参考手册 中文版 SpringBoot中配置文件加载位置与优先级_apllication 配置文件项目启动时加载参数_流烟默的博客-CSDN博客 SpringBoot的外部化配置最全解析!_广州建站小戴BOTAO博…

k8s之HPA(Pod水平自动伸缩)

1.hpa介绍 HPA是根据指标来进行自动伸缩的,目前HPA有两个版本–v1和v2beta HPA的API有三个版本,通过kubectl api-versions | grep autoscal可看到 kubectl api-versions | grep autosca autoscaling/v1 autoscaling/v2beta1 autoscaling/v2beta2 查看使…

Uboot源码目录分析

在分析uboot源码之前一定要在Ubuntu中编译一下uboot源码,因为编译过程会生成一些文件,而生成的这些恰恰是分析uboot源码不可或缺的文件。 arch文件夹 存放和架构有关的文件,我们现在用的是ARM芯片,所以只需要关系arm文件夹即可 …

2.是人就能学会的Spring源码教学-Spring的简单使用

是人就能学会的Spring源码教学-Spring的简单使用 Spring的最简单入门使用第一步 创建项目第二步 配置项目第三步 启动项目 Spring的最简单入门使用 各位道友且跟我一道来学习Spring的最简单的入门使用,为了方便和简单,我使用了Spring Boot项目&#xff…

linux CentOs 安装 mysql8.0.30

心酸历程。。。 网上的各种教程都有各种bug,安了三个小时终于安好。现在奉上我的宝典秘籍。 第一步,去mysql官网下载,然后将下载的tar包放到linux里面,最好专门创建一个目录来存放,我放到了/usr/local/src的mysql目录下…

基于51单片机的简易电子秤

首先看看题目要求: 1.方案论证 (1)压力传感器的论证与选择 方案一:采用惠更斯电桥,当电阻应变片承受载荷产生变形时,其阻值将发生变化。从而使电桥失去平衡,产生相应的差动信号,但…

Jenkins入门系列之Gitlab账号登录

目录 背景步骤1. 安装插件2. Gitlab 配置3. Jenkins 配置4. 验证 背景 版本 Jenkins Version:Jenkins 2.403Gitlab Version: Gitlab 15.6部署环境:群晖NAS Docker 部署JenkinsGitlab Jenkins 默认使用的是自带的数据库,支持LDAP&#xff0…

【C++】-类和对象之初始化列表(explicit的简单介绍)(下)

💖作者:小树苗渴望变成参天大树 ❤️‍🩹作者宣言:认真写好每一篇博客 💨作者gitee:gitee 💞作者专栏:C语言,数据结构初阶,Linux,C 文章目录 前言 前言 经过前面的好几篇博客,大家应…

SpringSecurity自定义实现手机短信登录

SpringSecurity自定义登录验证-手机验证码登录 其实实现原理上跟账号密码登录一样的 1、自定义短信验证Token 定义一个仅使用手机号验证权限的鉴权Token,SpringSecurity原生的UsernamePasswordAuthenticationToken是使用username和password,如下图 pr…

向量时钟算法

向量时钟不仅同步本进程的时钟值,而且还同步已知的其他进程时钟值 分布式系统中每个进程Pi保存一个本地逻辑时钟向量值VCi,VCi(j)代表进程Pi知道的进程Pj的本地逻辑时钟值 初始化VCi向量为[0,…]进程Pi每发生一次事件,VCi[i]加一进程Pi给进…

应付模块无法关账问题 APP-AR-11332 您必须在关闭此期之前过账其中的所有事务处理

问题描述 AR关账时遇到了这个问题,根本原因是,因为用户录入另一个贷项的发票,做过核销,后来又取消了核销,未创建会计分类,未传送总,不想要这个贷项发票了,前台删除不了,…

经验分享,api 接口设计原则有这几条

结合我多年在 API 行业摸爬滚打的经验,我总结了一下,API 接口设计原则有这几条: 接口设计应该简单易用,易于理解和使用; 接口设计应该支持多种格式,如JSON、XML等; 接口设计应该支持多种请求方…

渲染速度慢,使用云渲染会快多少?

设计师在使用软件制作效果图和动画师在制作动画时,其中有一个比较关键的环节就是渲染成像,渲染的效率主要跟使用的电脑显卡或CPU性能有关,如果性能太低,渲染的速度会很慢,拉长了项目整体的交付周期,云渲染速…

Vite + Vue3 实现前端项目工程化

Vue3 发布至今,周边的生态、技术方案已足够成熟,个人认为新项目是时候切换到 Vite Vue3 了。今天就给大家操作一下这种技术方案实现前端工程化。 1. 初始化项目 通过官方脚手架初始化项目 第一种方式,这是使用vite命令创建,这种…

FM33A048B SPI1/2

概述 芯片的2 个SPI 接口模块SPI1 和SPI2,可配置为主设备或从设备,实现与外部的SPI 通信。 特点: ⚫ 全双工3线串行同步收发 ⚫ 2路独立通道 ⚫ 主从模式 ⚫ 可编程时钟极性和相位 ⚫ 可编程比特速率 ⚫ 从模式最大频率为FAHBCLK/2 ⚫ 传输结…

Hello算法——笔记

文章目录 1 引言算法数据结构算法和数据结构的关系 2 复杂度分析时间复杂度空间复杂度 3 数据结构数据与内存数据结构分类 4 数组与链表 参考资料 1 引言 算法 算法是一组用于解决特定问题或执行特定任务的明确定义的计算步骤或指令集合。算法可以被视为一种解决问题的方法或…