Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Serverless 如何帮助前端实现全栈?

Serverless 如何帮助前端实现全栈?

作者头像
腾讯云serverless团队
发布于 2019-10-22 07:40:30
发布于 2019-10-22 07:40:30
1K0
举报

从 Web 1.0 开始,我们对前端领域的探索从未停止。Nodejs 的出现更是彻底而深刻的改变了JavaScript 及前端开发工具的应用场景,那么身处大前端时代的我们,该如何真正由前端转向全栈呢?

2019年10月20日,JSConf大会上,腾讯云中间件总经理 Yunong Xiao 发表了关于《Serverless Is Your BFF》主题演讲,从前端发展演进、前端到全栈的路径和问题以及如何利用Severless 实现前端到全栈的发展等维度展开分享,并现场配合Live Code演示,深度剖析前端工程师向全栈演进面临的困境和解决思路。

 前端发展的变革

在 Web1.0 时代我们只有Web工程师,需要我们做界面,并关注于 Web 服务器,后端逻辑,数据库

Web2.0 导致了前后端分工的细化,前端后端各自关注不同的东西。

分离后,前端迅猛发展,在组件化和脚手架工具链方面发展的很好,现在的前端效果很好,效率也很高,基本是现代化和工业化的开发方式。

但是分离也导致了很多问题,其中最主要的问题就是:

前端后端的沟通和配合效率很低。例如一个接口要前后端不同的角色反复确认。联调的效率及其低效。

为了提升业务研发效率,前端工程师希望能够回到之前Web全栈工程师的角色。

全栈工程师的一个定义:

前端+后端+数据库的统一集合开发

一些前端工程师认为:除了前端技能,再掌握一门后端语言(例如:php/python/nodejs),再会一种数据库,就是全栈工程师了。

这种认识是非常局限的,因为掌握了上面的这些,虽然可以完成全部界面和业务逻辑的研发,对于产品来说,除了这些还有很多看不见的东西。

除了技术栈,前端在实现一个产品时还需要什么?

首先,我们可以通过一个idea到产品的记录路径,来引出Time to Market 的三个步骤:

1、界面和功能研发

在前端有足够好的框架和工具,可以快速实现UI和功能。使用Nodejs后端无编码障碍,同一种语言提升复用。省去沟通成本,整体开发效率更高。

结论:前端独揽界面和功能研发没有问题,效率更高

2、产品化 —— 那些看不见却很重要的问题

产品化的思维不是一个个单点的技术,而是一个套系统性思考和解决方案,依赖合理高效的应用架构设计来支撑。包括可靠性、速度性能、安全性、架构可扩展性等一些系统层面考虑。

我们可以来看一张很普通的系统架构图,术业有专攻,小编相信不少前端开发者看到这步的时候已经心生退意:

结论:以前端工程师目前的能力,很难纵览全局

3、运维 —— 上线只是开始,对于产品来说,保证稳定运行工作很多在上线之后

业务增长带来的扩容。问题是永远不知道什么时候会增长,有的网红APP一两周就火爆了,如果扩容搞不定会错失大机会

流量的分布并不是均匀的,可能一天大部分的时候流量都很低,但是在访问高峰期(例如晚上的小说访问量,大部分人喜欢在睡前看小说)会带来突然的陡峰。还有一些是精心设计的流量高峰,比如秒杀抢购运营活动。

如何解决这些场景下的快速扩容问题呢?

  1. 预购资源 —— 成本太高,大量的投入被浪费,并不是明智的做法;
  2. auto scaling 技术 —— 相信很多朋友会提到这个,但是这个需要很多云计算的知识背景,对于前端来说并不具备这种技术储备。

认真负责的说,上云真不是一件简单的事情,现在各种企业上云,但真把现有的软件和应用搬到云上,无论是公有云还是私有云,都不是一件简单的事情。

可能你需要上云的代码只有100行,但是上云却需要你看完CVM/容器/K8S各种基础书籍。

结论:以前端工程师目前的能力,很难进行系统的运维工作 —— 当然我们也不会想做。

