Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >下一代 Web 服务开发,就是这么快!

下一代 Web 服务开发,就是这么快!

作者头像
腾讯云serverless团队
发布于 2021-06-08 10:40:26
发布于 2021-06-08 10:40:26
7880
举报

对于广大开发者而言,搭建一个自己的 Web 服务是最为常见的开发场景之一。无论是全栈网站的搭建,还是创建 API 接口,都需要一个可以快速接收并处理 HTTP 请求的 Web 框架。Serverless 时代来临,既希望享受云计算带来的弹性伸缩、免运维等众多优势,却又囿于基于事件触发带来的改造成本而无法轻易尝试。Web 服务如何与 Serverless 完美适配成了我们需要攻克的难题。

01.

Web 服务开发发展趋势

从发展历程来看,Web 服务开发可以分为三个阶段:本地服务器部署 - 云主机部署 - Serverless 部署。

第一阶段:开发者需要自己购买服务器,将搭建的 Web 服务部署在机器上,虽然开发者对于机器的可操作范围更大,可对于 Web 场景来看,开发者往往不需要对机器进行多余操作,这样反而带来了额外的机器维护成本。

第二阶段:开发进入云时代,大家更倾向与于在云上购买主机部署服务,免去维护成本后,极大提升了开发效率,这个也是目前使用最为广泛的开发方式,但主机仍基于使用量的预估来提前购买,并且会为未使用的计算资源付费,这样的方式仍有一定资源与成本上的浪费。

第三阶段:Serverless 正式登上舞台,SCF 云函数自身有着自动扩缩容、按量计费等众多优势,完美适应开发者对于低开发&维护成本的需求,是 Web 服务部署的完美平台。但由于云函数是事件型函数,只能接受事件类型触发,无法直接接收处理原生 HTTP 请求,虽然云函数推出了众多解决方案,帮助开发者自动进行格式转换,但转换层的创建以及处理链路长仍是不可忽视的迁移成本。

02.

传统 API 网关 + 事件函数方案问题

API 网关会自动对传入的 HTTP 请求进行格式转换,转换为函数可以处理的 JSON 事件格式。函数侧,在原生 Web 服务框架前添加一个适配层函数,将事件 JSON 结构体再转化成标准的 Web 请求,提供给后端框架进行处理。

问题:

1. 改造成本高,需要添加适配层做格式转换,并对 Web 框架的监听方式进行修改。

2. 调试成本高,本地代码和云端代码不⼀致,本地和云端调试体验不统⼀,对于本地调试的实现有阻碍。

3. 转换链路长,性能有损耗,⼀次请求需要多四次转换:

    1. http request -->> event

    2. event -->> http request

    3. http response -->> APIGateway 需要的返回结构

    4. APIGateway 需要的返回结构 -->> http response

针对这些的问题,腾讯云 Serverless 推出的全新函数类型 - Web Function,实现 Serverless 与 Web 服务最优雅的结合。

03.

Web Function - 下一代建站方案

1. 用户发送的 HTTP 请求经过 API 网关后,网关侧将原生请求直接透传的同时,在请求头部加上了网关触发函数时需要的函数名、函数地域等内容,一起传递到函数环境,触发后端函数执行;

2. 函数环境内,通过内置的 Proxy 实现 Nginx 转发,并去除掉头部非产品规范的请求信息,将原生 HTTP 请求通过指定端口发送给用户的 Web Server 服务;

3. 用户的 Web Server 配置好指定的监听端口(9000)和服务启动文件后部署到云端,通过该端口获取 HTTP 请求并进行处理。

04.

Web Function 优势

  • 函数可以直接接收并处理 HTTP 请求,API 网关不再需要做 json 格式转换,减少请求处理环节,提升 Web 服务性能。
  • Web 函数的编写体验更贴近编写原生 Web 服务,保证和本地开发服务体验一致。
  • 丰富的框架支持,您可以使用常见的 Web 框架(如 Node.js Web 框架:ExpressKoa)编写 Web 函数,也可以将您本地的 Web 框架服务以极小的改造量快速迁移上云。
  • Web 函数自动为您创建 API 网关服务,部署完成后,网关侧会自动生成一个默认 URL 供用户访问和调用,简化了学习成本和调试过程。
  • 控制台提供了测试能力,您可以在函数控制台快速测试您的服务。

05.

Web Function 内测申请

Web 函数(Web Function)是云函数的一种函数类型,区别于事件函数(Event Function)对于事件格式的限制,专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行。

腾讯云 Serverless 即将推出「Web Function」,现开放内测申请:

  • 内测申请链接:https://cloud.tencent.com/apply/p/bq2gg6hddzd

(长按识别,申请内测体验「Web Function」)


推荐阅读

One More Thing


欢迎进入千人 QQ 群 (871445853) 交流 Serverless!

  • GitHub: github.com/serverless
  • 官网: cloud.tencent.com/product/serverless-catalog

