文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

乘云向未来 | 字节跳动基础设施云化实践

2024-11-30 03:57

关注

在11月10日-24日举办的火山引擎公共云·城市分享会上,火山引擎以“字节跳动基础设施云化实践”为题,介绍了字节跳动的基础架构技术体系和大规模实践,以及字节跳动和火山引擎的“内外统一”研发体系,展示了字节跳动在云原生领域的探索和创新。这些技术体系,不仅支撑了字节跳动内部的海量业务和高峰流量,也为外部的客户和合作伙伴提供了云服务能力,共享云时代的红利。

以下为演讲实录:

字节跳动的基础架构技术体系

字节跳动生于云、长于云,是一家云原生公司,也是云时代的原住民。自2012年成立以来,字节跳动始终坚持拥抱云计算。为什么说字节跳动是一个云时代的原住民呢?因为字节跳动广泛使用过各种云服务。

字节跳动认为多云是一个必然的趋势,因为多云可以让企业更灵活,更自主,更高效。有人可能会问,云服务不是很贵吗?其实,如果你是一家初创企业,你需要考虑的不仅是云服务的费用,还有自己购买和维护服务器的成本,以及招聘和培训系统管理员的投入。相比之下,云服务可以让你节省大量的时间和金钱,只需动动鼠标,就可以在云上获取你需要的资源。而且,你不需要担心资金链的问题,你可以按需付费,根据业务的变化,随时调整资源的规模。这些都是火山引擎可以为你提供的服务。

图片

字节跳动的基础架构技术体系,是在过去十年的业务发展过程中逐步建立和完善的,它涵盖了从系统、存储、数据库等最基本的基础设施,到云服务器、云存储、云数据库、云原生计算等高层的服务,再到研发体系的各个方面。字节跳动的基础架构技术体系,具备实时推荐、实时计算等特征,能够支持海量的业务流量和高峰压力。其中,池化存储ByteStore、统一资源调度Godel等,是字节跳动的核心技术,它们与火山引擎相结合,形成了业务无感、资源融合、技术一体的“内外统一”研发体系,更好地承载了字节跳动内外的业务发展。

字节跳动基础架构核心技术体系 - 池化存储 ByteStore

图片

火山引擎的核心技术是基于ByteStore的池化存储存储,这种存储的好处是它提供了一个底层的存储机制,让上层可以根据自己的需求来设计存储策略。基于ByteStore,可以实现数据库、文件系统、对象存储等多种应用,统一存储在一个地方。火山引擎的设计初衷是通过这样一个底层的存储基础设施,来满足性能、成本、安全性等各方面的要求。

当然,这并不容易,火山引擎也参考了很多业界的实践和开源的方案,但是发现它们都存在各种各样的问题,比如调度问题、容错问题、一致性问题等,这些问题在开源的方案中都不能很好地解决。火山引擎的所有的投入和改进都是为了提高系统的可用性,让系统能够稳定地运行,支持字节跳动的各种业务,服务广大的用户。不管是底层的存储结构,还是上层的一致性协议,其实都是非常复杂的,没有经过大规模系统的考验,是无法满足业务的需求的。

池化存储 ByteStore这项技术的发展历程也是非常惊人的,它从2018年之前开始立项研发,到2020年,这套系统只有26台服务器,2000多个PD的使用空间,但是随着业务的增长,这个规模也迅速扩大,到了2023年8月,线上的服务器已经接近十万。这既是字节跳动业务带来的压力和挑战,也是火山引擎技术成熟的动力。正是因为字节跳动的海量业务和高峰流量,让火山引擎或者字节跳动的基础设施,能够展现出它们的价值和优势。

字节跳动基础架构核心技术体系 - 统一资源调度 Godel

图片

Godel是一个基于ByteStore存储架构的资源调度系统,可以实现离线和在线的混合调度,支持海量的业务和算力需求。Godel的设计参考了业界的先进经验,比如谷歌的Borg等,但是也克服了开源方案的诸多局限,比如K8S的可用性、扩展性等问题。   

Godel的一个重要特点是,可以同时调度离线和在线的任务,而不会互相影响。这是一个非常困难的问题,很多公司都尝试过,但是效果不理想。而Godel可以做到完全的资源动态调度,根据业务的历史情况和预测,可以在30分钟内,把集团的算力弹出100万,或者在白天压缩到最小,实现真正的弹性。

Godel的另一个优势是,可以和火山引擎无缝对接,更好地承载字节跳动内外的业务发展。字节跳动拥有上百万台服务器,白天时间不需要大规模计算时,可以把这部分资源作为弹性资源,供给给客户。这样,客户就可以享受到更低的成本,更高的性能,更好的体验。当然,这里面还有很多挑战,比如资源的分配、优化、隔离等,这些都是Godel需要不断探索和解决的问题。

