聊聊与前端工程师天然互补的 Serverless

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
简介: 作为前端工程师,我们的使命是为用户提供良好的前端用户体验。随着云原生时代的到来,显而易见的,我们能做的更多了。Serverless 产品的特点是免运维、按量付费和自适应弹性,所以我们可以利用云上的各种 Serverless 能力,用相对更低的成本开发出更酷的产品,为我们的客户创造更多价值。


作者:灵轮(阿里云前端技术专家)

作为前端工程师,我们的使命是为用户提供良好的前端用户体验。随着云原生时代的到来,显而易见的,我们能做的更多了。Serverless 产品的特点是免运维、按量付费自适应弹性,所以我们可以利用云上的各种 Serverless 能力,用相对更低的成本开发出更酷的产品,为我们的客户创造更多价值。

如何构建云原生现代化的 Web 应用?

让我们先回顾一下,我们是如何把一个静态网站发布出去的。


在云原生时代之前,我们想到的可能是需要先找一台服务器,安装 Nginx,然后上传静态文件,再经过一系列的配置,最终完成网站的发布。完成这些以后,发现已经花掉了小半天的时间,实际上这些花在运维上面的时间其实并没有为我们的客户创造价值。但这其实还只是一个开始,随着业务的发展,稳定性、弹性、安全和成本等问题,我们都要逐一解决,我们花在运维上的时间和精力会越来越多。否则,这个网站可能只是一个玩具。


但是随着云原生时代的到来,发布静态网站简单了很多,我们可以通过云产品,轻松地托管我们的网站。例如,可以将网站通过阿里云对象存储 OSS 提供的工具,将静态资源上传到 OSS,然后开启一键托管。此外,为了让客户能够更快地打开页面,还可以通过阿里云 CDN,将 OSS 设置为 CDN 的源站,从而让静态资源离客户更近,让客户的使用体验更好。这两款产品都是按量付费的免运维 Serverless 产品,它们大大地减少了我们各种繁杂的运维成本。我们可以把更多的时间花在研发和体验上,为我们的客户创造更多价值。


但是随着业务的发展,我们的网站如果并不只是一个静态网站了呢?


对外服务的 API(需要对接缓存,数据库,消息队列,文件存储等)

定时执行任务,甚至是执行海量任务

发送电子邮件/短信/即时消息(钉钉,微信,飞书),拨打智能语音电话

对用户上传的图片,音视频等进行处理(转码,缩略图,鉴黄,加水印,GPU 推理)

服务端渲染 SSR 页面

大促,秒杀


面对这些需求,难道我们又要去找服务器?为了保证服务的稳定性,弹性,安全和成本,难道我们又要把大量的时间花在运维上?有没有云产品可以像 OSS/CDN 解决静态网站的运维问题一样,解决我们的这些后端需求呢?

面对这些挑战,阿里云的 Serverless 产品函数计算 FC是一个不错的选择。除了通过函数计算 FC 处理 API 请求和大规模任务之外,还可以在函数计算 FC 中访问阿里云的 RDS、SLS、Tablestore、NAS 等丰富的云服务或者是其他第三方服务,从而满足对存储,计算,网络,安全,大数据,人工智能等各种业务的需求。

各种 Serverless 云产品就像是前端工程师的“武器库”,我们可以使用这些云产品来为我们的客户提供高质量的服务。




函数计算 FC 的优势和相关原理介绍


极致弹性,轻松应对流量洪峰


函数计算 FC 会根据请求量自动进行毫秒级弹性扩容,快速调度计算资源。从而使我们可以轻松应对海量 API 请求和大规模的并发任务。

在使用函数计算时,可以为函数配置一个“实例并发度”,这个并发度代表一个函数实例最多可以同时处理多少个请求。函数实例本质上是一个 Linux 安全容器,它是函数对外提供服务的最小单元。

例如,在“实例并发度”设置为 20 时,如果函数计算平台同时收到了 100 个请求,则会拉起 5 个函数实例来处理这些请求。处理完这些请求后函数实例会被冻结,如果在接下来的 2~5 分钟内(实例冻结以后就不再计费了)如果没有新的请求,函数实例将被自动销毁。在某些场景下,如果业务对延迟非常敏感,或者业务代码启动很慢,可以通过配置弹性规则,设置最小函数实例数量,这样函数计算 FC 会预先启动好函数实例,从而保证用户的使用体验。也可以通过设置函数实例的最大数量,限制函数实例的最大数量,从而保护下游服务,并控制成本。

