应用现代化重塑软件产业分论坛--基于Serverless K8s Argo打造现代化离线任务平台.pdf
1、基于Serverless K8s+Argo Workflow打造现代化离线任务平台庄宇阿里云 容器服务 高级技术专家2023年12月1日目录1.云原生离线任务2.Argo Workflow3.全托管跨地域Argo工作流集群从无状态应用,到企业核心应用,到数据处理/AI/科学计算等离线任务ArgoWorkflow云原生离线任务 -云原生操作系统Kubernetes云原生离线任务 -基于Kubernetes做离线任务编排ArgoWorkflow离线任务编排 和 大规模离线任务运行持续集成仿真计算科学计算数据处理云原生离线任务 -离线任务编排项目比较离线任务编排项目比较Kubernetes nati
2、veUser casesAdvanced orchestration(e.g.DAG)LanguageArgo WorkflowYes通用YesYAML/PythonKube Job/CronJobYes简单JobNoYAMLTektonYes持续集成NoYAMLApache AirflowNo通用YesPythonArgo Workflow CNCF毕业项目定义:完全运行在Kubernetes上的,通用的,离线任务与复杂工作流编排与执行引擎。重要功能:1.完善的UI/CLI2.REST API/SDK3.Steps/DAG4.参数传递(Alibaba Cloud OSS)5.模版与模版组合6
3、.工作流存档7.定时工作流8.重试机制重要场景:1.Batch2.Data processing3.ML4.Simulation5.CI/CD生态:1.广泛被其他开源项目使用:Kubeflow,Metaflow,Hera,Couler2.丰富的SDK:Golang,Python,JavaArgo Workflow 工作流实例:参数传递1.串行Steps。2.参数通过Artifact(OSS)在Step间传递。3.Step通过Pod运行。4.Container可自定义镜像和运行脚本(Shell/Python)。Argo Workflow 工作流实例:DAG1.数据处理:Fan-out/Fan-i
4、n,Map-Reduce。2.动态 或 静态 DAG。3.构建复杂离线任务流程。Argo Workflow 开源挑战:运行成本高,维护成本高1.稳定:如何降低Pod和工作流残留影响新建工作流,什么GC策略和时机对业务是合理的?2.性能:如何处理大规模任务千级并行万级长短任务(10W+核),降低并行导致的调度排队,任务排队?3.安全:如何实现用户认证,鉴权和云账号的单点登录?4.易用:如何设置准确的资源配额(CPU,Memory),如何简化业务团队投递和重试投递?5.弹性:业务高峰,如何快速扩容计算存储资源,并及时回收资源?6.成本:如何评估工作流和业务的处理成本?7.升级:如何持续迭代,解决老





点击查看更多