阿里云Serverless函数计算FC集成TableStore表格存储

阿里云Serverless技术、产品选型理由

从发展历程中,我们也可以看出,以函数为起点,Serverless 的技术和产品逐步趋于多元化。多种形态相互补充,为解决更复杂、更多样化的业务场景提供支撑,我们通常会把场景分为三类:

  • 函数计算(FaaS):面向函数,用户只需关注函数层级的代码,用于解决轻量型、无状态、有时效的任务;>
  • Serverless 应用托管:面向应用,用户只需要更关注应用本身,与微服务结合,它融合应用治理、可观测,降低了新应用的构建成本、老应用的适配改造成本;
  • Serverelss 容器服务:面向容器,在不改变当前 Kubernetes 的前提下,由于不再需要关注节点,大大提升了前期资源的准备过程,降低了维护成本,使得应用的全生命周期管理更高效。

随着 Serverless 的内涵持续外延,计算的 Serverless 化要求 BaaS 服务也具备与之配套的托管能力和极致弹性,全链路完整支撑真正 Serverless 化的应用构建。

——《Serverless 进阶实战课》极客时间

Serverless 产品概念:
信通院标准书

Servless解决方案图:
信通院标准书

目前Serverless技术绝大部分都是基于Knative来进行构建的。Knative是什么:

Knative is a platform-agnostic solution for running serverless deployments.

Knative 是一种用于运行无服务器部署的与平台无关的解决方案。

—— What is Knative | Knative

运行Serverless函数会自动生成一个容器

When you build or run a function, an Open Container Initiative (OCI) format container image is generated automatically for you, and is stored in a container registry. Each time you update your code and then run or deploy it, the container image is also updated.

当您构建或运行函数时,会自动为您生成开放容器计划 (OCI) 格式的容器映像,并将其存储在容器注册表中。每次更新代码然后运行或部署它时,容器映像也会更新。

—— About Knative Functions | Knative

也就是无论时面向函数、应用、容器的Serverless服务,实际上底层的实现都是通过将代码打包成OCI镜像,然后用Knative容器来运行该镜像的。

容器与虚拟机的差异:

容器允许应用组件共享单个操作系统实例的资源,就像虚拟机 (VM) 允许应用共享单个物理计算机的资源一样。 容器比虚拟机更小、资源效率更高,更适合敏捷和 DevOps 开发方法的增量发布周期,容器已成为现代云原生应用事实上的计算单元。

—— 为什么 Kubernetes 需要 Knative

再且由于实际上Serverless的运行单位是容器,再加上阿里云支持自定义容器镜像,所以可以将Rust、AI、GPU等非阿里云内置支持语言打包成容器镜像以后,进行Serverless部署

Serverless预留资源

TableStore当业务稳定以后,需要将纯按量计费提升为预留吞吐量按量计费,这样可以节省成本。

详情:TableStore不同预留读写吞吐量的计费案例

访问量稳定以后,可以通过预留函数实例来避免冷启动导致请求延迟

详情:配置预留实例

Serverless应用开发

前提:

  1. 因为事件函数不能响应HTTP请求,不能处理HTTP触发器的参数,所以函数类型只能选择Web函数(可自定义容器镜像)。
  2. 再进一步,想要提交代码以后自动构建并部署函数,并对函数版本进行管理,就使用“应用”

创建Serverless应用

应用创建:选择模板(Express,轻量级nodejs,必要功能齐全,可通过中间件扩展)
因为应用最终还是要变成函数执行,所以创建应用会带一个函数,该函数在后续也不能删除。

开发和部署

创建出来的模板仓库中,有README.md文档,里面有如何本地开发并部署上云的。(但是windows下执行s deploy会导致异常,因为s.yaml中的命令是unix的。)

所以直接在WebIDE开发,然后保存提交部署可以解决部署问题(但是测试速度慢,得等1分钟部署好)

添加依赖的方式

nodejs可以直接在package.json中添加依

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值