|《从零入门 Serverless | 一文详解 Serverless 技术选型》( 二 )


Serverless 应用引擎
【|《从零入门 Serverless | 一文详解 Serverless 技术选型》】 1. SAE 概述
|《从零入门 Serverless | 一文详解 Serverless 技术选型》
本文插图

SAE 是业内首款面向应用的 Serverless Paas 平台 。 这个产品以面向应用的视角 , 帮助用户在不做任何修改的前提下把存量应用上到云端 。 在资源层 , 用户不再需要自己管理和运维机器及集群 , 只需要关注自己应用所需要使用的规格以及实例数 , 不再需要关心底层是虚机还是容器 。
SAE 从资源层面提供计算资源、弹性、隔离性等能力 , 让用户只需要关注自己的应用 。 在应用层 , SAE 提供了监控、日志、微服务治理等能力 , 帮助用户解决应用可观测性和治理需求 。 同时提供网络配置、流量控制能力 , 提供了和 CICD 良好的集成 , 用户可以使用已有 CICD 部署到 SAE , 比如 jenkins、云效等 , 可以说覆盖了应用上云的完整场景 。
2. SAE 典型场景
|《从零入门 Serverless | 一文详解 Serverless 技术选型》
本文插图

SAE 有几个典型的使用场景 , 一个是存量业务上云 , 特别是微服务、java 应用 , 同时也支持其他语言的单体应用 , 都能够通过 SAE 这个平台运行在阿里云上 , 并且不需要做任何代码的修改 。 在行业方面 , SAE 特别适合有比较大的流量波动的在线业务 , 比如电商大促、在线教育等行业的场景 。 另外 SAE 作为应用平台也可以被上层的行业 Saas 所集成 , 帮助用户更快地构建行业 Saas 。
3. SAE 特性
|《从零入门 Serverless | 一文详解 Serverless 技术选型》
本文插图

通过上面的场景介绍 , 我们可以看到 SAE 除了 Serverless 体验本身所带来的极致弹性、免运维等特性之外 , 重点在应用层给用户提供全栈的能力 , 包括对微服务的增强支持 , 以及整合了和应用息息相关的能力 , 包括配置、监控、日志、流量控制等 。 再加上用户零代码的改动 , 是企业在线业务平滑上云非常好的选择 。
Serverless Kubernetes
1. ASK 概述
|《从零入门 Serverless | 一文详解 Serverless 技术选型》
本文插图

另一个阿里云提供的 Serverless 产品是 Serverless K8s 。 但是 K8s 怎么还能 Serverless 呢?这就需要先了解一下技术架构的演进历程 。
最早的时候大家都把 Docker 镜像部署在虚机里 , 用户需要购买 ECS , 然后部署镜像 , 最后是网络的一些配置 , 比如 SLB、EIP 等 。 在这个过程中 , 用户需要自己完成部署动作 , 扩容需要自己重复上面的动作 , 或者自己构建一套自动化脚本 , 相对来说成本和稳定性都比较低 。
之后有了 K8s 来帮大家解决容器编排的问题 。 这种标准化的方式确实大大提高了大家的生产力 。 用户通过使用 deployment、service 等标准的 K8s 的方式进行编排 , 并进行部署 。 但 K8s 的运维和管理还是相对比较复杂的 , 技能要求比较高 , 用户需要运维 ECS 以及通过 ECS 构建出来的 K8s 。 另外一个痛点时 K8s 集群里的 ECS 是需要预先购买的 , 如果客户的负载有比较大的波动 , 就会出现比较多的资源浪费 。 虽然技术上也有解决方案 , 比如 worker node 的弹性 , 但这对于初级用户来说 , 还是有比较高的复杂度 。
那有没有一种方案可以让用户既能享受到 K8s 提供的容器编排能力 , 又能够不需要关心 ECS 和 K8s 的运维、管理和弹性问题呢?这就是 Serverless K8s 的方案 。 对应到阿里云的产品就是 ASK 。 在 ASK 的方案里 , 用户创建一个 ASK 集群 , 但不需要指定任何 ECS 节点 , 然后通过标准的 K8s 容器编排、deployment 等部署镜像 。 ASK 会根据用户的负载需求 , 自动在底层资源池构建需要的 POD 并进行弹性伸缩 , 用户不再需要关心容量规划、ECS 机器运维、资源限制等 LaaS 层的问题 , 非常便利 。


推荐阅读