Serverless 会终结 Kubernetes 吗?

摘要:在运维的世界中,Kubernetes 是基础架构管理的终极解决方案吗?还是说我们更加需要 Serverless?究竟哪种技术能够解救运维团队?在本文中,作者将深度比较这两种争论不休的技术。

Serverless 会终结 Kubernetes 吗?

作者 | Daniele Fontani
译者 | 弯月,责编 | 屠敏出品 | CSDN (ID:CSDNnews)

以下为译文:

不好意思,用这般博眼球的标题来吸引各位的注意,对此表示抱歉。我只是想和各位一起认真反思这个大主题。你觉得 Kubernetes 是开发运维世界里最好的技术吗?它是终极解决方案吗?当然,这个世界上没有终极解决方案,以前没有今后也不会有,技术都是瞬息万变的,我们需要时刻做好准备。我很喜欢 Kubernetes,很高兴再次讨论这个话题。Kubernetes 是当前开发运维世界里最热门的技术。在本文中,我们将共同探讨这样一个问题:

Kubernetes 是基础架构管理的终极解决方案吗?还是说我们更加需要 Serverless?究竟哪种技术能够解救运维团队?不要忘记,无运维的世界即将到来。

我认为变革是技术世界里的常态。我们的祖先出门骑马,而我们乘坐飞机。这就是技术进步的象征。

在过去的几年中,技术世界发生了一次小小的革命,越来越多的应用程序从虚拟机移到了容器中,这主要归功于 Kubernetes 部署。

在这场革命发生期间,还有一个虽小却很强大的技术流行了起来,那就是“Serverless”。大多数人将其视为恶魔,而有些人则认为它是拯救开发人员于运维噩梦的“白马王子”。下面就让我们一起来看一看这究竟是机遇还是麻烦。

Serverless 会终结 Kubernetes 吗?

Kubernetes 和 Serverless 之间有什么区别?

Serverless 是一种云模型,可以帮助你摆脱服务器和基础架构的束缚。其目的是省却一定的成本,缩短产品上市的时间,减少运维与开发团队之间的摩擦。具体来说,你可以想象有一堵墙能够吸收你的代码,并负责执行代码,这堵墙就是无服务器

你提供代码,供应商负责所有其他工作。

最常见的 Serverless 实现是带有 SDK 的无状态容器,负责将你的代码集成到系统中,并根据资源的使用情况向你收费。在大多数情况下,我们只需将我们的函数上传到云(函数即服务,Functions as a Service,即 FaaS),然后通过 HTTP 调用这些函数。主流云提供商都提供了类似的云体验:

