Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >何时使用Serverless,何时使用Kubernetes

何时使用Serverless,何时使用Kubernetes

作者头像
February
修改于 2018-11-26 03:12:41
修改于 2018-11-26 03:12:41
1.9K0
举报
文章被收录于专栏:技术翻译技术翻译

我经常被问到的一个问题是:我应该使用Serverless还是Kubernetes来构建云原生应用程序?两种计算选项都有利有弊,这取决于您的需求,您应该选择哪种选项。

Ansgar Schmidt和我将在下周就这个话题举行会议。我们仍在最后确定幻灯片,但已完成幻灯片,总结了何时使用Kubernetes以及何时使用Serverless

请注意,我们不会将Serverless与容器进行比较,而是将其与Kubernetes进行比较。使用开源Serverless平台OpenWhisk,您也可以使用Docker容器构建功能。我们也没有将一个简单的Serverless功能与Kubernetes上的复杂微服务应用程序进行比较,而是将具有类似复杂性的应用程序进行比较。

如果使用Serverless......

您有可变和不规则的工作量

一个好的Serverless场景是一个本地网站,在夜间没有太多或任何流量。由于Serverless平台仅在代码运行期间收费,因此可以显着降低成本。较长的应用程序不执行任何操作,Serverless更便宜的可能性越大。

然而,Serverless并不意味着降低成本,例如当您的应用程序需要全天候运行时。还可能存在一些隐藏成本,例如API管理的额外成本或测试的函数调用成本。

您需要首次体验开发人员生产力

如果您既没有Serverless也没有Kubernetes的经验,那么在Serverless平台上运行第一个Hello World应用程序会更容易。使用Kubernetes时,通常需要等待一段时间来创建群集,配置Kubernetes以获取公共IP地址,然后部署第一个容器。使用Serverless平台,您只需使用云提供商提供的Web工具即可在几分钟内开始使用。

但是,Serverless并不总是比Kubernetes更容易。使用一堆函数构建和管理Serverless应用程序比只有一个容器的简单Kubernetes应用程序更难。实际上,将Kubernetes用于更复杂的应用程序可能更容易,因为该平台更加成熟(请参阅下文了解更多信息)。

您需要固有的自动扩展性

Serverless的强大功能之一是功能的固有自动可扩展性,因为作为开发人员,您无需采取任何措施来利用此功能。使用Kubernetes,您还可以使用pod甚至节点的自动可扩展性,但它需要一些配置并且速度稍慢,因为只有在某些规则适用时才会触发此过程。

但是,Kubernetes可能提供比某些Serverless平台更好的可扩展性功能,因为Kubernetes更加成熟,并且在不同的区域之间提供甚至HA(高可用性),这并非所有Serverless平台都提供。

如果使用Kubernetes......

您需要成熟的部署选项

我不知道任何支持A / B测试的Serverless平台,我认为这是构建云原生应用程序的关键功能。此外,Kubernetes应用程序的监控功能更加成熟。例如,使用Istio,您可以看到微服务的执行时间,哪些服务调用了哪些其他服务以及是否存在瓶颈。Serverless平台还没有真正拥有它,并且最近才开始添加Amazon Step Functions和OpenWhisk Composer等功能来定义功能之间的流程。

但是,如果您的应用程序相当简单,可能只有一个函数来提供API,则Serverless可能是更好的选择,因为部署会更容易,并且各种Serverless平台都会提供对单个函数的监视。

您需要最小的响应延迟

使用Serverless平台时,由于需要初始化代码,因此第一次调用函数需要一些时间。例如,在OpenWhisk中,您可以使用Docker容器,这些容器可以运行需要一些时间才能启动的Java应用程序。如果您需要快速可靠的响应时间,则应使用Kubernetes。

最近,OpenWhisk等Serverless平台通过大量缓存得到了显着改善。在第一次冷启动后,您不应再看到这些更长的响应时间,这可能足以满足您的应用需求。

您希望在没有资源限制的情况下实现高性能计算