点击「阅读原文」,即可申请内测「Web Function」,欢迎体验使用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ServerlessCloudNative 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​下一代无服务器的发展形态:Serverless2.0
6月25日,在上海召开的KubeCon 2019大会上,腾讯云重磅发布了下一代无服务器的发展形态:Serverless2.0。本文将以 Serverless 的概念、发展、形态、应用及优劣对比展开,进一步介绍腾讯云针对 Serverless 2.0 的形态演进以及发展思考。
腾讯云serverless团队
2019/07/02
1.3K0
【Web Function】基于Express架构的云端计算器服务开放与部署
Web Function,也叫 Web 函数,是云函数的一种函数类型,区别于事件函数对于事件格式的限制,更加专注于优化 Web 服务场景,用户可以直接发送 HTTP 或者 HTTPS 请求到 URL 触发函数的执行。本文将介绍一个基于 Express 架构搭建的 Web 函数服务——云端计算器。
liuzhen007
2021/08/07
7620
【Web Function】基于Express架构的云端计算器服务开放与部署
如何将传统 Web 框架部署到 Serverless
因为 Serverless 的“无服务器架构”应用相比于传统应用有很多优点,比如:无需关心服务器、免运维、弹性伸缩、按需付费、开发可以更加关注业务逻辑等等,所以现在 Serverless 应用已经逐渐广泛起来。
政采云前端团队
2022/12/01
2.8K0
如何将传统 Web 框架部署到 Serverless
【Web Function】产品测评,做个自己的密码生成器
https://cloud.tencent.com/document/product/583/56124
tonglei0429
2021/08/23
6490
【Web Function】产品测评,做个自己的密码生成器
从​开发调试到部署运维 一套完整的Serverless项目开发经验分享
本文将从前端的角度来看Serverless是什么,Serverless的出现会给前端带来什么样的机遇和挑战,并以一个具体的项目为例说明如何基于Serverless实现项目功能。
腾讯云serverless团队
2019/07/16
1.7K0
从​开发调试到部署运维  一套完整的Serverless项目开发经验分享
如何将 Web 框架迁移到 Serverless
Serverless 通常翻译为「无服务架构」,是一种软件系统设计架构思想和方法,并不是一个开发框架或者工具。他的出现是为了让开发者更加关注业务的开发,而将繁杂的运维和部署交给云厂商。Serverless 由 Faas 和 Baas 组成,Faas 为开发者提供业务运算环境,然后与 Baas 提供的数据和存储服务,进行交互,从而提供与传统服务一致的体验。但是由于 Faas 是无状态的,并且其运行环境是有读写限制的,最重要的是它是基于事件触发的。因此如果传统 Web 服务想迁移到 Serverless 上,
腾讯云serverless团队
2020/07/03
1.3K0
入门 Serverless:Serverless Framework 开发者工具
Serverless 架构是云发展的产物,是一种去服务器化更加明显的架构。然而,细心的朋友可能会发现,有一个开发者工具也叫 Serverless,那么 Serverless 到底是一个架构,还是一个开发者工具呢?这个开发者工具和 Serverless 架构又有什么关系呢? 初探 Serverless 开发者工具 Serverless 架构开始发展没多久,就有一群人注册了 serverless.com 的域名,成立了一家叫 Serverless 的公司,同时还开发了一款同名工具。 Serverless 架构
腾讯云serverless团队
2020/04/09
2K0
Web 函数计费方式全面升级,进一步优化开发成本
Web 函数(Web Function)是云函数的一种函数类型,区别于事件函数(Event Function)对于事件格式的限制,专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,极大地简化了 Web 应用 Serverless 化的开发与部署门槛。 Web 函数产品自发布以来,受到广泛开发者的关注,期间我们也收到了不少中肯的建议反馈。Web 函数依赖 API 网关接收 HTTP/WS 请求,我们希望从性能、场景和成本上不断优化,降低用户理解和使用的成本。经过努力,
腾讯云serverless团队
2022/01/06
6050
前端学serverless系列——WebApplication迁移实践
本文由 IMWeb 首发于 IMWeb 社区网站 imweb.io。点击阅读原文查看 IMWeb 社区更多精彩文章。 导语:说起当前最火的技术,除了最新的区块链,AI,还有一个不得不提的概念是Serverless。Serverless作为一种新型的互联网架构直接或间接推动了云计算的发展,从AWS Lambda到各厂商争先推出Serverless服务框架,Serverless一路高歌。在这个风口,前端好像都要做点什么? 目录: 一、Serverless简介 二、一个轻量web Application迁移实践
用户1097444
2022/06/29
4920
前端学serverless系列——WebApplication迁移实践
前端学serverless系列——WebApplication迁移实践
导语:说起当前最火的技术,除了最新的区块链,AI,还有一个不得不提的概念是Serverless。Serverless作为一种新型的互联网架构直接或间接推动了云计算的发展,从AWS Lambda到各厂商争先推出Serverless服务框架,Serverless一路高歌。在这个风口,前端好像都要做点什么?
腾讯云serverless团队
2019/08/06
9750
前端学serverless系列——WebApplication迁移实践
导语: 说起当前最火的技术,除了最新的区块链,AI,还有一个不得不提的概念是Serverless。Serverless作为一种新型的互联网架构直接或间接推动了云计算的发展,从AWS Lambda到各厂商争先推出Serverless服务框架,Serverless一路高歌。在这个风口,前端好像都要做点什么?
IMWeb前端团队
2019/12/04
7100
云函数8月月报:HTTP Function内测发布
随着云函数用户的快速增长,我们收到越来越多的用户场景需求及功能反馈,与此同时,云函数也在Web服务支持、DevOps能力建设等方面进行不断的探索实践。8月份,我们在云函数的产品形态、功能支持以及用户体验上做了系列优化,并发布了如下重磅特性: HTTP Function内测发布 函数配额及最大并发数提升 云函数外网出口IP固定 Node.js依赖安装及Git部署代码内测发布 支持WebIDE在线编辑 支持函数调用TOP 10统计 Serverless本地开发工具功能优化 VS Code插件功能优化 最新发
腾讯云serverless团队
2019/09/16
1.8K1
云函数8月月报:HTTP Function内测发布
入门 Serverless:如何实现 Hello World?
近年来,IT 技术的更新迭代速度非常快,每个时间点都有典型的代表名词以及概念,就目前而言,人工智能领域中的机器学习、深度学习、强化学习等名词和概念就非常热,同时区块链、物联网等技术发展也是异常火热。在云计算领域,有这样一个技术被众多云厂商认为是“风口项目”,甚至可以颠覆现有云计算中的某些格局,为此包括 AWS、谷歌以及腾讯云、阿里云等在内的云厂商,都为此投入了重大人力以及精力进行相关产品建设,它就是 Serverless 技术。 自 2006 年 8 月 9 日,Google 首席执行官埃里克·施密特(E
腾讯云serverless团队
2020/04/09
2.1K1
Serverless Python 开发实战(附源码)
Python是一种热门的编程语言,Serverless 是近年来迅速兴起的一个技术概念,基于Serverless架构能构建出多种应用场景,适用于各行各业。 本文将为大家详细讲解 Serverless 架构的处理规范与处理模型、典型的工作流程,以及 Serverless 工程化的难点与挑战。最后将结合 Python Flask + Serverless 的情人节表白页制作实例,展示如何用 Serverless 的方式进行 Python 编程,将热门Python 框架利用Serverless 快速上云。 文章
腾讯云serverless团队
2020/03/18
2.1K0
Web Function 能力升级,原生支持 WebSocket 协议
云函数 Web Function 能力推出后,对于原生框架的无改造直接部署,在性能和开发流程上,都受到了众多开发者的好评。在一期能力的基础上,Web Function 现已支持 WebSocket 协议,实现客户端和函数运行的服务端间建立长连接。 01. 工作原理 1. 服务启动与连接建立 与 HTTP 协议一样,Web 函数支持在官方或自定义的运行环境中,使用启动文件启动 WebSocket 服务器,并在指定端口(9000)上进行监听,通过前端 API 网关提供的 WS 路径,接收到客户端连接请求后
腾讯云serverless团队
2021/10/25
7720
云开发 For Web:一站式开发下一代 Serverless Web 应用
近两年来,Serverless 无疑是前端圈里最火热的话题之一,在各种技术峰会、各种技术文章里都能看到它的身影。如果你是一名前端开发者,一定很奇怪:
腾讯云开发TCB
2020/03/27
2.1K0
云开发 For Web:一站式开发下一代 Serverless Web 应用
从 MVC 到 FaaS —— 如何开发企业级 FaaS 应用
这是我在腾讯云 Hello, Serverless 沙龙的演讲内容,转自简单心理技术团队博客。
朱峰
2019/04/26
1.6K0
从 MVC 到 FaaS —— 如何开发企业级 FaaS 应用
腾讯云Serverless HTTP服务:Web原生框架构建实战指南
核心价值: Serverless HTTP服务基于腾讯云API网关与Web Cloud Function,实现了传统Web框架(如Express/Koa/Next.js等)的零服务器运维部署。用户只需关注业务逻辑,无需管理基础设施,据IDC 2024报告,该模式可降低75%运维成本并提升3倍迭代速度[网页标题 - Serverless HTTP 服务_Serverless HTTP API_RESTful API-腾讯云]。
爱吃鱼的企鹅
2025/06/21
420
容器的下一代基础设施:腾讯云Serverless产品SCF实战
2020年上半年,我负责的业务初步完成IAAS层、PAAS层上云,借助云能力,基本解决了整体的资源供应效率、发布效率的问题。但是针对简单的接口应用、爬虫、刷任务脚本等,复用现有基础设施,交付速度一直提升不上来,后续的运维、运营工作负担也比较重。主要体现在以下几个痛点:
赵振华
2020/12/04
1.3K0
容器的下一代基础设施:腾讯云Serverless产品SCF实战
Serverless:微服务架构的终极模式
微服务的生态和实践已经比较成熟,其设计方法、开发框架、CI/CD工具、基础设施管理工具等,都可以帮助企业顺利实施微服务。然而,微服务远没有达到完美,它在架构、开发、基础设施方面仍然面临新的挑战。
程序猿DD
2021/12/01
1.1K0
Serverless:微服务架构的终极模式
推荐阅读
相关推荐
​下一代无服务器的发展形态:Serverless2.0
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档