关于阿里云:聊聊与前端工程师天然互补的-Serverless

5次阅读

共计 3318 个字符,预计需要花费 9 分钟才能阅读完成。

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

作为前端工程师,咱们的使命是为用户提供良好的前端用户体验。随着云原生时代的到来,不言而喻的,咱们能做的更多了。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 利用。让前端工程师能够将更多的工夫专一在为用户发明价值上。

点击此处,中转阿里云函数计算 FC!

正文完
 0