NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

何时该用无服务器,何时该用 Kubernetes?

  • 2019-01-10
  • 本文字数:1368 字

    阅读完需:约 4 分钟

何时该用无服务器,何时该用Kubernetes?

什么时候该用无服务器,什么时候该用 Kubernetes 构建云原生应用程序?


一个好的无服务器应用场景应该是在夜间没有太多或者完全没有流量。由于无服务器平台仅在代码运行期间收费,因此可以显著降低成本。较大的应用程序不执行任何操作,无服务器便宜的可能性越大。


但是,这并不意味着无服务器就可以降低成本,如果应用程序全天候运行,可能存在一些隐性成本,比如管理 API 造成的额外成本和测试函数的调用成本。

没经验,怎么选?

就听而言,无服务器和 Kubernetes 好像已经非常成熟;但就实践而言,二者还有很多成长空间,研发人员也并未达到人人普及的程度。如果既没有无服务器也没有 Kubernetes 经验,那么,在无服务器平台运行 Hello World 应用程序应该更容易。


因为无服务器只需将精力集中在代码上即可,使用 Kubernetes 则通常需要等待一段时间来创建集群,配置 Kubernetes 以获取公共 IP 地址,然后再部署容器。使用无服务器平台,只需使用云提供商的 Web 工具即可在几分钟内上手。

有经验,怎么看?

这种难易程度也是变化的,无服务器并不总比 Kubernetes 更容易。使用一堆函数构建和管理无服务器应用程序比只有一个容器的简单 Kubernetes 应用程序更难。实际上,将 Kubernetes 用于更复杂的应用程序可能更容易,因为该平台更成熟。


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


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


A/B 测试可能是构建云原生应用程序的关键功能,但无服务器平台并不具备这一点,Kubernetes 则可以。此外,Kubernetes 应用程序的监控功能更加成熟。例如,使用 Istio 可以看到微服务的执行时间,服务调用情况以及是否存在问题。无服务器平台因其自身的最大优势就是不需要操心基础设施,所以研发人员可做的操作也十分有限。


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

响应延迟对比

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


通过应用缓存,无服务器平台对响应时间做了改善。第一次冷启动后,不必再花费较长响应时间启动第二次,这可能足以满足应用需求。

高性能计算对比

无服务器平台通常具有某些资源限制,比如,功能不能超过 512 MB 的 RAM,不能超过 5 分钟。如果这些限制对应用程序来说过于严格,则需要使用 Kubernetes。有时也会在较小的功能中分解应用程序,比如,将现有单片应用程序移到云中。

结语

无服务器计算和 Kubernetes 对应不同的应用场景,也有着各自的缺点。如果是初学者,建议从无服务器计算开始,毕竟 Kubernetes 的配置过程相对繁琐。如果是企业用户,追求高性能计算、更优性能并希望运行大规模应用程序,Kubernetes 依旧是最佳选择。


参考链接:https://dzone.com/articles/when-to-use-serverless-when-to-use-kubernetes


2019-01-10 13:218590
用户头像
赵钰莹 InfoQ 主编

发布了 875 篇内容, 共 605.4 次阅读, 收获喜欢 2671 次。

关注

评论

发布
暂无评论
发现更多内容

AIGC+HR|AI时代下,企业人力管理新解法

TE智库

人工智能 HR AIGC

性能测试|JMeter逻辑控制器(一)

霍格沃兹测试开发学社

华为云CodeArts Check:带你掌握代码检查技巧,优化代码质量!

华为云PaaS服务小智

云计算 华为云 代码检查 代码检查、

PoseiSwap 治理通证POSE登录PancakeSwap,开盘涨幅超2100%

BlockChain先知

信息安全大有希望!低代码开发平台为大数据时代保驾护航

加入高科技仿生人

低代码 信息安全 信息技术

引领算力革命:低代码开发平台助力大模型时代的突破与进步

不在线第一只蜗牛

低代码 算力 算力虚拟化

性能测试|JMeter取样器介绍(三)

霍格沃兹测试开发学社

#性能测试 JMeter使用教程

MQTT 服务新趋势:了解 MQTT 多租户架构

EMQ映云科技

物联网 mqtt 多租户

性能测试|基于JMeter 完成典型电商场景(首页浏览)的性能压测

霍格沃兹测试开发学社

性能测试 JMeter使用教程

2023容器网络趋势:CNI网络插件逐渐普及,Kube-OVN受欢迎度持续攀升

York

Kubernetes 云原生 容器网络 cni 容器网络方案

PoseiSwap 治理通证POSE登录PancakeSwap,开盘涨幅超2100%

EOSdreamer111

低代码——前端进阶的必修课

伤感汤姆布利柏

性能测试|JMeter压测结果分析

霍格沃兹测试开发学社

#性能测试 JMeter使用教程

k8s部署springboot

tiandizhiguai

探究C语言中的二叉树

智趣匠

PoseiSwap 治理通证POSE登录PancakeSwap,开盘涨幅超2100%

大瞿科技

代码随想录训练营 Day07 - 哈希表(下)

jjn0703

Last Week in Milvus

Zilliz

非结构化数据 Milvus Zilliz 向量数据库 zillizcloud

性能测试|Jmeter压测脚本录制与编写

霍格沃兹测试开发学社

#性能测试 JMeter使用教程

颠覆数字化转型:探索低代码开发平台JNPF的黑科技

快乐非自愿限量之名

低代码 数字化 数智转型

FastGithub:github加速神器,解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题。

汀丶人工智能

GitHub git加速

性能测试|JMeter取样器介绍(二)

霍格沃兹测试开发学社

#性能测试 JMeter使用教程

性能测试|搭建性能监控平台

霍格沃兹测试开发学社

#性能测试

百度智能云入选北京市“算力伙伴”、“模型伙伴”!

彭飞

数字化转型与架构-规划篇|谁是需求调研的对象?

数字随行

数字化转型

瓴羊QuickBI数据门户帮助企业高效管理和展示数据,使其更加明确易懂

对不起该用户已成仙‖

瓴羊QuickBI,让企业更加清晰地管理和呈现数据

夜雨微澜

构建以数据为中心的全面预算管理系统

智达方通

数据驱动 业财融合 全面预算管理系统

模块六:拆分电商服务为微服务

家有两宝

架构实战营

晴数智慧数据集名列北京市首批“人工智能大模型高质量数据集”,入选产业创新伙伴计划

Geek_2d6073

PoseiSwap 治理通证POSE登录PancakeSwap,开盘涨幅超2100%

股市老人

何时该用无服务器,何时该用Kubernetes?_服务革新_赵钰莹_InfoQ精选文章