利用云基础设施加速前端开发

小麦2024年12月04日1393 字

本期从四个方面介绍前端如何利用云基础设施加速应用开发。

在传统的前后端架构中,前端应用深度绑定一个专用服务端,

而现代云上应用更讲究服务解耦和复用,出于对成本和效率的考量,

前端应用研发模式已经发生变化。

本期我们就来聊聊如何利用云基础设施,加速前端应用的研发。

随便打开某某云官网,相关云产品和服务都会令人眼花缭乱。

实际上前端能直接用上的并不多,大致分为网络服务(Network),计算服务(Compute),存储服务(Storage)和安全(Security)这几个大类。

许多云服务提供商都对 Web 应用提供了良好的支持,下面我们分别举一些例子说明如何使用它们。

首先是网络服务。

我们在第三期视频中介绍过域名、DNS 和 CDN 的工作方式,它们是网络服务的一部分。

前端应用接入网络服务,可以告别手动配置 DNS 服务器、申请和更新 SSL 证书问题,大大简化了应用上线流程。

另外由供应商代理 DNS 解析,还可以拥有更多功能。比如将不安全流量转移到别处,保护源服务器不受攻击。我们稍后在安全服务中还会提到。

接下来是计算服务。

前端如何部署?对于纯前端应用,由 Server 托管静态资源是一个常规方案。

对于全栈前端应用,Serverless 也许是更好的选择。

Serverless 字面意思是无服务器,确切说是融合了 FaaS 和 BaaS 的架构方式,大家暂时不需要理解什么是 FaaS 和 BaaS。

只需要知道 Serverless 将传统 Web 服务中的服务器,拆成了一个个函数和独立服务单元,用户每一个请求都通过一个函数计算单元处理。

Serverless 具备免运维,弹性高可用,低成本的优势,特别适合前端这种面向接口调用的应用场景。

这是阿里云基于 Serverless 的 Web 应用的典型架构,

我们的前端应用部署在函数计算节点上。

可以看到用户访问请求通过内容分发网络(CDN),到达函数计算服务上,这里内容分发网络主要起到一个缓存计算结果的作用。

函数计算服务通过 API 访问其他服务,比如这里的表格存储,文件存储和日志服务。

在这种架构下,前端代码中一般不需要配置特定的服务器请求地址,以及使用 axios 等 http 请求库。

而是直接使用三方服务提供的 SDK 完成业务,方便快捷。

接着说存储服务。

一般来说前端并不需要和数据库打交道,但我们会常和图片,文件上传打交道,这个时候存储服务就可以大展身手了。

对象存储(OSS)就是一种典型的存储服务,可以持久存放海量的文件。

我们常说的 CDN 加速,其实就是将前端静态资源发布到 OSS 中,再通过 CDN 分发。

除此之外,对象存储一般还会提供数据处理功能,比如图片处理。

即我们把图片上传到 OSS 后,取出来时可以自动对图片进行压缩,格式转换,增加水印,缓存等。

而这些功能甚至只需要设置一个参数即可实现,免去了我们在代码中处理图片的麻烦。

另外,前端还经常遇到需要动态配置的业务场景,通常需要结合后端 api 和一个配置后台完成。

更现代的做法是使用现成的 KV 存储服务,由前端从高速缓存中读写数据,免去了自己开发一套配置后台的麻烦。

最后是安全服务。

我们在第十二期视频中提到,针对前端应用的攻防手段,对于一个完整的 Web 应用来说,它还面临黑客攻击,爬虫,隐私泄露等风险。

此时 Web 应用防火墙(WAF)就开始发挥作用了。

我们还是拿阿里云举例子,这是其 Web 应用防火墙的典型应用场景。

可以看到所有互联网流量都会经过 WAF 的分析和过滤,帮助我们分离攻击请求和业务请求,最终进入业务应用的请求都应该是干净且安全的。

另外像用户注册,身份核验等,都可以借助现有的云服务完成,这对于独立开发者或是创业团队,可以说是非常方便友好。

本期我们简单介绍了云基础设施在现代前端的应用场景和价值。

下期我们聊聊前端应用上线后,还应该关注哪些问题。

我是小麦,我们下期再见。

评论

你需要先登录才能发表评论
Made by 捣鼓键盘的小麦 / © 2025 Front Talk 版权所有