Serverless JOB | 传统任务新变革
简介: 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 的整体使用流程:
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 改造迁移流程:
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 | 传统任务新变革的更多相关文章
- Serverless对研发效能的变革和创新 云托管和Serverless应用差异
https://mp.weixin.qq.com/s/J4RXtKanh3IMr4fY7t0nyQ Serverless对研发效能的变革和创新 杨皓然(不瞋) 阿里巴巴中间件 2020-10-23
- Serverless 对研发效能的变革和创新
作者 | 杨皓然(不瞋) 对企业而言,Serverless 架构有着巨大的应用潜力.随着云产品的完善,产品的集成和被集成能力的加强,软件交付流程自动化能力的提高,我们相信在 Serverless 架构 ...
- 掌握新变革,解密新趋势|msup第29届MPD软件管理工作坊成功召开
由msup主办的第29届MPD软件管理工作坊于7月9日-7月10日在北京国家会议中心举行,25位一线讲师,近500名软件研发工作者共同探讨软件研发与科技发展趋势. 随着移动互联网的发展,软件开发行业的 ...
- 三大特性,多个场景,Serverless 应用引擎 SAE 全面升级
作者:营火 微服务能力大提升,更新增 Job.PHP 等场景,延展 Serverless 新边界 点击此处,获得阿里云 SAE 发布会直播 PPT! 企业的数字化随着互联网的普及发展越来越快,技术架构 ...
- 阿里云函数计算发布新功能,支持容器镜像,加速应用 Serverless 进程
我们先通过一段视频来看看函数计算和容器相结合后,在视频转码场景下的优秀表现.点击观看视频 >> FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维. ...
- Serverless 架构:用服务代替服务器
Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需 加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:&q ...
- 热度3年猛增20倍,Serverless&云开发的技术架构全解析
『 作为一个不断发展的新兴技术, Serverless 热度的制高点已然到来.』 或许,Google Trends 所显示的 3 年猛增 20 倍的" Serverless " 搜 ...
- 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践
作者 | 万佳 嘉宾 | 杨皓然(不瞋) 导读:云的下一波浪潮是什么?杨皓然称"是 Serverless".作为一名阿里老兵,他早在 2010 年即加入阿里云,曾深度参与阿里云飞天 ...
- 专访阿里云 Serverless 负责人:无服务器不会让后端失业
2012 年,云基础设施服务提供商 Iron.io 的副总裁 Ken 谈到软件开发行业的未来,首次提出了 Serverless 的概念,为云中运行的应用程序描述了一种全新的系统体系架构.此后,以 AW ...
- 腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:黄文俊,腾讯云高级产品经理,曾经历过企业级存储.企业级容器平台等产品的架构与开发,对容器.微服务.无服务器.DevOps等都有浓厚兴趣. ...
随机推荐
- day03-功能实现03
功能实现03 9.功能08-分页显示 9.1需求分析 将查询的数据进行分页显示,要求功能如下: 显示共多少条记录 可以设置每页显示几条 点击第几页,显示对应的数据 9.2思路分析 后端使用MyBati ...
- python学习笔记(4):面向对象
面向对象 定义 class Student(被继承类): def __init__(self, xx, xxx): #构造函数 类方法的第一个参数一定是self.除此之外和普通函数并没有区别.同样可以 ...
- 求正整数 n 的所有正因数的个数,qq 次询问。
https://ac.nowcoder.com/acm/contest/22769/A 链接:https://ac.nowcoder.com/acm/contest/22769/A来源:牛客网 时间限 ...
- vim下删除swp文件
vim下删除swp文件 几个选项的内涵 [O]pen Read-Only 只读的方式打开 (E)dit anyway 编辑模式打开,但是不会载入存盘的内容 (R)ecover 编辑模式打开并且加载暂存 ...
- 3DCAT实时云渲染助力VR虚拟现实迈向成熟
近年来,虚拟现实(Virtual Reality, VR)技术在市场上的应用越来越广泛,虚拟现实已成为一个热门的科技话题.相关数据显示,2019年至2021年,我国虚拟现实市场规模不断扩大,从2019 ...
- 超高并发下,Redis热点数据风险破解
★ Redis24篇集合 1 介绍 作者是互联网一线研发负责人,所在业务也是业内核心流量来源,经常参与 业务预定.积分竞拍.商品秒杀等工作. 近期参与多场新员工的面试工作,经常就 『超高并发场景下热点 ...
- .NET Emit 入门教程:第五部分:动态生成方法(MethodBuilder 与 DynamicMethod)
前言: 当我们涉及到在运行时生成和定义方法时,便需要使用到C#中的两个关键类之一:MethodBuilder 或 DynamicMethod. 这两者都属于反射(Reflection.Emit)的一部 ...
- Oracle NLSSORT 拼音排序 笔画排序 部首排序
create table test(name varchar2(20)); insert into test values('中国'); insert into test values('美国'); ...
- KingbaseES数据库安装PostGIS扩展GEOSUnaryunionPrec错误
一.问题现象: KingbaseES V008R006C007B0012数据库集群安装PostGIS扩展插件报错. create extension postgis; ERROR: could not ...
- KingbaseES V8R6 fillfactor 对于表的影响
前言 fillfactor 表的填充因子是一个介于 10 和 100 之间的百分数.100是默认值.如果指定了较小的填充因子,INSERT操作仅按照填充因子指定的百分率填充表页.每个页上的剩余空间将用 ...