打破Kafka带来的瓶颈?

时间:2022-10-28 10:09:35

降低IT基础设施成本、实现数据基础设施的现代化、达到或超过服务级别目标(SLO)以及加快上市时间是当今企业的一个关键重点,实施开源软件似乎很有吸引力。然而,大规模运行开源软件增加了成本和运维复杂性。完全托管的服务可以提供帮助。

以Apache Kafka为例,这是一个开源的分布式数据流平台。随着公司意识到将数据作为数字化转型和差异化基础的价值,Apache Kafka已迅速成为现代数据基础设施的基石。

如今,超过70%的《财富》500强企业将Kafka用作其首选的实时数据流平台,帮助推动业务增长和无与伦比的客户体验。

开源软件有许多好处,但与部署和维护相关的成本可以通过多种方式体现出来。

例如,虽然Kafka可以免费下载、修改、使用和重新分发,但大规模自我管理复杂的分布式系统仍会带来巨大的运维和开发成本、代价高昂的停机和安全漏洞风险,并增加企业开支。

这些成本可分为几类:

——基础设施成本:在Kafka软件开发和运维成本之前,组织必须支付基础设施及其管理费用。为了支持不断变化的需求,需要过度资源调配,此外,在不增加计算资源的情况下,无法扩展存储。

——可扩展性成本:以合理成本进行扩展的能力是另一个挑战。随着使用量的增加,组织会因手动过程而产生高昂的扩展成本。

——FTE和运维成本:除了要求工程师为更完整的数据流架构构建组件和工具,而不是为业务构建数据流应用程序或其他高价值项目之外,还包括为管理Kafka分配工程资源。此外,雇用和留住Kafka人才越来越困难。

——停机成本:包括与意外集群故障和维护相关的成本,因为Kafka跨越了更多的用例、数据系统、团队和环境。然后,将宝贵的资源转用于解决计划外停机和违规问题。虽然这些成本很难量化,但一旦发生事故,其重要性就会突然显现出来。

弹性是云原生计算的基石之一,它允许分配不同的基础设施资源以满足业务需求。它允许企业在需要时只使用和支付所需的东西,从而使企业以更低的基础设施成本更高效地运维。

简单地说,你希望以一种不会以指数方式增加成本的方式扩展云工作负载。弹性有助于以优化成本曲线的方式适应工作负载。

更重要的是,弹性不仅关乎更快的扩展,还关乎在需要时缩减基础设施资源的能力,以确保不会为基础设施支付过高的费用。

当谈到在流式基础设施中构建弹性时,单个Kafka集群的横向扩展有其局限性。随着代理数量的增加,管理复制所需的每个代理的连接数量变得困难,并影响性能。这也增加了运维成本。垂直扩展也带来了挑战——存储的垂直扩展增加了从故障中恢复的时间。

如何解决Kafka弹性和成本问题

开源产品的最新发展是在托管服务领域。通过使开源软件的配置、监控和管理更简单、更可靠,同时节省成本和资源,它们为企业提供了更多从开源社区中受益的方式。

通过流行的开源项目(如Apache Kafka)的完全托管的服务,你的组织可以将关键资源转移到更高价值的任务上。它们通过确保立即调配集群并无缝管理维护,保证了零运维负担。此外,你也可以跳过花六到九个月招聘和培训员工的部分,而立即专注于产品开发。

更重要的是,它不涉及容量规划、数据再均衡或任何其他扩展数据基础设施的典型运维负担,确保业务运行更快、更高效,同时降低基础设施成本、维护和停机风险。

事实上,将Kafka基础设施和运营转移到完全托管的云原生数据流服务可以最大限度地减少技术负担和风险,让优秀员工专注于他们的关键项目,并通过多种方式提高总体拥有成本,包括:

——避免过度配置:Apache Kafka最佳实践传统上建议为峰值使用量配置集群。这通常比流量提前几个月甚至几个季度。利用完全托管的服务有助于将这一时间减少到几个小时,因此你可以在流量到达之前进行扩展,而不会浪费数周的未使用容量。

——提高弹性和可用性:构建生产级服务级别协议(SLA)需要花费大量精力和资源,包括工程师时间。SLA中最小的差异意味着客户停机时间会成倍增加。当代理发生故障时,完全管理的服务可确保能够自动、快速地修复或启用新代理,这对于确保集群维护其SLA并为用户提供适当数量的容量至关重要。

——一键部署:通过完全托管的服务,扩展可以自动化或通过单击按钮完成。这意味着你不需要在容量规划、网络设置、负载均衡或任何其他方面花费时间。相反,你的高报酬全职员工(FTE)可以专注于创新和构建关键任务应用程序。

将可扩展性构建到基础设施中从未如此重要,而利用云弹性已成为企业确保随时准备就绪的有力方式。

Confluent Cloud是Apache Kafka的一个完全托管的云原生服务,它的一个关键区别在于,当向上和向下调整时,弹性伸缩适用。收缩集群的速度与扩展集群的速度一样快。结果是什么?当流量减少时,你可以避免为任何多余的容量支付过高的费用。