Serverless应用引擎SAE(Serverless App Engine)是面向应用的Serverless PaaS平台,提供成本更优、效率更高的一站式应用托管方案。针对容器基础入门级的情况,您依然可以享受Serverless、K8s和微服务。本文介绍SAE在微服务、多语言和任务场景下,与开源自建产品在IaaS购买、系统搭建、成本、管理、弹性效率和监控诊断等方面的对比。

基础场景

对比项 开源自建SC/Dubbo+IaaS集群 开源自建SC/Dubbo+自建K8s集群 SAE
IaaS购买和系统搭建 需要。 需要。 不需要。SAE内置K8s集群底座和微服务框架。
运维成本 需要。 需要。 不需要。SAE免运维。
硬件成本 按峰值固定保有包年IaaS,资源利用率低,有闲置浪费。 按峰值固定保有包年IaaS,资源利用率低,有闲置浪费。 按需使用,按量付费,无闲置浪费。
应用管理
  • 纯黑屏操作,效率低和易出错。
  • 自行集成各个云服务,自研发布策略用于规避停机升级风险。
  • Kubectl或K8s Dashboard操作,门槛高。
  • 自行集成各个云服务,自研发布策略规避停机升级风险。
  • 白屏化操作,根据应用健康自动调配流量。
  • 可灰度、可观测和可回滚。
  • 支持通过Jenkins和云效实现CI/CD部署。
  • 提供镜像仓库和代码源等。
权限管理 自研解决方案。 基于K8s RBAC机制完成认证访问授权,但无法满足企业多租户权限隔离需求。 对接RAM系统,提供命名空间级别和应用级别的权限隔离能力。
弹性效率 分钟级。 分钟级。 秒级。
使用体验
  • 创建应用前置步骤多(需购买机器、创建集群和初始化集群等)。
  • 自行对接各个云服务,集成体验差。
  • 创建应用前置步骤多(需购买机器、创建集群和初始化集群等)。
  • 自行对接各个云服务,集成体验差。
  • 直接创建应用,流程极简。
  • 无缝对接各个云服务,一站式PaaS体验。

微服务场景

对比项 开源自建SC/Dubbo+IaaS集群 开源自建SC/Dubbo+自建K8s集群 SAE
微服务管理 基于开源自建,探索集成解决方案。 基于开源自建,探索集成解决方案。
  • 无缝迁移。
  • 全套微服务能力,兜底稳定性。
监控诊断 根据开源体系自行探索和开发,自行集成诊断工具和维护服务端,并搭建报警渠道。 根据开源体系自行探索和开发,自行集成诊断工具和维护服务端,并搭建报警渠道。
  • 提供系统级别监控、应用级别和调用链监控。
  • 提供应用诊断功能。
  • 支持自定义报警规则。
应用高可用 自行探索和开发高可用保障体系,对团队技术要求相当高。 自行探索和开发高可用保障体系,对团队技术要求相当高。
  • 支持多可用区部署。
  • 提供面向大型促销活动等突发流量高峰场景(精准容量+弹性+限流降级)的高可用方案。

多语言场景

对比项 开源自建PHP+IaaS集群 开源自建PHP+自建K8s集群 SAE
多语言运行环境 不支持,基于开源自建,探索集成解决方案。 不支持,基于开源自建,探索集成解决方案。 支持PHP-FPM结合Nginx的在线应用。
远程调试 不支持,基于开源自建,探索集成解决方案。 不支持,基于开源自建,探索集成解决方案。
  • 支持通过Webshell下载文件。
  • 支持通过NAS和OSS上传文件。
  • 支持通过SAE跳板机SSH和SFTP上传文件。
  • 支持通过内置Xdebug远程调试工具。
静态文件部署 不支持,基于开源自建,探索集成解决方案。 不支持,基于开源自建,探索集成解决方案。
  • 支持NAS和OSS独立管理静态文件与目录。
  • 支持修改Nginx配置开启文件缓存。
配置中心管理 基于开源自建,探索集成解决方案。 基于开源自建,探索集成解决方案。
  • 无缝迁移。
  • 全套配置中心能力,兜底稳定性。
监控诊断 根据开源体系自行探索和开发,自行集成诊断工具和维护服务端,并搭建报警渠道。 根据开源体系自行探索和开发,自行集成诊断工具和维护服务端,并搭建报警渠道。
  • 提供PHP系统级别监控、应用级别和调用链监控。
  • 提供应用诊断功能。
  • 支持自定义报警规则。
应用高可用 自行探索和开发高可用保障体系,对团队技术要求相当高。 自行探索和开发高可用保障体系,对团队技术要求相当高。
  • 支持多可用区部署。
  • 提供面向大型促销活动等突发流量高峰场景(精准容量+弹性)的高可用方案。

任务场景

对比项 Quartz ElasticJob XXL-JOB SAE Job
资源成本 资源常驻。 资源常驻。 资源常驻。 运行完即停,按量付费。
接入成本 SDK SDK SDK 无修改,无入侵。
触发模式 Cron Cron Cron
  • Cron
  • OpenAPI
分布式 不支持 分片
  • 广播
  • 分片
  • 广播
  • 分片
多语言支持 Java
  • Java
  • Shell
  • Java
  • Shell
  • Python
  • PHP
  • Node.js
  • Java
  • Shell
  • Python
  • PHP
  • Node.js
  • Go
  • 自定义
可观测
  • 历史记录
  • 运行日志
  • 历史记录
  • 运行日志
  • 监控大盘
  • 历史记录
  • 运行日志
  • 监控大盘
  • 事件通知
可运维 启用、禁用任务
  • 启用、禁用任务
  • 手动运行任务
  • 停止任务
  • 启用、禁用任务
  • 手动运行任务
  • 停止任务
  • 复制任务
  • 权限审计
报警通知 邮件 邮件
  • 邮件
  • 钉钉
  • 短信
  • 电话
资源供给 固定,取决于集群规模。 固定,取决于集群规模。 固定,取决于集群规模。 灵活,可在海量资源池中扩展。
资源调度 自行维护。 自行维护。 自行维护。 内置调度器,全托管免运维。