Serverless 在前端领域的变革

总结而言,前端转全栈不仅需要解决界面和功能的研发,还有产品化之下的安全可靠、架构扩展,以及上线后繁琐的运维等问题。那么Serverless是如何解决这些问题呢?我们在谈Serverless之前,首先来看看Serverless到底是什么,它是如何帮助我们从前端入手更好的跨度到全栈。

1、Serverless 是什么?

这个问题,我们从上图中就可以得到答案,从IaaSPaaS到如今的 FaaS,我们负责的组件越来越少,人力成本也相对越来越低。而我们的 Serverless 更像是 FaaS 和 BaaS 的集合。我们无需关注上面提到的可靠性,安全性,容灾,扩容等系统层级的问题,只需要关注我们的代码实现。

2、Serverless的核心优势

总得来说,Serverless有三大特点:提高效率,降低成本,稳定性提升

Serverless 不需要运维,节省人力成本。提升效率,减少了开发的时间,就是降低成本。工程师可以有时间去做更有意义的事情。弹性付费,按需付费,按执行时间付费,只为真正的计算买单。

并且可以使后端架构简化,大大减少出错的概率,腾讯云将负责解决大部分运维问题,更加便捷高效。

Serverless 更像是前端领域的引擎,它可以帮助我们前端工程师快速,便捷,可靠的开发应用,并将大幅度降低人力成本。

案例实战

最后,百闻不如一试,大会现场,腾讯云技术专家王俊杰现场通过Code演示,展示了如何在5min内基于 Serverless 制作之前大热的一款微信换头像应用。感兴趣的同学可以亲自动手尝试Serverless 的魅力。

在这个 Demo 中,我们基于腾讯云Serverless ,结合腾讯云的AI能力,实现了一个自动为上传的头像戴上圣诞帽的应用。这个应用的实现只需要六个步骤:

1、将腾讯云的云 api 秘钥,填充至 server/wearChristmasHat/config.js  中

(源码下载请扫描下方的 Github 二维码链接);

2、进到 wearChristmasHat 这个文件夹,npm run deploy:install 安装依赖;

3、使用vscode插件,或者scf cli,部署 wearChristmasHat 到 scf,同时去腾讯云apigw控制台开启该函数的api网关触发器的 支持cors 的开关;

4、修改 web/index.js 的ajax请求的url 为你的 api 网关触发器的访问路径;

5、web 部分的静态资源,html、css和js等,可以根据你的习惯,部署到 cos或者在本地打开;

6、访问html页面后,就可以选择一张人像图片,点击Generating a Christmas hat的按钮,戴上圣诞帽了。

目前,该应用的Demo已经上传至Github上,感兴趣的读者也可以扫描下方二维码下载Demo源码亲身动手体验!

