Job 作为一种运完即停的负载类型,在企业级开发中承载着丰富的使用场景。SAE Job 将 Serverless 技术所带来的普惠红利从应用领域向外延展至任务领域,通过结合 longrun + shortrun 的使用场景和最佳实践打造成为 Serverless 一体化企业级开发运维平台,以满足不同行业的差异化诉求,为用户提供更加完善多元的能力支持和稳定可靠的技术保障。
目前运行 Job 的主流方式是采用分布式任务框架,比如 Quartz、XXLJob 、ElasticJob 等。此类框架作为面世时间较长的开源项目,使用企业众多,功能成熟。而在云原生时代,K8S Job 和 CronJob 也逐渐被考虑采用。但是上述方案普遍存在以下痛点:
首先,资源利用率低。采用开源的分布式框架需要程序常驻,在云主机中 7*24 小时收费。而K8S 方案也需要用户维护集群节点,造成成本浪费。
其次,可观测性差。用户需要完全自建一套日志采集、集群和业务监控指标采集、告警系统来满足生产环境的需要。
最后,运维复杂。无论是开源框架还是 K8S ,都需要关注底层资源的高可用、高并发下任务的容量和弹性,其运维操作具有较高的技术复杂度。