阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台

作者:田双坤、禹杨杨、孙健翔


01 前言


深势科技是“AI for Science”科学研究范式的引领者和践行者,致力于运用人工智能和多尺度模拟仿真算法,结合先进计算手段求解重要科学问题,为人类文明最基础的生物医药、能源、材料和信息科学与工程研究打造新一代微尺度工业设计和仿真平台。




对于深势的科学家和用户来讲,每天都要进行大量的仿真计算和实验,对应有数以万计的任务需要运行,于是深势科技构建了自己的机器学习任务平台,来实现任务开发训练的自动化提交运行,但是随着业务发展,任务数量和复杂度急剧增大,平台出现了许多的痛点。



02 业务痛点


在使用任务平台的过程中,主要遇到以下痛点:

1)无法高效弹性

业务具有峰值高,并发大的特点,高峰期可能达到万节点,资源供给不足,会导致业务失败。 在任务跨系统调用时,等待时会产生空闲 Pod,一昧空转会导致资源浪费。


2)运维困难

任务引擎基于开源构建,在出现问题时,需要专业的人来定位问题,由于用户提交的任务参数复杂,步骤多,常常需要耗时数小时,成本巨大。为了避免业务之间的相互影响,按照业务区分了不同的集群,进一步加剧了运维的困难程度。


3)稳定性低

在集群中运行非常多的工作流时,管控面压力太大,会导致集群不可用,业务受损,并且任务失败重试机制不完善,整体任务完成率低。


4)安全风险

权限控制困难,无法做到用户级别的权限控制,有很多潜在的不稳定因素,难以保证业务和主机安全。


03 全托管 Serverless Argo 工作流


Argo Workflows 是 CNCF 毕业项目,最受欢迎的云原生工作流引擎,无缝兼容 Kubernetes,在机器学习、数据处理、CI/CD、自动化等场景下有着非常广泛的应用。


为使企业可以更加轻松地编排工作流,在短时间内轻松运行大规模机器学习或数据处理的计算密集型作业,快速运行 CI/CD 流水线,阿里云分布式云容器平台 ACK One 提供无服务器模式的分布式工作流 Argo 集群功能(Serverless Argo),使用阿里云弹性容器实例 ECI 运行工作流,通过优化 Kubernetes 集群参数,实现大规模工作流的高效弹性调度,同时配合抢占式 ECI 实例,优化成本。ACK One Serverless Argo 托管了开源 Argo Workflows,完全兼容社区标准,并且在其基础上有众多增强:




1)跨地域高弹性,资源按需

结合大规模 Serverless Pod 以及跨地域算力调度,在高峰期能够调度到数十万弹性资源,完美应付算力高峰。


增强开源 Argo Suspend 机制,减少跨系统间调用时的资源空转浪费,节省成本。


2)开箱即用,无需运维

Serverless Argo 紧跟开源社区,托管并加强了开源 Argo Workflows,支持大 Workflow(5000+Pod),大规格参数,运行时更新重试,机器学习工程师无需感知底层架构,5 分钟即可获得一个稳定高性能的工作流引擎。


3)集群高可靠

通过众多大规模使用场景沉淀,Serverless Argo 对集群的管控面进行了针对 Workflow 类型任务的参数调优,提升了管控面稳定性,对无效资源进行定期清理,保证集群的长期稳定运行。


4)安全

结合阿里云权限控制,Serverless Argo 能够提供精细化的权限控制。支持 RAM 账号 SSO 登陆,Namespace 级隔离,有效降低集群安全风险。


Serverless Argo 平台非常好的满足了深势科技对于机器学习任务平台高效弹性、免运维、高可靠、安全等方面的需求,迁移也是水到渠成的结果。除此之外,平台还在事件驱动、数据访问、社区差异化等方面有许多优化和增强,让不同类型用户在 ACK One Serverless Argo 平台上得到适配更多场景、更丰富的能力,可以更便捷的构建起符合自身业务需求的工作流平台。


5)事件驱动

托管了 Argo Events,一键开启,并且整合支持了 MNS、OSS 等阿里云产品和开源 Git 等事件源的驱动,自动化的触发任务运行,可以帮助用户构建事件驱动的全自动化工作流平台。


6)数据访问

支持高带宽读,提供的 CNFS 支持 NAS、OSS、CPFS 混合使用和多链路加速访问, 支持 20GB+ 读带宽。提供分布式缓存加速能力,提高数据访问性能,减少任务启动时延,有效节省成本。


7)社区版差异化

相比开源的 Argo Workflows,除了稳定性、可靠性的保障之外,还提供许多的差异化能力,来提高用户工作流的成功率和可观测性:

  • 自动化感知任务失败原因(OOM、Spot Release、磁盘不足等)并 Retry 和自适应 Pod 资源扩容。
  • 工作流 DAG FailFast、Continue On 逻辑优化和 UpdateAPI 增强,支持运行时更新。
  • 工作流端到端成本/资源观测支持、Inputs/Outputs Artifacts UI 可观测支持。
  • 超大输入参数工作流支持。加速工作流间参数解析,支持更扁平(2000+Step)工作流。


04 迁移成果


在技术方面,深势科技联合 ACK One 团队将之前积累的多项特性一同贡献给社区,进一步提高 Argo Workflows 项目的稳定性和易用性。


在业务方面,由于 Serverless Argo 完全兼容开源 Argo Workflows,所以原平台的各个业务模板可以达到无需修改、无缝迁移,在一周之内就完成了机器学习任务平台的整体迁移。原本分散的多个集群,如今在 Serverless Argo 平台的助力下,被整合成一个高效、统一的集群,这一变革使运维成本显著降低,简化了管理流程,并提升了系统的整体性能。


