Kubernetes vs. Serverless并非零和游戏?

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 作为令人兴奋和强大的平台,Kubernetes和Serverless完全配得上现在的地位。它们可以通过多种方式为组织提供敏捷性、可扩展性和计算性能方面的巨大提升。但是,我们很容易忘记Kubernetes提供了Serverless所没有的优势,反之亦然。

作为令人兴奋和强大的平台,Kubernetes和Serverless完全配得上现在的地位。它们可以通过多种方式为组织提供敏捷性、可扩展性和计算性能方面的巨大提升。但是,我们很容易忘记Kubernetes提供了Serverless所没有的优势,反之亦然。成功部署两者的关键是知道何时以及如何确定Kubernetes或Serverless是否提供最佳匹配。   

Kubernetes

Kubernetes本身就是为云规模的计算而设计的 ,就像谷歌那样的大规模部署。它已被改编为可以小规模使用,现在大多数大型云提供商都提供该服务——这可以解释Kubernetes在过去几年中的爆炸性增长。根据CNCF的用户调查,Kubernetes的增长远远超过了所有其他形式的编排软件。

Kubernetes已成为主流。但正如从大型机转移到客户端服务器一样痛苦,采用完全基于容器的架构仍然存在重大痛点,即使是由Kubernetes编排的架构。扩展不是即时的——你必须等待容器上线,而且仍然存在重大的管理问题。根据CNCF,存储、安全和网络问题是通过Kubernetes部署其架构的人们最关注的问题。


Serverless

Serverless架构(在很多方面只是对微服务架构的重新打包和重新镜像),正在与Kubernetes竞争,因为它允许扩展应用程序和部署,而不会出现Kubernetes甚至容器的复杂性和配置问题。

功能即服务(FaaS)Serverless架构仍然需要服务器来运行,更是事件驱动的架构,而容器化应用程序本质上仍然是相当传统的应用程序,只是分成许多较小的部分或服务。使用容器化应用程序,它永远不会完全关闭。即使没有人访问它,容器仍然需要存在并运行。你可以将它们缩小到单个实例,但它们仍然存在并仍然需要成本。

Serverless应用程序,如果没有任何功能请求,可以将成本降低到零。除非明确访问它们,否则它们基本上不再存在。这可以显著降低成本,并且缩放速度也更快。对Serverless应用程序的访问越多,它就扩展得越大。

但Serverless架构将取代容器化应用程序的想法并不合理。并非一切都可以简化为短暂的功能。某些应用程序总是需要能够在一个应用程序运行时保持数据和状态,而这不是Serverless架构的设计目的。

不过,对Serverless的兴趣却在快速增长。根据MarketsandMarkets Research的数据,FaaS市场预计将从2016年的1.88美元飙升至2021年的77.2亿美元。

然而,这不是一场零和游戏,Serverless的增长并不一定预示着Kubernetes和容器的死亡。实际上,它甚至可能扩展Kubernetes的使用,至少可以成为主要的FaaS提供商扩展其Serverless产品的方法。

Serverless架构很可能通过仅仅支付使用的服务而不支付运行一个容器或一组容器所需的开销来进一步降低成本,但是就像所有事情一样,需要进行权衡。不经常访问的Serverless代码虽然运行成本不高,但在运行时(如Java)或底层容器用于服务请求的情况下,可能会遇到延迟增加的问题。这些额外的延迟可能令人无法接受。

然而,从开发人员的角度来看,FaaS可以提高生产力和开发人员的幸福感。开发人员可以更快地将代码分成更小的部分推送到生产中,而无需配置和管理开销,从而提高生产力。

结论

应用程序开发和部署策略,都在不断发展。通常,从一个架构到另一个架构的转移标志着第一个实现的结束,但并非总是如此。至少目前,还没有一个通用的解决方案可以解决在廉价和大规模交付应用程序时遇到的所有问题。与任何部署模型一样,需要在成本、性能和可管理性之间进行权衡。

Kubernetes 以及一般的容器化有其优势,Kubernetes市场的迅速普及和发展证明了它正在满足市场需求。容器化和容器编排需求不会很快消失,但它并不总是正确的解决方案。

Serverless的FaaS填补了市场的需求,并且整体上呈现出显著增长。当然,增长并不一定意味着满足了目的,但市场倾向于自我纠正以弥补这。

Kubernetes vs.Serverless不是零和游戏。Serverless的增长并不表示Kubernetes的死亡。它们在现代应用程序的开发和部署中都发挥着重要作用。在过去的20年中,应用程序部署一直朝着更小、更易管理、更具成本效益和更开发人员友好的架构迈进,没有理由怀疑这种趋势不会持续下去。虽然Serverless可能是将应用程序抽象到其最基本组件的逻辑结论,但并非所有应用程序都能以这种方式提供。与此同时,由于持久性或可扩展性的原因,某些应用程序需要容器,需要编排和管理。

所以说,这两种技术都没有理由不继续显著增长。

本文转移K8S技术社区-Kubernetes vs. Serverless并非零和游戏?

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
消息中间件 运维 安全
C5GAME 游戏饰品交易平台借助 RocketMQ Serverless 保障千万级玩家流畅体验
游戏行业蓬勃发展,作为国内领先的 STEAM 游戏饰品交易的服务平台,看 C5GAME 如何利用 RocketMQ Serverless 技术,为千万级玩家提供流畅的游戏体验,同时降低成本并提升运维效率。
114 11
C5GAME 游戏饰品交易平台借助 RocketMQ Serverless 保障千万级玩家流畅体验
|
5月前
|
弹性计算 Kubernetes 安全
Kubernetes 的架构问题之在Serverless Container中保障应用的安全防护如何解决
Kubernetes 的架构问题之在Serverless Container中保障应用的安全防护如何解决
162 8
|
5月前
|
弹性计算 Kubernetes Serverless
Kubernetes 的架构问题之Serverless Container中不支持特权模式的问题如何解决
Kubernetes 的架构问题之Serverless Container中不支持特权模式的问题如何解决
107 6
|
5月前
|
Kubernetes 安全 Serverless
Kubernetes 的架构问题之Serverless Container中提供对外服务如何解决
Kubernetes 的架构问题之Serverless Container中提供对外服务如何解决
82 5
|
5月前
|
运维 Kubernetes 大数据
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
71 0
|
13天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
11天前
|
Kubernetes Ubuntu 网络安全
ubuntu使用kubeadm搭建k8s集群
通过以上步骤,您可以在 Ubuntu 系统上使用 kubeadm 成功搭建一个 Kubernetes 集群。本文详细介绍了从环境准备、安装 Kubernetes 组件、初始化集群到管理和使用集群的完整过程,希望对您有所帮助。在实际应用中,您可以根据具体需求调整配置,进一步优化集群性能和安全性。
51 12
|
16天前
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
30 2
|
28天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
2月前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
83 1

相关产品

  • 函数计算