对比传统服务器模式下需要自己进行服务器的扩容缩容的操作,函数计算 FC 这种自动弹性的方式不仅可以减少此类繁锁的扩缩容运维操作,也可以避免传统服务器模式下由于扩容不及时导致的业务不可用,从而提高系统的稳定性。


降低成本,提高资源利用率


函数计算 FC 中可以自由配置 CPU,内存,GPU 等实例的规格。最小可以创建 0.05 核,128 MB 的函数,并提供了极小梯度的规格选择,基本可以做到应用需要什么规格就配置什么规格。

函数计算 FC 的计费是毫秒级别的,比如我们的代码业务逻辑执行的时间为 5 毫秒,那么我们只需为这 5 毫秒进行付费。并且在无流量时,函数计算 FC 会将函数实例缩容到 0。这对业务量还没有起来的新业务,或者是一些调用本身就很少的中长尾业务非常友好,我们无需为它们付出固定的服务器费用。

自由配置规格,毫秒级别计费,缩容到 0 等特点可以帮助我们大幅提升资源利用率,极大的降低成本。


免运维,更安全


在传统的服务器架构中,我们时刻需要关心运行应用的物理机的资源使用情况。在函数计算 FC 中,我们无需关心底层物理机的资源使用情况,函数计算 FC 平台会自动调度并运维资源。但是如果是我们的业务代码消耗了过度的资源,例如发生OOM 等,函数实例会自动重启,请求会失败,这时我们需要根据监控指标和日志找出代码中的问题,或者修改函数的规格,给函数实例更多的资源。

函数计算 FC 也提供了函数默认的 HTTP/HTTPS 域名,从而方便我们访问函数。同时也支持绑定自己的域名到函数。所以相对于传统的服务器架构,在使用函数计算时,我们就免去了对应用服务器和负载均衡服务器的运维和购买成本。

从安全的角度出发,由于传统服务器需要一直运行着,在安全配置不合理时,或是没有及时修复代码漏洞时,黑客可以通过扫描 IP 和端口,发现并攻入服务器。函数计算FC因为不会一直起着实例,也不会直接将 IP 暴露在公网上,因此可以避免此类被扫描攻破的问题发生。

除此之外,操作系统的安全漏洞我们也无需关心,在出现安全漏洞时函数计算 FC 会第一时间完成修复。

在需要访问其他服务时,函数计算 FC 也会根据配置,自动生成临时密钥,这个临时密钥的有效期是 36 小时,所以无需将重要的访问密钥写在代码里或配置文件中,从而降低由于密钥泄漏产生的风险。

随着业务的不断发展,也可以额外购买阿里云的 Web 应用防火墙 WAF 产品来保护函数安全。


零改造,研发效率高


函数计算支持创建 3 种类型的函数,“内置运行时”,“自定义运行时”和“容器镜像”。并且提供了 API,SDK,控制台和 Serverless Devs 工具,帮助我们完成应用的开发、构建、部署和观测。

在使用“内置运行时”时,我们需要按照函数计算 FC 定义的接口规则编写代码处理请求。例如,下面为一个 Node.js 的 API 示例,使用这几行代码创建完函数之后,我们就可以立刻在我们的网站中使用这个 API 了。



使用“自定义运行时”时,我们无需改造代码就可以将 SpringBoot、Flask、Express、NextJS、NestJS、Gin 等 Web 框架开发的应用跑在函数计算上。只需在函数计算中配置应用监听的“端口号”和“启动命令”即可。它和使用传统服务器的部署方式非常类似。下图中的代码,对熟悉 Express 框架的同学来说,应该是再熟悉不过了。


使用“容器镜像”时,我们可以完全定制应用的执行环境,不用学习如何更新函数计算运行环境中的 Linux 版本,GCC 版本,安装各种依赖,字体等问题。此外,因为容器镜像的可移植性极好,我们不用担心被云厂商绑定,同一个容器可以运行在云上或本地数据中心的服务器上,或者是云上或本地数据中心的 Kubernetes 集群里。甚至您可以同时将一个镜像部署在服务器、Kubernetes 集群和函数计算里,通过几款不同的产品完成灾备。





总结