深势科技 Lebesgue 基础服务负责人孙建翔对迁移过程中的顺利进展表示满意。他特别提到:“阿里云的积极协助在整个迁移过程中起到了关键作用。他们的专业团队为我们提供了全方位的支持,从方案设计到实施迁移,都给予了我们极大的帮助。无论是多大的工作负载,Serverless Argo 平台都能轻松应对,其出色的弹性和扩展性让我们倍感安心,用户对于超大工作流的拉起速度的提升表示高度赞赏。有了 Serverless Argo 平台的强大支持,我们有信心将更多的业务迁移至该平台,从而进一步提升研发效率,加速产品的迭代和创新。我们期待着在 Serverless Argo 平台的助力下,不断突破技术瓶颈,为用户提供更加卓越的产品和服务体验。”


05 未来


随着模拟仿真、科学计算等大规模数据处理需求越来越多,ACK One Serverless Argo 会继续在弹性、稳定性等方面进行增强,更好的支持大规模数据处理的运行。在 CI/CD、自动化方面也会适配更多场景,驱动基础设施的自动化改造。欢迎使用钉钉搜索群号加入我们。(钉钉群号:35688562


点击此处,了解分布式工作流 Argo 集群详情。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
Kubernetes 开发者 Docker
构建高效微服务架构:Docker与Kubernetes的协同应用
【5月更文挑战第30天】 在当今软件开发领域,微服务架构已成为实现系统模块化、提升可维护性及扩展性的关键策略。本文深入探讨了如何通过Docker容器化技术和Kubernetes集群管理,共同构建一个既高效又可靠的后端微服务环境。我们将剖析Docker和Kubernetes的核心功能,以及它们如何相辅相成,支撑起现代化的云原生应用程序部署和管理。文章还将提供具体实践案例,帮助开发者理解将理论应用于实际开发过程中的步骤和考虑因素。
|
2月前
|
Kubernetes Cloud Native 开发者
构建高效的云原生应用:Docker与Kubernetes的完美搭档
【5月更文挑战第29天】 在现代软件开发领域,"云原生"这一术语已经成为高效、可扩展和弹性的代名词。本文将深入探讨如何通过Docker容器化技术和Kubernetes集群管理工具实现云原生应用的构建和管理。我们将剖析Docker的核心原理,揭示其轻量级和易于部署的特点,并进一步探索Kubernetes如何为这些容器提供编排,保证应用的高可用性与自动扩缩容。文章不仅讨论了二者的技术细节,还提供了实践案例,帮助开发者理解并运用这些技术构建和维护自己的云原生应用。
|
2月前
|
SQL 分布式计算 监控
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
本文演示了使用 EMR Serverless Spark 产品搭建一个日志分析应用的全流程,包括数据开发和生产调度以及交互式查询等场景。
56486 7
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
|
23天前
|
Kubernetes 前端开发 Serverless
Serverless 应用引擎产品使用合集之如何调用Kubernetes集群内服务
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6天前
|
弹性计算 Kubernetes Java
阿里云云效产品使用问题之是否支持其他云厂商的Serverless容器发布
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6天前
|
前端开发 Devops 测试技术
阿里云云效产品使用问题之更换所部署的环境关联的ACK集群该如何实现
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于Docker和Kubernetes的实践
【5月更文挑战第30天】 在当今的快速迭代和持续部署的软件发布环境中,自动化运维的重要性愈发凸显。本文旨在探讨如何利用容器化技术与微服务架构,特别是Docker和Kubernetes,来构建一个高效、可伸缩且自愈的自动化运维体系。通过详细分析容器化的优势及Kubernetes的集群管理机制,文章将提供一个清晰的指南,帮助读者理解并实现现代软件部署的最佳实践。
|
2月前
|
运维 数据挖掘 Serverless
阿里云Elasticsearch Serverless助力某电商平台公司实现商品订单数据的实时写入查询
某电商平台公司采用阿里云Elasticsearch Serverless解决方案,实现商品、订单和其他关键信息的写入和查询的实时响应。
237 1
|
2月前
|
Kubernetes Cloud Native 开发者
构建高效云原生应用:Kubernetes与微服务架构的融合
【5月更文挑战第31天】 在数字化转型和技术迭代的大潮中,企业对于敏捷、可扩展的IT基础设施需求日益增长。云原生技术以其独特的优势成为推动这一进程的关键力量。本文深入探讨了如何通过结合Kubernetes容器编排和微服务架构来构建和维护高效、可靠的云原生应用。我们将剖析这种技术整合的必要性,揭示其背后的原理,并讨论在实际部署过程中可能遇到的挑战及解决方案。通过案例分析和最佳实践的分享,旨在为开发者和架构师提供一套行之有效的云原生应用构建指南。
|
2月前
|
运维 Kubernetes 监控
构建高效自动化运维体系:基于Docker和Kubernetes的实践指南
【5月更文挑战第29天】 在现代云计算环境中,自动化运维已成为提升服务效率、确保系统稳定性的关键因素。本文深入探讨了如何利用Docker容器化技术和Kubernetes集群管理工具来构建一个高效且灵活的自动化运维体系。通过分析具体实施步骤和策略,我们旨在为读者提供一个清晰的指导框架,以支持他们在不断变化的技术需求中快速部署和扩展应用程序。本指南不仅涉及技术的基础知识,还涵盖了持续集成/持续部署(CI/CD)流程的集成,以及监控和日志管理的优化实践。

相关产品

  • 容器服务Kubernetes版