简介: SAE Job 重点解决了用户的效率和成本问题,在兼具传统任务使用体验和功能的同时按需使用,按量计费,做到低门槛任务上云,节省闲置资源成本。

Job 作为一种运完即停的负载类型,在企业级开发中承载着丰富的使用场景。SAE Job 将 Serverless 技术所带来的普惠红利从应用领域向外延展至任务领域,通过结合 longrun + shortrun 的使用场景和最佳实践打造成为 Serverless 一体化企业级开发运维平台,以满足不同行业的差异化诉求,为用户提供更加完善多元的能力支持和稳定可靠的技术保障。

目前运行 Job 的主流方式是采用分布式任务框架,比如 Quartz、XXLJob 、ElasticJob 等。此类框架作为面世时间较长的开源项目,使用企业众多,功能成熟。而在云原生时代,K8S Job 和 CronJob 也逐渐被考虑采用。但是上述方案普遍存在以下痛点:

首先,资源利用率低。采用开源的分布式框架需要程序常驻,在云主机中 7*24 小时收费。而K8S 方案也需要用户维护集群节点,造成成本浪费。

其次,可观测性差。用户需要完全自建一套日志采集、集群和业务监控指标采集、告警系统来满足生产环境的需要。

最后,运维复杂。无论是开源框架还是 K8S ,都需要关注底层资源的高可用、高并发下任务的容量和弹性,其运维操作具有较高的技术复杂度。

SAE Job 作为一款面向任务的 Serverless PaaS 平台,完美解决了以上痛点。SAE Job 重点解决了用户的效率和成本问题,在兼具传统任务使用体验和功能的同时按需使用,按量计费,做到低门槛任务上云,节省闲置资源成本。同时,体验上采用了事件驱动加无入侵任务调度和管控,用户零改造即可具备任务的全生命周期管理及可观测等开箱即用的功能。

SAE Job 支持多种调用方式,包括阿里云标准 API/SDK,能够通过可视化配置 Cron 表达式实现定时任务,通过 HTTP/MQ/OSS 等多种触发器来拉起 SAE Job 。同时支持诸多任务核心特性,包括任务生命周期管理、执行记录、事件通知、日志监控告警、超时重试、阻塞策略、任务分片、任务多并发等。

SAE Job 提供了三大核心价值:

①  完备全托管:提供了一站式全托管的管理界面,其任务生命周期管理、可观测性开箱即用,用户可以低心智负担、零成本地学习使用 SAE 。

②  简单免运维:屏蔽了底层资源,用户只需关注其核心的业务逻辑开发,无需操心集群可用性、容量、性能等方面的问题。

③  超高性价比:采用按需使用、按量付费的模式,只有任务执行业务逻辑时才会拉起收费,其余时间不收取任何费用,极大节省了资源的成本开销。

下面演示一下 SAE Job 的整体使用流程:

竞霄demo 01.mp4

SAE Job 以任务为中心,提供传统的用户体验。当前聚焦支持单机广播、并行分片模型的任务,同时支持事件驱动、并发策略和超时重试等诸多特性,提供低成本、多规格、高弹性的资源实例来满足短时任务的执行。

相比开源的分布式框架,其优点在于全托管面运维的用户体验,开箱即用的完备功能以及白屏化管控,任务运行完立即释放资源,不会浪费闲置资源成本。

与 K8S Job 相比,其优点除了全托管免费,还有用户无需了解 K8S 相关概念及技术细节,无需维护其复杂度。

SAE 支持 XXL Job 0 改造迁移,用户无需任何代码和配置的修改即可将 XXL JOB 应用部署至 SAE Job, 用户只需为任务实际执行逻辑过程中付费。在此过程中 SAE Job 充当了 XXL Job 的调度中心和执行器,用户只需聚焦任务代码和简单配置,比如任务模板、并发重试等,由 SAE 负责无入侵地进行任务调度和管控。

将 XXL Job 部署到 SAE ,其核心价值是降本提效:

