让 Serverless 不再神秘难懂

阅读时长 5 分钟读完

这篇文章将会从前端开发者的角度出发,开门见山地介绍 Serverless 架构的概念和优势,并且给出各大云服务器厂商的 Serverless 方案的详细对比,并最终提供一个基础性的 Demo 供读者学习和参考。

Serverless 架构

Serverless 架构顾名思义,是指不需要显式地为服务器或者容器付费管理、维护或者规划基础设施所需的硬件、网络、存储等资源。借助云平台提供的 FaaS(函数即服务)和 BaaS(后端即服务)等相关服务,前端工程师甚至全栈开发者都可以依托这些云服务,随时创建、启动、更改和删除自己的代码,并根据实际的业务需要按需付费使用。

在 Serverless 架构中,应用和服务都分散在多种云服务平台的不同角落。架构师和前端工程师不再需要花费大量时间和精力去处理一些脏活累活的服务器管理任务。他们可以将更多精力投入到业务的开发上,将更多的精力和时间花在创意和功能上,从而加速开发、迭代和推广。

Serverless 的优势

Serverless 优势主要体现在以下几个方面:

  1. 成本有效: Serverless 架构是按照用量计费,且更可控、更具可预测性的模式,它可以减少开发成本和项目迭代代价。
  2. 更原生地集成: Serverless 架构基于现有的云服务,并采用它们的认证、部署、写作、测试和监控工具,使其更好地与云平台本身集成,从而更原生地集成和优化你的应用程序。
  3. 更易于开发: 当团队使用 Serverless 架构时,他们无需处理基础架构和服务器问题,而是可以将专注力放在应用程序逻辑上。
  4. 有利于灵活性:Serverless 架构意味着您可以很容易地切换回云平台的基础架构,也可以将您的 Serverless 应用程序移植到持续运行的云服务器上。

各大云服务厂商的 Serverless 方案对比

目前市面上常见的云服务厂商中,如阿里云、腾讯云、AWS 和微软都有各自的 Serverless 方案,他们都针对不同的场景提供了不同的 Serverless 产品。不同 Serverless 产品之间的优劣和适用场景非常不同。下图给出了这些 Serverless 产品的优劣和适用场景:

一个 Serverless Demo

下面的 Demo 将在阿里云的 Serverless 上进行,首先,用户需要在阿里云上开通相关的 Serverless 服务。

将 Serverless 服务应用到你的应用程序中,我们需要做的是创建一个函数,编写应用程序代码,然后将其上传到云供应商提供的平台中。阿里云函数计算是一个 FaaS 平台,将应用程序打包为函数,并直接在阿里云上运行。

1. 开通阿里云函数计算服务

在阿里云控制台页面,搜索"函数计算",进入函数计算的管理控制台,点击"创建服务"按钮,开通并设置"函数计算服务",在后续配置中包括:

  • 指定服务名称及相关信息
  • 指定计算资源
  • 指定服务角色并授权
  • 指定安全访问配置
  • 指定托管 VPC 资源

2. 创建函数

在云控制台页面,单击左侧导航栏中的"函数计算",单击"函数"。单击"创建函数",并在下拉列表中选择模板,这里我们选择 "事件函数" 模板。根据实际情况定义函数名称,描述以及运行环境以及代码信息等。

在函数运行配置中进行如下配置:

  • 指定 CPU、内存、网络等配置
  • 指定执行POLICY、角色、服务配置等信息
  • 指定包含环境变量,副本数等

3. 编写函数代码

这里我们将一个简单的 express 应用程序打包成 serverless 函数运行在阿里云上。

-- -------------------- ---- -------
----- ------- - -------------------
----- --- - ----------
----- ---- - ---------------- -- -----

------------ ----- ---- -- -
   --------------- ---------- -----------
---

---------------- -- -- -
   -------------------- --- --------- -- ---------------------------
---

-------------- - ----
展开代码

4. 上传并运行代码

将代码打包成 zip 文件,然后上传到函数管理控制台。上传完成之后,运行函数测试。

5. 部署与测试

在代码上传完成之后,函数被部署在阿里云的 FnF(函数计算)架构上,如下图所示。RelateSend 表示函数本身的配置信息,包括事件触发器、环境变量、内存、日志备份等。

现在,在浏览器中访问"阿里云的 FnF 部署 URL/路径",我们可以看到 "Hello Serverless Express!" 的信息。

到这里你就可以在阿里云的云平台上成功部署和触发你的 Serverless 函数应用程序了。

结束语

Serverless 架构是一种新型迭代式应用程序开发范式,已经被许多企业和团队广泛采用。如果您还没有采用 Serverless 框架,希望这篇文章可以成为你对 Serverless 架构的入门,如果你已经是一个 Serverless 专家,希望这篇文章可以给你一些新的启示和提醒。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67b93fdd306f20b3a677d86d

纠错
反馈

纠错反馈