字节跳动基础架构核心技术体系 - 实时推荐特征&实时计算规模

字节跳动在计算机领域,经历了很多的探索和实践,也走过了很多的弯路,才能够形成今天的技术体系和能力。其中,实时推荐特征是一个典型的案例,它是字节跳动的核心业务之一,也是火山引擎的重要应用场景之一。实时推荐特征,是一个涵盖了从数据采集、处理、分析,到特征提取、存储、服务的完整的标签体系,可以根据用户的行为和偏好,实时地给用户推荐最合适的内容。

实时推荐特征的背后,是海量的数据和算力的支撑。实时推荐特征产生的实时计算规模十分庞大,有超过10万台服务器,有2万个CheckPoint作业数量,6万多个Flink作业,超过900万个Flink作业CPU总数,消息处理峰值超过120亿,这些都运行在字节跳动的原生基础设施上,是实时计算规模能力的体现。

字节跳动基础架构大规模实践    

图片

字节上云的大规模实践也是很“痛苦”的,基本上很难找到完全无损的上云方案。但是我们能做的是把上云过程中对业务的干扰尽量降低,同时把这个过程尽可能变得无缝。上云业务的必要性是什么?我们对云提出了三个最基本的要求:

那么为什么要上云?首先,业务降本。上云可以优化人力资源,让研发专注于业务创新,而非基础运维和架构。IT降本的关键是实现资源的动态弹性分配,减轻业务的成本压力,提高资源的利用率。其次,业务提效。传统数据库利用率一般不应该超过10%,但是在云上的数据库在调度平台的加持下,利用率可以到非常高而不影响业务。此外,各家组件非常复杂,一个中型业务便涉及数据库、操作系统、IDC资源、中间件、各种调度平台,而人的能力是有限的,因此,需要云服务商实现统一管理并简化兼容及迭代策略。  

上云之后可以解决哪些问题呢?上云后将统一由火山引擎提供服务。火山引擎提供标准公有云IaaS、PaaS组件,且保障资源量、SLA;每日峰值流量使用弹性云资源,不需要为空闲付出成本;账户间强资源隔离,通过火山引擎的资源调度能力,杜绝争抢问题。

通常我们建议业务在迁移过程中做流量回放,提前发现和解决问题,而不是等到上线后才发现。然而,哪怕我们做了那么多准备工作,在云下切换到云上的过程中仍然遇到了很多不可预知的问题。比如存储组件失误,业务监控劣化,上云同步组件BUG等。我们不是要给大家展示一个完美的火山引擎,而是要给大家提供一个足够好的系统,提供基础的业务能力,承诺不绑定、开放接口和业务共同成长。

上云的短期收益是显而易见的,主要体现在三个方面:

图片

长期收益是可以预估的,从基础设施的角度来看,主要体现在三个方面:

图片

字节跳动&火山引擎“内外统一”

字节云和火山引擎都是基于字节跳动的原生基础设施和技术体系,为内外部的业务提供云服务和云能力。字节云是一个整合了多个云平台的基础设施层,可以让业务无感地切换和使用不同的云资源,实现真正的多云。火山引擎则希望把字节跳动沉淀的技术和最佳实践,进行外溢输出,分享给更多的客户和合作伙伴,让他们也能够受益于云时代的红利。火山引擎秉承开放、共生、共赢的理念,希望所有客户都是云时代的原住民,用云原生的方式来重新构建技术体系,通过多云管理的能力让业务享受到弹性、高效、安全的云服务,实现真正的云原生。

图片

字节跳动的研发体系正在构建一个内部的PaaS平台,可以融合容器服务VKE、ECS等不同的资源,实现业务的无感切换。火山引擎是基于字节跳动的基础设施开发的云服务,与字节跳动的技术体系完全一致,可以为用户提供云上的最佳实践。我们的目标是建立一个统一的技术栈,通过火山引擎的接口,开放各种各样的能力。我们希望能够承接所有业务,包括自己的和外部的,随时提供海量的限制CPU的能力。

在火山引擎看来,云原生是一条刚刚开始的路,还有很多的探索和创新的空间。很多业务,只是把传统的基础设施搬到了云上,而没有充分利用云的特性和优势,导致了低效和高成本的问题。火山引擎希望能够通过自己的技术和平台,引领和推动云原生的发展,让业务能够以云原生的方式,重新考虑和构建自己的架构和服务,同时也希望能够和客户及合作伙伴,一起走在云原生的路上,共同探索和创造未来。   

来源:51CTO技术栈内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