Serverless 入门知识

March 01, 2022

image

Serverless 是什么,它有什么优势,有什么限制,应该什么时候使用它.

Serverless 是什么

无服务器架构是一种基于事件的软件设计模式,无需处理、供应和扩展服务器和数据库。这样,企业就可以通过第三方服务运行他们的应用程序,而无需投资物理或虚拟服务器。许多处理云服务的提供商处理计算、服务器管理、编码和动态分配资源的复杂性。

在无服务的发展过程中主要有两种模式:

  • 后端即服务(BaaS)
  • 功能即服务(FaaS)

什么是 BaaS

后端即服务使开发人员能够专注于管理应用程序的前端,并让他们摆脱托管、云存储和数据库管理等后端开发任务。这样,他们就不必为服务器端活动(例如数据库管理、用户身份验证和加密)管理或编写代码。

什么是 FaaS

功能即服务是一种事件驱动的执行模型,可以执行小代码模块。当应用程序模块中发生某些事件的执行时,它会触发函数。这带来了卓越的成本效率、资源的动态扩展和简化的流程。

Serverless 有什么优势

  • 您的开发人员现在可以专注于编写代码和优化应用程序设计。
  • 您可以变得更加敏捷,获得创业创新,并拥有企业竞争优势。
  • 由于无服务器架构将业务逻辑/代码作为函数执行,因此您不再需要手动管理基础架构。
  • 具有成本效益的定价模式——按价值付费——消除了在管理内部架构方面进行大量投资的需要。
  • 故障不会影响整个应用程序开发,因为基于事件的架构使应用程序模块彼此独立。
  • 您可以更快地部署应用程序并在发布中变得更加灵活。除此之外,命令行界面还有助于在几分钟内部署代码。
  • 它使您能够构建优雅、无缝的用户体验并满足客户的需求。
  • 您可以按需和按使用情况扩展或缩小应用程序。
  • 功能即服务架构使开发人员能够创建独立的、有目的的功能,例如 API 调用。
  • 由于基于模块化、快速和较小的版本,它显着缩短了产品上市时间。
  • 您无需担心基础架构的安全性,因为云提供商会维护它。
  • 您的团队可以使用 AWS Lambda边缘等现代无服务器功能来改善延迟期。

Serverless 有什么限制

  • 长时间运行的工作负载在无服务器上可能比专用服务器成本更高。
  • 在执行函数时处理冷启动请求时,您可能会遇到延迟。但是,您可以通过发送定期请求以保持活动状态来解决此问题。
  • 您将依赖于您的提供商来提供调试和监控工具,并且对平台架构和可用性的控制有限。
  • 由于更多的功能,开发人员面临着越来越多的复杂性。忽略几个函数的粒度和它们之间的平衡会造成混乱。
  • 由于无服务器架构中的小型模块,您可能会面临部署、版本控制和其他实施问题。这在对一组部署的功能进行集成测试时提出了挑战。
  • 由于云提供商可以控制组件之间的交互,因此可能会影响系统的灵活性和定制化。

Serverless 什么场景可以使用它

无服务器架构为敏捷工作环境、资源分配自动化、可扩展性、改进响应时间等未来业务目标奠定了基础。此外,您会看到物理基础设施的运营开销和配置减少,从而为您的投资带来价值。

以下是无服务器应用程序列表,展示了您可以在哪些地方将无服务器架构集成到您的业务中:

  • 构建高延迟的实时应用程序,例如多媒体应用程序,以执行内存的自动分配和复杂的数据处理
  • 为了满足快速变化的开发需求、客户需求功能添加和其他复杂的可扩展性需求,为不可预测的工作负载提供服务。
  • 动态调整图像大小或转码视频并简化不同设备的多媒体处理。
  • 支持多语言服务集成,满足现代软件需求。
  • 使用物联网获取精确的设备状态并处理智能设备应用程序。
  • 建立安全的客户交付调度系统并帮助动态调整大小。

LRF 记录学习、生活的点滴