Serverless优缺点

简介

Serverless 是一种后端架构技术,更准确的说,它应该是一种后端架构的概念或者思维。直接翻译过来叫做 "无服务",但这并不代表着应用运行不需要服务器。

Serverless,更准确的说,应该是开发者不用关心服务器的意思,是将服务器相关的工作交给云平台来 做,对于开发者来说,与服务器运维有关的所有工作都不再关心,Server(服务器)是不可能真正消失 的。

在 Serverless 架构下,开发者只专注于开发业务逻辑,所有与业务无关的基础设施(比如异地容灾、负载均衡、日志监控、文件存储等等),全部交给云平台负责,由云平台统一调度、运维。

按照 CNCF (云原生计算基金会) 对Serverless 计算的定义,Serverless 架构应该是采用 FaaS(函数即服务)和 BaaS(后端即服务)服务来解决问题的一种设计。

Serverless 的优缺点

Serverless 可以不用运维、实现自动的弹性伸缩、按量付费节省成本、更高的安全 性、易于迭代和部署。

缺点:

  • 依赖第三方服务;

    • Serverless 的能力是云厂商打包提供的,所以 Serverless 产品一定是和云厂商绑定的,又因为 Serverless 理念和具体实现之间并没有统一的标准。不同的 Serverless 产品上运行的,要想从一个云平台迁移到另一个云平台,成本非常高。
  • 开发调试困难;

    • Serverless 应用依赖的云服务,难以在本地环境搭建,要想在本地开发调试非常复杂。
  • 底层硬件的多样性;

    • 目前 Serverless 的技术实现是 FaaS 和 BaaS。我们的应用代码在 FaaS 上运行,但 BaaS 是个黑盒,其底层的硬件资源是不确定的,某些场景下,代码必须运行在某种类型的 CPU 或 GPU 上。

实践

注册并登录腾讯云

前往 腾讯云官网,注册腾讯云账号,然后登录账号。如有账号,可以直接登录。

开通云开发 CloudBase 环境

申请开通 云开发 CloudBase :cloud.tencent.com/product/tcb ,进入控制台,创 建应用:

创建云函数

上图中:

index.js 是入口文件,其中的main 函数是入口函数,函数接受两个参数 event 对象和 context 对 象。

event 对象指的是触发云函数的事件。例如:

  • 在小程序端调用时,event 是小程序端调用云函数时传入的参数;
  • 在使用 HTTP 请求的形式调用时,event 是 集成请求体。

context 对象:包含了此调用的调用信息和函数的运行状态,可以使用 context 了解服务运行的情 况。

创建触发器

FaaS 产品的一大特性是事件驱动,想要让函数代码执 行,我需要创建一个事件的触发器,我们比较熟悉的就是 HTTP 触发器了,在腾讯云它叫 "HTTP访问服务"。

等待触发器创建成功后,可以使用默认域名,访问应用函数:

相关推荐
刘卓航众创芯云服务部29 分钟前
Kimi K3复杂任务实测:我把团队最头疼的三个场景全跑了一遍
前端
cll_86924189140 分钟前
一个好看的Wordpress博客文字css样式
前端·css·ui
武子康42 分钟前
Shippy:确定性工具、会话级 Sandbox 与 Live-Data Eval(4 类收敛 + 7 步实现方案 + 6 类评测指标)
前端·人工智能·后端
糖果店的幽灵44 分钟前
langgraph分支之 - 动态分支(Dynamic Branch)
java·前端·javascript·人工智能·langgraph
meilindehuzi_a1 小时前
Workflow 与 Agent 有什么区别:从 LangChain 流水线到智能体决策
前端·人工智能
三翼鸟数字化技术团队1 小时前
一种前端大屏适配方案
前端·css
小四的小六1 小时前
WebView 在 AI 时代的三个被低估的价值——从自己的 AI 产品里找到的答案
前端·openai·ai编程
程序员黑豆1 小时前
鸿蒙应用开发:ForEach 循环渲染用法详解
前端·harmonyos
JarvanMo1 小时前
HTTP 迎来 16 年来首个全新请求方法:`QUERY`
前端
亿元程序员2 小时前
90%的Cocos开发者不知道,插件还能这么玩!
前端