亚马逊:AWS Lambda (https://aws.amazon.com/lambda/

微软 Azure:Azure Functions (https://azure.microsoft.com/en-us/services/functions/

谷歌云:Cloud Functions (https://cloud.google.com/functions/

当然并不是真的没有服务器。只不过你看不到它们,因为它们被供应商藏了起来,并用它们来提供服务。服务器仍在运行,但是你看不到内存、CPU 或磁盘空间。你只需关注代码,将精力放在真正需要的地方。

那么,什么是 Kubernetes?你可以将 Kubernetes 视为运行分布式系统的框架,这些系统源自 Docker 镜像。Kubernetes 能够满足规模扩展的需求,还能够管理好部署以及负载平衡。Kubernetes 利用简洁且可重复使用的 YAML 文件来书写配置,部署出来的环境可轻松复制。

Kubernetes 是非常便捷的基础设施。

你只需要更改一些配置文件,就可以全权掌控容器实例(服务和 Pod)、网络以及部署。Kubernetes 的功能包括扩展规模、故障转移以及部署模式等等。

Serverless 会终结 Kubernetes 吗?

与无服务器同样,Kubernetes 可以帮助系统管理员轻松地完成复杂的体系结构。这项技术可以将费时费力的传统部署转变成智能快捷的方式。无运维的时代就要来了!

Serverless 会终结 Kubernetes 吗?

Kubernetes 有哪些优点?

Kubernetes 最大的优势在于,你可以像处理常规服务器一样处理集群,同时还无需管理物理机器。从逻辑上讲,服务器和集群组件是对等的关系。你可以把 Pod 和服务当成虚拟机来实例化。此外,你还拥有网络、存储等等。因此,你可以通过操控底层的集群来深入控制所有组件。

与无服务器平台相比,Kubernetes 的优势如下:

与过往技术有良好的兼容性。如果你正在使用容器,那么毫不费力就可以移动到 Kubernetes 上;如果你没有使用容器,那么也只需将应用程序组件容器化。

良好的控制。

供应商的限制较少,Kubernetes 就是单纯的 Kubernetes,而 Docker 容器也只是 Docker 容器而已。从理论来讲,你只需点一下鼠标即可将基础架构移动到其他地方。

可以微调每个组件的功能。

可在自建的基础设施上运行(比如可以用于开发环境,或者极端情况,或者只是你想尝试些疯狂的东西)。

成本预测。你只需支付集群资源的费用,比无服器更好预测。

Serverless 会终结 Kubernetes 吗?

Serverless 的优点是什么?

Kubernetes 在减少系统管理员工作方面迈出了一大步,但还没有减少到零。Serverless 可以从根本上避免所有系统管理组件,你唯一需要关心的就是源代码。就好像一组乐高积木,将它们拼在一起。每一块都可以单独运行,你只需要让积木块之间正确沟通即可,仅此而已。由于 FaaS 解决方案需要思想上的转变,因此似乎很难实施。在这种情况下,你可以采用一些“软”Serverless 解决方案——无需更改即可直接托管你的应用程序。Heroku 就是这类的一个解决方案,它从服务器和传统的开发运维中进行了抽象,提供了无运维、无服务器的体验,可以促进应用程序的开发,减轻所有托管负担。

Serverless 会终结 Kubernetes 吗?

Serverless 会终结 Kubernetes 吗?

现如今,Serverless 还是一项很新的技术,第一版的 AWS Lambda 于 2014 年发布。同年,Docker 也迈出了第一步(第一版于 2013 年发布,但我不确定发布时是否可以投入生产环境)。而 Kubernetes 诞生于 2014 年。因此,我们可以说,Serverless 与容器几乎同时问世,不分伯仲。从这个角度来看,Serverless 并非诞生于 Kubernetes 之后,因此我们不能认为 Serverless 将取代容器。二者只是 Web 应用程序中实现托管的两种不同的方法。也许在某些情况下,你可能更喜欢 Serverless,而有些时候则会更喜欢 Kubernetes。那么具体选择哪个呢?不得不说这要视具体情况而定。普通的咨询师与优秀的咨询师之间的区别就在于,优秀的咨询师了解许多互补的解决方案,并能够根据实际情况找到最佳解决方案。

**
**

Serverless 会终结 Kubernetes 吗?

总结

**
**

在本文中,我们分别讨论了这两种解决方案的优点,你可以根据对这两项技术的了解找到适合自身的最佳解决方案。你可以使用谷歌云等大型云服务,实现任何解决方案。你需要花点时间尝试一下这些工具,并了解它们的优点和缺点。

原文:https://towardsdatascience.com/kubernetes-serverless-differences-84699f370609

本文为 CSDN 翻译,转载请注明来源出处。

【End】

Serverless 会终结 Kubernetes 吗?

推荐阅读钉钉辟谣“老师能打开学生摄像头”;HTC 关闭官方社区;Node.js 安全版本发布 | 极客头条AI 医生“战疫”在前线2020 年 AI 如何走?Jeff Dean 和其他四位“大神”已做预测!远程办公众生相:“云”吃饭、被窝打卡、梳妆台编程 ......2020 年,云游戏将爆发?各大科技公司云游戏布局大曝光!SIM 卡交换攻击盗币猖獗,比特币从业者如何自保?Serverless 会终结 Kubernetes 吗?你点的每一个在看,我认真当成了喜欢