热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Serverless终结Kubernetes?

戳蓝字“CSDN云计算”关注我们哦!Kubernetes是基础架构管理的终极解决方案吗?还是说我们更加需要Serverless?究竟哪种技

戳蓝字“CSDN云计算”关注我们哦!

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

作者 | Daniele Fontani

译者 | 弯月

封图 | CSDN 下载自 VCG

出品 | CSDN 云计算(ID:CSDNcloud)

以下为译文:

你觉得 Kubernetes 是 DevOps 世界里最好的技术吗?它是终极解决方案吗?当然,这个世界上没有终极解决方案,以前没有今后也不会有,技术都是瞬息万变的,我们需要时刻做好准备。我很喜欢 Kubernetes,很高兴再次讨论这个话题。Kubernetes 是当前 DevOps 世界里最热门的技术。在本文中,我们将共同探讨这样一个问题:

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

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

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

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

Kubernetes 和 Serverless 之间有什么区别?

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

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

  • 亚马逊:AWS Lambda

  • 微软 Azure:Azure Functions

  • 谷歌云:Cloud Functions

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

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

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

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

Kubernetes 有哪些优点?

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

与 Serverless 平台相比,Kubernetes 的优势如下:

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

  • 良好的控制。

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

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

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

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

Serverless 的优点是什么?

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

Serverless 会终结 Kubernetes 吗?

现如今,Serverless 还是一项很新的技术,第一版的 AWS Lambda 于 2014 年发布。同年,Docker 也迈出了第一步(第一版于 2013 年发布,但我不确定发布时是否可以投入生产环境)。而 Kubernetes 诞生于 2014 年。

因此,我们可以说,Serverless 与容器几乎同时问世,不分伯仲。从这个角度来看,Serverless 并非诞生于 Kubernetes 之后,因此我们不能认为 Serverless 将取代容器。二者只是 Web 应用程序中实现托管的两种不同的方法。也许在某些情况下,你可能更喜欢 Serverless ,而有些时候则会更喜欢 Kubernetes。那么具体选择哪个呢?不得不说这要视具体情况而定。普通的咨询师与优秀的咨询师之间的区别就在于,优秀的咨询师了解许多互补的解决方案,并能够根据实际情况找到最佳解决方案。

总结

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

英文:Is Serverless The End Of Kubernetes?

链接:https://towardsdatascience.com/kubernetes-serverless-differences-84699f370609

作者:Daniele Fontani

译者 :弯月

福利扫描添加小编微信,备注“姓名+公司职位”,入驻【CSDN博客】,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
推荐阅读:微服务架构何去何从?
疫情肆虐下,程序员用代码告诉你为什么千万不要出门!
终于!孙宇晨和巴菲特吃上 3153 万元的晚餐,还送了一个比特币!
2020年AI如何走?Jeff Dean和其他四位“大神”已做预测!
为什么说 Julia 更优于 Python?
AI 医生“战疫”在前线
真香,朕在看了!


推荐阅读
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 基于Axis、XFire、CXF的webservice客户端调用示例
    本文介绍了如何使用Axis、XFire、CXF等工具来实现webservice客户端的调用,以及提供了使用Java代码进行调用的示例。示例代码中设置了服务接口类、地址,并调用了sayHello方法。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
author-avatar
392399224_619416
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有