通过函数计算 FC 等 Serverless 云产品,我们无需管理服务器等基础设施,Serverless 云产品会为我们准备好资源,以弹性、安全、可靠的方式运行我们的应用,存储我们的数据,并为我们提供其他额外的附加价值。


Serverless 的免运维特性与前端工程师天然互补,前端工程师只需编写业务代码,即可快速搭建云原生的现代化的 Web 应用。让前端工程师可以将更多的时间专注在为用户创造价值上。



🌏更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。


👉点击直达函数计算官网!

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4月前
|
运维 Cloud Native 持续交付
云原生架构的未来演进:打造灵活、高效的企业IT基础
随着数字化转型的不断深入,企业的IT基础设施正经历着从传统架构向云原生架构的根本转变。本文将探讨云原生技术的最新发展趋势,分析其在提高业务敏捷性、降低运维成本以及促进技术创新方面的关键作用。我们将重点讨论如何借助容器化、微服务、DevOps和持续交付等核心技术,构建一个能够适应快速变化市场需求的云原生生态系统。通过实际案例分析,揭示企业在迁移到云原生架构过程中面临的挑战与解决策略,为读者呈现一幅云原生技术赋能企业未来的蓝图。
|
4月前
|
Prometheus 监控 Kubernetes
青团社:亿级灵活用工平台的云原生架构实践
青团社是国内领先的一站式灵活用工招聘服务企业,灵活用工行业的 Top1。青团社于 2013 年在杭州成立,业务已经覆盖全国,在行业深耕 10 年。我的分享将分为以下三部分:青团社架构演进的历程、青团社如何实现云原生、总结与展望。
262439 8
|
4月前
|
人工智能 自然语言处理 运维
云原生技术专题 | 年终盘点探索服务架构体系的技术风向,构建微服务核心能力
云原生技术专题 | 年终盘点探索服务架构体系的技术风向,构建微服务核心能力
81 0
|
10月前
|
运维 Serverless 云计算
飞天技术观|云上开发新范式:Serverless的必然与应然
在2022年云栖大会上宣布核心产品全面Serverless化之前,阿里云在Serverless领域布局已经有六七年积累了,一直在打磨产品,夯实基础;从去年开始,阿里云进入到了Serverless的第二阶段,一路突飞猛进,相对应地,阿里云Serverless产品数量和丰富度都在快速增长,业务规模也在快速增长。
637 1
|
4月前
|
前端开发 Java API
深度|低代码开发平台和微服务架构的优势与挑战
低代码开发平台和微服务架构是当前软件开发领域的两个热门话题。它们都是为了更高效、更灵活地构建和开发应用程序而出现的解决方案。本文将以一款基于微服务架构的OneCode引擎为案例来探讨低代码开发平台和微服务架构的优势和挑战。
|
人工智能 Serverless 开发者
阿里云丁宇:云上开发成为主流,Serverless 定义新范式
阿里巴巴研究员、阿里云智能云原生应用平台总经理丁宇,在阿里云峰会·粤港澳论坛上的发言。
阿里云丁宇:云上开发成为主流,Serverless 定义新范式
|
运维 Kubernetes 安全
聊聊与前端工程师天然互补的 Serverless
Serverless产品的特点是免运维、按量付费和自适应弹性,所以我们可以利用云上的各种 Serverless 能力,用相对更低的成本开发出更酷的产品,为我们的客户创造更多价值。
聊聊与前端工程师天然互补的 Serverless
|
运维 Cloud Native 架构师
展望架构的2023:Serverless 兴起,下一代微服务的雏形和标准化开始呈现
2022 年,架构领域发生了哪些值得关注的事情?一位架构师必备哪些技能?2023年哪些架构趋势需要掌握?Nacos 和 MSE 创始人、阿里云高级技术专家彦林做客 InfoQ 直播间,为我们带来 2023 年的架构师发展指南。
1436 0
|
前端开发 Serverless
Serverless 架构在前端应用领域的价值
Serverless 架构在前端应用领域的价值自制脑图 , 介绍了前端发展史简介和Serverless跟前端的关联。
138 0
Serverless 架构在前端应用领域的价值
|
Serverless
Serverless 的核心价值和软件架构
Serverless 的核心价值和软件架构自制脑图,
98 0
Serverless 的核心价值和软件架构

热门文章

最新文章

相关产品

  • 函数计算