长按扫描上方二维码,即刻下载DEMO源码

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从前端到全栈
从两个维度去分析前端的技术发展,一个维度是前端复杂度,具体来讲就是前端在解决创建应用复杂度方面做的一些事情;另一个是从广度层面看前端做的事情, 这两个维度构成了一个类似于二维平面的时间事件平面。
腾讯云开发TCB
2019/04/26
11.9K0
从前端到全栈
从​开发调试到部署运维 一套完整的Serverless项目开发经验分享
本文将从前端的角度来看Serverless是什么,Serverless的出现会给前端带来什么样的机遇和挑战,并以一个具体的项目为例说明如何基于Serverless实现项目功能。
腾讯云serverless团队
2019/07/16
1.7K0
从​开发调试到部署运维  一套完整的Serverless项目开发经验分享
Serverless,会将工程师带入“不归路”!
技术的发展,从来不以个人的意志为主转移,程序员的某些分工也必将随着技术的演进而消失。
xjjdog
2020/05/15
5070
Serverless 背景下,一部分“前端工程师”会转变为“应用交付工程师”
这是我的 2022 年第一篇文章。一直在想写些什么比较好,既然是新年,新年新气象,写点技术展望的想法是不是更合适?于是这篇文章的标题,也就是本文的核心思想出来了:
杨成功
2022/03/09
3170
Serverless——前端的3.0时代
导语:《信息简史》中说“进化本身是生物体与环境之间持续不断的信息交换的具体表现”,前端技术的进化也是如此。浩瀚的前端宇宙中,又出现过哪些耀眼的星辰呢?指引前端未来的“北极星”又在何方?腾讯云高级工程师与你畅谈前端的变革史与新时代的希冀。 周俊鹏 腾讯高级前端工程师 《前端工程化:体系设计与实践》作者 ---- 在正文之前我想简单介绍一下自己的从业背景。 初次接触前端是读书期间的第一份实习工作,在SAP上海研究院TIP BI部门开发基于SVG的Charts库,99%的代码逻辑是将数据用SVG转化为可
腾讯技术工程官方号
2019/09/26
8700
Serverless——前端的3.0时代
《前端Serverless:面向全栈的无服务架构实战》-- 1.Serverless综述(笔记)
IaaS:Infrastructure as a Service,基础设施即服务。
爱学习的程序媛
2022/10/27
8960
《前端Serverless:面向全栈的无服务架构实战》-- 1.Serverless综述(笔记)
周末漫谈 | 什么是 Serverless 架构
Serverless 架构是不是就不要服务器了?回答这个问题,我们需要了解下 Serverless 是什么。
aoho求索
2020/12/01
1.1K0
周末漫谈 | 什么是 Serverless 架构
一文讲透 Serverless 到底是什么
上图是 MVC 架构的 Web 应用部署之后的典型情况。上图中的整个蓝色部分就是服务端的边界,它是负责应用或代码的线上运维。而 Serverless 要解决的问题的边界就是服务端的边界,也就是服务端运维。
syy
2021/02/02
1.2K0
深度解析腾讯云的国内首款Serverless数据库
2020年4月7日,腾讯云正式发布了国内首个Serverless数据库产品--PostgreSQL for Serverless。该数据库不需要用户创建实例,完全基于Serverless架构,最快能够1秒钟内完成部署。用户使用该数据库完全按照实际使用量付费,成本降低70%。
用户1564362
2020/04/15
1.9K0
告别后端,4招教你基于 Serverless 快速构建应用
Serverless 架构在 IT 行业蓄势待发,并非没有道理。Serverless 架构具有缩短交付时间,简化操作和运维成本等能力,以及创造出一种革命性的付费模式——按资源消耗付费,这些能极大节约企业资源以及人力成本。 12月28日,由中国计算机学会、深圳清华大学研究院、腾讯云联合举办,清华校友总会互联网与新媒体专业委员会、深圳清华校友互联网与人工智能协会、通联支付共同协办的 Serverless 技术行 · 上海站沙龙,将围绕 Serverless + 5G,Serverless Framewo
腾讯云serverless团队
2019/12/27
2.5K0
告别后端,4招教你基于 Serverless 快速构建应用
云计算的趋势:Serverless
serverless,无服务的架构,当没有request访问或触发时,他不启动任何服务和资源,一旦触发了就会启动服务去处理任务。好处是不用关心服务是否挂了,它适合处理耗时不长的快速事务处理,当流量大的时候,它也能自动扩容去响应客户端。但是如果大量的并发一下冲过来的时候或者一下子没有流量的时候,它的自动扩容和缩容机制是否会导致更多的开销。
JavaEdge
2021/02/23
7570
从开发运维发展史看到底什么是Serverless?
在个人PC启动一个端口,浏览器访问即可调试代码,但要将应用部署到互联网,还需运维。
JavaEdge
2021/02/23
3730
从开发运维发展史看到底什么是Serverless?
首推全云端开发体验,腾讯云构建Serverless应用新标准
在第三代通用计算平台的探索和布局上,腾讯云已经走在了全球的前列。3月6日,腾讯云正式向外界展示了其在 Serverless 领域的最新进展,包括率先在业界推出1毫秒计费模式,并通过进一步打通上下生态链,构建三步上云的极致全云端开发体验。 作为一种新型的开发架构,Serverless具备低人工、基础设施成本、低故障风险、高扩展性以及交付周期短等优势,但是在真正落地方面还面临成本费用过高、开发支持欠缺以及开源标准不统一等难题。腾讯云基于自身在计费模式、开发体验以及上下游生态等方面的超前探索,正在引领Serve
腾讯云serverless团队
2020/03/18
3.1K0
一讲了解Serverless,以腾讯地图、微信小程序为例(文末新年彩蛋)
10月24日,第二届云原生技术实践峰会(CNBPS 2019)在北京圆满落幕。CNBPS是云原生领域重要峰会,每年一届,以汇聚前瞻洞察和技术干货为目标,展现全年云原生趋势和优秀实践。本文为腾讯云架构师孔令飞在CNBPS 2019上的演讲实录“一讲了解Serverless”。
灵雀云
2020/01/15
1.7K0
一讲了解Serverless,以腾讯地图、微信小程序为例(文末新年彩蛋)
写给前端工程师的 Serverless 入门
Serverless 是前端圈近两年比较火热的词汇,但其第一次被提出已经是 7 年前的事情,那么什么是 Serverless 服务,其架构由哪些部分组成,又有什么优缺点,本文将一一道来。
政采云前端团队
2019/12/20
7960
写给前端工程师的 Serverless 入门
Serverless 开发实战之Nodejs
抗击疫情,腾讯云在行动。Serverless(无服务架构)被誉为下一代云计算技术,自概念推出以来,因为能带来研发交付速度提升与成本的降低在业内异常火爆。将随着 Serverless 生态的不断成熟,越来越多开发者使用 Serverless 架构构建自己的业务,Serverless 的典型适用场景有哪些?怎样借助工具,更快更好的部署自己的 Serverless 应用? 本次课程将带你深入了解这些Serverless的最佳实战应用。
可可爱爱没有脑袋
2020/02/13
1.5K0
Serverless 开发实战之Nodejs
大前端不是全栈
随着业务和技术的快速发展,大前端工程复杂度越来越高。前端面对的业务在快速发展变化,工程的规模也在不断扩大,对迭代速度的要求越来越高了。而随着云计算的普及,云工程化也是目前值得探索的热点。我们应该如何选择最合适的方案在工程中实践?全栈与大前端有何异同?前端中台的建设是否有必要?带着这些问题,InfoQ 采访了腾讯前端技术专家 / 总监、IVWEB 团队负责人刘恒兵(河伯),请他为我们讲述前端人如何在发展的进程中学习与提升。
深度学习与Python
2021/01/21
3970
FaaS 给前端带来了什么?
Serverless 是一种云计算理念,即无服务器计算(Serverless Computing):
ayqy贾杰
2020/07/22
2K0
【Web技术】244-Serverless掀起新的前端技术变革
最近关于 Serverless 的讨论越来越多。看似与前端关系不大的 Serverless,其实早已和前端有了渊源,并且将对前端开发模式产生变革性的影响。本文来自阿里云前端工程师蒋航在 QCon 北京 2019 的分享,他从前端开发模式的演进、基于 Serverless 的前端开发案例以及 Serverless 开发最佳实践等方面,与大家探讨 Serverless 中的前端开发模式。
pingan8787
2019/07/25
9420
【Web技术】244-Serverless掀起新的前端技术变革
微服务和 Serverless 如何强强联合?
导语 | 微服务与 Serverless 被不少开发者称为“天作之合”,在当前的微服务体系中,Serverless 的定位是什么?Serverless 在微服务分布式应用中又是如何落地的?本文由腾讯云微服务产品中心技术总监 韩欣 在 Techo TVP 开发者峰会 ServerlessDays China 2021上的演讲《腾讯云微服务在 Serverless 的探索实践》整理而成,向大家分享团队中 Serverless 技术在实际开发过程与用户场景中的落地与思考。 点击可观看精彩演讲视频 一、
腾讯云开发者
2021/07/15
2.6K0
推荐阅读
相关推荐
从前端到全栈
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档