降本体现在:如果采用原有的 XXL Job,为了保持其高可用,至少需要 MySQL+2ECS+SLB+N*ECS 的常驻费用,而部署到 SAE 上则只需要为其任务执行具体业务逻辑所消耗的 CPU 内存付费,即 SAE 实际的资源消耗量。

提效体现在:SAE 全托管面运维的体验,降低了整体运维复杂度,提升了应用可用性。

下面演示一下 XXL Job 0 改造迁移流程:

竞霄demo 02.mp4

SAE Job 目前主要聚焦于泛互联网、新零售、电商、文化传媒、制造、 IoT、物流、金融证券、医疗卫健和保险等行业。主打的场景包含以下六个:

①  定时任务:定时拉取数据、爬虫。

②  批处理:数据清洗、转换、分析。

③  异步执行:异步进行状态刷新以及离线查询。

④  传统框架迁移:XXL Job 0改造迁移等。

⑤  微服务架构:与原有的微服务架构进行调用通信、流程解耦。

⑥  CI/CD:用SAE Job 作为构建镜像的载体实现GitOps ,从而完善 CI/CD 的流程。

最后分享一个采用 SAE Job 结合微服务的客户案例,用户的业务诉求为:需要通过定时任务将酒店产品变化的数据定期推送给第三方平台,比如飞猪等。其任务有两个特点:首先,任务的初始化耗时久,需要分钟级;其次,任务执行时间非常长,需要 5-6 个小时,并且除了处理业务逻辑之外,还需要调用其他微服务来获取元数据等信息。

我们为此提供的解决方案是将订单中心、产品中心、用户中心等微服务直接部署到 SAE应用上,将定时任务部署到 SAE Job里,用户无需改造即可通过 SAE 内置的注册中心实现通信。

该解决方案为用户提供了诸多价值:

  • 两种负载统一入口操作、应用间调用0改造。
  • 任务运完即停,立刻释放闲置资源,极大节省了资源成本。
  • 超时失败自动重试,无需人工干预实现自愈。
  • 提供完善的任务运行时监控报警机制。

借助这套解决方案,用户 0 代码改造即完成了整个架构 Serverless 化,同时节省了资源成本和运维成本,SAE 将持续为其应用和任务的可用性保驾护航。

最后,欢迎大家来使用SAE Job, 一款面向任务的 Serverless PaaS 平台, 感受其对传统任务所带来的新变革。

原文链接:http://click.aliyun.com/m/1000345818/

本文为阿里云原创内容,未经允许不得转载。

Serverless JOB | 传统任务新变革的更多相关文章

  1. Serverless对研发效能的变革和创新 云托管和Serverless应用差异

    https://mp.weixin.qq.com/s/J4RXtKanh3IMr4fY7t0nyQ Serverless对研发效能的变革和创新 杨皓然(不瞋) 阿里巴巴中间件 2020-10-23

  2. Serverless 对研发效能的变革和创新

    作者 | 杨皓然(不瞋) 对企业而言,Serverless 架构有着巨大的应用潜力.随着云产品的完善,产品的集成和被集成能力的加强,软件交付流程自动化能力的提高,我们相信在 Serverless 架构 ...

  3. 掌握新变革,解密新趋势|msup第29届MPD软件管理工作坊成功召开

    由msup主办的第29届MPD软件管理工作坊于7月9日-7月10日在北京国家会议中心举行,25位一线讲师,近500名软件研发工作者共同探讨软件研发与科技发展趋势. 随着移动互联网的发展,软件开发行业的 ...

  4. 三大特性,多个场景,Serverless 应用引擎 SAE 全面升级

    作者:营火 微服务能力大提升,更新增 Job.PHP 等场景,延展 Serverless 新边界 点击此处,获得阿里云 SAE 发布会直播 PPT! 企业的数字化随着互联网的普及发展越来越快,技术架构 ...

  5. 阿里云函数计算发布新功能,支持容器镜像,加速应用 Serverless 进程

    我们先通过一段视频来看看函数计算和容器相结合后,在视频转码场景下的优秀表现.点击观看视频 >> FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维. ...

  6. Serverless 架构:用服务代替服务器

    Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需 加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:&q ...

  7. 热度3年猛增20倍,Serverless&云开发的技术架构全解析

    『 作为一个不断发展的新兴技术, Serverless 热度的制高点已然到来.』 或许,Google Trends 所显示的 3 年猛增 20 倍的" Serverless " 搜 ...

  8. 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践

    作者 | 万佳 嘉宾 | 杨皓然(不瞋) 导读:云的下一波浪潮是什么?杨皓然称"是 Serverless".作为一名阿里老兵,他早在 2010 年即加入阿里云,曾深度参与阿里云飞天 ...

  9. 专访阿里云 Serverless 负责人:无服务器不会让后端失业

    2012 年,云基础设施服务提供商 Iron.io 的副总裁 Ken 谈到软件开发行业的未来,首次提出了 Serverless 的概念,为云中运行的应用程序描述了一种全新的系统体系架构.此后,以 AW ...

  10. 腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:黄文俊,腾讯云高级产品经理,曾经历过企业级存储.企业级容器平台等产品的架构与开发,对容器.微服务.无服务器.DevOps等都有浓厚兴趣. ...

