Kubernetes vs. Serverless并非零和游戏?

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

Kubernetes

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

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

153732192305000a309c060

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并非零和游戏?

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/678987

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。