当前位置: 首页 > 科技观察

无服务器计算与容器技术:您应该使用哪个?

时间:2023-03-20 20:27:05 科技观察

与托管在传统服务器或虚拟机上的应用程序相比,无服务器计算和容器都使开发人员能够以更少的开销和更大的灵活性构建应用程序。开发人员应该使用哪种架构取决于应用程序的需求,但无服务器应用程序更具可扩展性,而且通常更具成本效益。在本文中,我们将审视争论:无服务器计算与容器,并提供我们对这两种模型的见解。NewRelic去年进行的一项研究显示,70%的企业已将大量工作负载迁移到公共云。在这一组中,39%使用无服务器,40%使用容器,34%使用某种容器编排。这说明了无服务器技术的采用如何与容器的采用相匹配,但不太清楚的是在生产应用程序中的使用范围。什么是无服务器计算?无服务器是一种开发方法,它用按需生成并在使用后立即消失的计算能力取代长时间运行的虚拟机。无论名称如何,运行应用程序时肯定会涉及到服务器。只是您的云提供商(无论是AWS、Azure还是GoogleCloudPlatform)管理着这些服务器,而且它们并不总是在运行。相反,您配置触发无服务器功能执行的事件,例如API请求或文件上传。当该操作完成时,服务器将空闲,直到请求另一个操作,并且不会为空闲时间计费。换句话说,无服务器计算是操作系统之上的另一种抽象,它提供了一种以许多较小的部分运行应用程序的机制。它提供功能或模块来执行可按需执行的应用程序任务,而无需担心底层操作系统和硬件基础设施。这些任务通常是短暂的,并根据应用程序的要求定期运行。与云计算需要物理硬件的方式类似,无服务器计算需要服务器来执行任何应用程序。采用无服务器模型可以降低成本、加快部署、提高可扩展性并减少过度劳累的IT团队的管理时间。Serverless也非常适合支持各种微服务,深受DevOps开发人员的欢迎。无服务器计算的好处包括:降低成本无服务器管理简化可扩展性快速部署和更新简化后端代码更快周转什么是容器?Docker认为容器是一个轻量级的、自包含的、可执行的包,其中包含运行它所需的一切:代码、运行时、系统工具、系统库和设置。容器解决了软件从计算环境中移出时运行的问题,本质上是将软件与其环境隔离开来。例如,容器允许您将软件从开发转移到暂存,再从暂存转移到生产,并且无论所有环境差异如何,它都能可靠地运行。容器不是像虚拟机那样虚拟化硬件堆栈,而是在操作系统级别进行虚拟化,多个容器直接在操作系统内核上运行。这意味着容器更轻量级:它们共享操作系统内核,启动速度更快,并且与启动整个操作系统相比只使用一小部分内存。有许多可用的容器格式。Docker是一种流行的开源容器格式,受GoogleCloudPlatform和GoogleKubernetesEngine支持。采用趋势根据多项调查和研究,无服务器和容器的采用正在迅速增长。以下是我挑选的一些亮点。Cloudability研究发现,AWS用户的容器采用率在2017年第四季度增长了246%,高于第三季度的206%。与此同时,同一项研究发现,2017年第四季度,AWS用户对无服务器的采用率增长了667%,高于第三季度的321%。ServerlessInc.最近的一项调查发现,82%的记者在2018年的工作中使用了无服务器,高于2017年的45%。超过53.2%的人表示,他们使用无服务器技术对他们的工作至关重要。无服务器公司。调查还显示,24%的受访者在采用无服务器之前对公共云的经验有限或为零。20.2%的记者在员工超过1000人的大公司工作。Logz.io的DevOpsPulse调查发现,60.71%的受访者在2018年采用了容器编排,高于2017年的42.11%。根据Rightscale的说法,无服务器是一种不断增长的云服务:开发人员应该如何在无服务器架构和容器之间做出选择?选择无服务器架构的开发人员将能够快速发布和迭代新应用程序,而无需担心应用程序是否会扩展。此外,如果应用程序没有看到一致的流量或使用情况,那么无服务器计算可能比容器更具成本效益,因为代码不需要一直运行。容器使开发人员能够更好地控制应用程序运行的环境(尽管这也需要更多维护)以及使用的语言和库。因此,容器对于将遗留应用程序迁移到云端非常有用,因为可以更紧密地复制应用程序最初运行的环境。混合方法也可以使用混合架构,一些无服务器功能和一些部署在容器中的功能。例如,如果一个应用程序功能需要比无服务器提供者分配的更多的内存,如果一个功能太大,或者如果一些功能需要长时间运行而另一些则不需要,混合架构使开发人员能够获得无服务器的好处,同时仍然使用容器来实现无服务器支持的功能。无服务器和容器也可以并排使用,而不是二选一。事实上,许多公司都通过混合方法取得了成功。他们:将无服务器用于无服务器满足他们需求的工作负载在没有容器的情况下使用容器,例如,用于以下工作负载:长期需要更可预测的性能需要比无服务器更容易实现的弹性持续大规模运行,付费-按通话定价模型变得过于昂贵结论无服务器计算和容器都为希望扩展其工作负载的企业提供了优势。