随机推荐

  1. Kotlin 快速遍历File及子目录筛选指定类型文件

    原文: Kotlin 快速遍历File及子目录筛选指定类型文件 - Stars-One的杂货小窝 在做文件相关的app,经常会遇到筛选某个文件夹下的符合条件的文件对象,且要包含子文件夹,之前一直是自己 ...

  2. spring boot 自动装载对象为null问题的解决

    情况描述 有个Server类,成员变量是spring中自动管理的bean类对象 public class Server { @Autowired private CommandMapper comma ...

  3. ypipe, zmq的核心部件,无锁读写的管道。

    必须指出,无锁读写只限于单个读跟单个写之间,读与读,还有写与写之间必须确保同步.所以ypipe不必读写锁rwlock或者读写之间的锁,但需要读锁跟写锁两个锁,在读端之间或在写端之间仍然是临界资源.本质 ...

  4. System.out.print重定向到文件实例

    该代码可以实现让System.out.print输出内容不再打印到控制台,而是输出到指定的文件中 <strong><span style="font-size:24px;& ...

  5. Ubuntu 16.04 LAMP(PHP7.0) 环境搭建并测试

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  6. Java-求根号n

    平方,开根号在java中是很简单的,Math.sqrt(double n)或者 Math.pow(double a, double b),求a的b次方.但是我们可以自己想想,这些方法到底是怎么实现的. ...

  7. HTML(表格、列表、表单)

    表格 表格的主要作用 1.表格主要用于显示.展示数据,因为它可以让数据显示的非常的规整,可读性非常好.特别是后台展示数据的时候,能够熟练运用表格就显得很重要.一个清爽简约的表格能够把繁杂的数据表现得很 ...

  8. 自己动手做一个批量doc转换为docx文件的小工具

    前言 最近遇到了一个需求,就是要把大量的doc格式文件转换为docx文件,因此就动手做了一个批量转换的小工具. 背景 doc文件是什么? "doc" 文件是一种常见的文件格式,通常 ...

  9. drools中使用全局变量

    一.背景 在我们编写drools的规则文件的时候,有些时候需要用到全局变量,那么这个该怎么实现呢?有哪些注意事项呢? 二.前置知识 1.语法结构 2.全局变量的特点 使用global来定义全局变量,它 ...

  10. Csharp中表达式树

    Csharper中的表达式树 这节课来了解一下表示式树是什么? 在C#中,表达式树是一种数据结构,它可以表示一些代码块,如Lambda表达式或查询表达式.表达式树使你能够查看和操作数据,就像你可以查看 ...