Serverless平台通常具有某些资源限制,例如,功能不能使用超过512 MB的RAM,并且不能超过5分钟。如果这些限制对您的应用程序来说过于严格,则需要使用Kubernetes。

但是,有时可能会在较小的功能中分解您的应用程序。在某些情况下,甚至可能需要这样做,例如将现有的单片应用程序移动到云中时。

结束思考

我认为观察这些技术今年将如何演变将会很有趣。我听说过几个让Kubernetes变得更容易的活动以及一些使Serverless更加成熟的活动。

原文标题《When to Use Serverless, and When to Use Kubernetes》

作者:Niklas Heidloff

译者:February

不代表云加社区观点,更多详情请查看原文链接

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2021年Kubernetes 5大预测
Kubernetes在许多企业进入一个新的成熟阶段,接下来会发生什么?让我们看看对Kubernetes后续发展有重要意义的五个问题,以及对团队的建议。
灵雀云
2021/01/28
4020
为什么很多工程师不了解Serverless
很长一段时间没有更新,因为前阵子一直在研究云原生相关的项目,包括比较热门的Serverless,我们主要在关注Knative。后面我们会更新不少Knative的文章,还会上线Knative中文社区,并把它作为我们的云原生社区,把大家聚集起来,共同研究云原生技术。
云原生
2021/05/31
3450
为什么很多工程师不了解Serverless
蓄势待发的Serverless,需要关注这四个要点丨科技云·视角
无服务器架构(Serverless),与容器、微服务共同成为云计算近期最热门的技术领域和众多机构预测的未来趋势之一。
科技云报道
2022/04/14
2240
基于Kubernetes优先的方法扩展数据平台
Kubernetes 运算符——管理有状态应用程序的特定于应用程序的控制器——可以使数据库管理成为一种可行甚至更优的选择。
云云众生s
2024/12/14
1340
猫头虎分享: 探索软件系统架构的革新之路
在这篇博客中,我们将深入探讨软件系统架构的发展与革新。从单体应用到微服务,再到云原生架构,每一步都标志着技术的进步和思维的转变。对于软件工程师、架构师以及技术爱好者而言,这篇文章将提供关键的知识点和技术细节,帮助理解和把握架构设计的脉络。涵盖了微服务、容器化、DevOps、云计算等多个关键词,本文将是你理解软件架构演变的完美指南。
猫头虎
2024/04/07
1700
猫头虎分享: 探索软件系统架构的革新之路
云vs本地:哪个更适合您的Kubernetes集群?
了解 Kubernetes 托管选项的优势和挑战,以便做出明智的决策,选择适合您的环境。
云云众生s
2025/02/03
1030
如何为 Kubernetes 构建合适的平台
本文翻译自 How to Build The Right Platform for Kubernetes 。
云云众生s
2024/03/27
1530
Serverless安全研究 — Serverless概述
在“云”的概念还没有产生之前,开发者购买物理机,并在其上部署应用程序,企业将购买的机器放置数据中心,其网络、安全配置均需要专业的技术人员管理,在这种高成本运营模式下,虚拟化技术应运而生。
绿盟科技研究通讯
2020/09/08
2.2K0
Traefik和Nginx的详细对比
在这篇对比文章中探讨 Traefik 和 Nginx 的关键差异,帮助您为需求选择合适的反向代理服务器。
云云众生s
2024/03/27
2.6K0
Traefik和Nginx的详细对比
OpenShift 与 Kubernetes的关键区别
在快速发展的 DevOps 和云原生应用程序领域,容器编排已成为管理和部署可扩展应用程序的关键组件。该领域的两个主要参与者是 OpenShift 和 Kubernetes。但它们有何不同?您应该为您的组织选择哪一个?让我们深入了解这两个平台的复杂性,以帮助您做出明智的决定。
用户5166556
2024/06/11
3030
OpenShift 与 Kubernetes的关键区别
从Docker到Kubernetes:探究云原生的本质
云原生(Cloud Native)是一种软件架构思想,旨在支持应用程序的弹性、可扩展性、可靠性和可移植性,使应用程序更好地运行在云环境中。
coderidea
2023/05/17
3580
从Docker到Kubernetes:探究云原生的本质
Kubernetes 值得吗?
我将直言不讳:在仔细研究与 Kubernetes 相关的总体拥有成本 (TCO) 时,更传统的开发方法仍然具有明显的优势。在我们结束另一场 KubeCon 时,也许是时候深入研究一下了。
云云众生s
2024/03/28
1040
在 Kubernetes 之前学习 12 Factor 应用
翻译自 Learn 12 Factor Apps Before Kubernetes 。译者在团队里也一直把 12 factor 作为 Kubernetes 学习的必修前导课。译者和这个作者心有戚戚焉,确实很想告诉别人,这个很重要,但不好表达,而这个 12 factor 理论说出了我们很多的想法。不管使用何种管理工具,12 factor 都可以让云原生之旅更顺畅。
云云众生s
2024/03/27
1590
应用 | 企业使用容器和 Kubernetes 构建应用程序需要考虑什么?
虽然容器已经诞生了10多年,但在过去几年中,容器的普及和采用率仍然不断增长。根据Gartner的调查,到2025年全球超过85%的企业将在生产中运行容器化应用,这比2019年的不到35%有了大幅增长。
CloudBest
2020/10/23
4500
应用 | 企业使用容器和 Kubernetes 构建应用程序需要考虑什么?
CloudBluePrint-Chapter 1.7 : 云上应用技术架构-函数计算、Serverless、小程序
FaaS(函数即服务)、Serverless、小程序和弹性云计算的诞生可以归因于云计算发展的趋势和应用架构的演变。
行者深蓝
2023/09/01
4600
2020年值得关注的DevOps趋势!
以下是2020年在DevOps中您可以期待的内容。Netscape的创始人马克•安德森(Marc Andreessen)很久以前就说过,软件正在吞噬整个世界。他还表示,如今每家公司都是软件公司,软件公司已经准备好占领经济的大部分领域。
用户6543014
2019/12/17
8970
2020年值得关注的DevOps趋势!
备受云厂商们推崇的 Serverless,现在究竟发展到什么水平了?
作者 | 舒超 Serverless 是什么 根据 CNCF 的定义,Serverless 的概念是指构建和运行不需要服务器管理的应用程序。它描述了一种更细粒度的部署模型,在该模型中,应用程序被捆绑为一个或多个功能,被上传到一个平台,然后根据当前所需的确切需求执行、扩展和计费。所以首先需要明确的一点是,Serverless 并非指托管和运行我们的应用程序不再需要服务器,而是指从前耗费研发和运维人员无数精力和资源的 CI/CD、服务器配置维护更新、IT 资源容量的规划和伸缩等工作,被 Serverless
深度学习与Python
2023/03/29
1.1K0
备受云厂商们推崇的 Serverless,现在究竟发展到什么水平了?
现在,Serverless 真的已经成熟了吗?
每年,软件工程行业都会冒出各种新工具和新趋势。由于我已经研究一段时间了,我想是时候开始开发一个像样的雷达工具,来发现哪些趋势将产生持久的影响,而哪些趋势将虎头蛇尾。可以肯定的是,我曾做过一些令人尴尬的预测,例如和我的一个朋友打赌 Git 会输给 Mercurial,因为 Git 的用户功效学太差了。但我们都知道结果如何。
深度学习与Python
2020/09/23
7560
现在,Serverless 真的已经成熟了吗?
无服务器的十大属性
无服务器计算或函数即服务(FaaS)正在不断,亚马逊正在通过将Lambda扩展到边缘设备和内容分发网络来推动创新。IBM, Microsoft和Google在公共云中拥有自己的FaaS产品,有超过六个开源无服务器项目正在引起开发人员的注意。预计今年将出现这一细分市场中出现的新平台。
lyb-geek
2022/03/10
1.6K0
深入浅出Serverless:3 Serverless的实现
AWS Lambda、Microsoft Azure Functions及Google Cloud Functions支持的开发语言
yeedomliu
2019/09/27
3.6K0
相关推荐
2021年Kubernetes 5大预测
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档