eBay平台升级自动化

eBay平台升级自动化解决方案

eBay最近分享了其采用管道驱动自动化解决方案的经验,该方案使其能够持续更新框架和基础设施。该解决方案架构具有高度的灵活性和可扩展性,采用了插件化和松耦合的方法,便于扩展。

平台架构与自动化

eBay平台主要由两个关键组件构成:作为应用代码基础的框架,以及托管应用的云基础设施。通过采用自动化解决方案,eBay简化了作业的准备、执行和验证过程,显著提升了生产力。

升级类型与挑战

在eBay庞大且复杂的市场中,存在多种类型的升级,如框架升级、框架迁移和云迁移。由于平台的规模和复杂性,这些升级是持续进行的,反映了eBay系统的不断演进和增强。

云迁移案例

以云迁移为例,该过程涉及将基础设施从基于虚拟机的OpenStack迁移到基于容器的Kubernetes。这种迁移影响了应用开发生命周期,涉及从基于库的清单方法过渡到基于镜像的清单方法。完成此类迁移通常需要遵循一系列任务,包括元数据收集、配置工作负载、迁移网络拓扑和流量、创建新实例、实施监控,以及最终退役旧有的虚拟机池。

自动化解决方案的特性

仅依赖孤立的脚本或工具进行自动化可能无法确保平台级变更的质量。因此,eBay团队为其自动化解决方案设想了一些特定功能,包括每个工作流需包含多个任务,每个任务需与生态系统无缝交互以执行必要操作,以及高效管理和编排工作流任务以确保自动化框架内的顺畅运行。

自动化架构

自动化架构主要由两个组件构成:协调器和可插拔管道。协调器负责根据输入确定适当的流程,并相应地执行预定义任务。在执行特定流程时,协调器确保任务上下文持久化,以便在下一个任务执行前恢复。任务由协调器按顺序处理,使用Quartz作为任务调度引擎。

协调器内部工作原理

在协调器启动时,流程管理器会预加载流程定义并激活任务监听器,负责协调任务执行。此外,流程管理器还支持任务重试或在必要时跳过特定任务的功能。

未来展望

eBay的平台演进计划涉及可重用的任务和组件,包括可以在不同流程中共享的经过强化的通用任务。团队相信,基于管道的自动化解决方案将成为支持未来基础设施和框架升级的关键能力。

其他相关新闻

eBay最近还因使用契约测试来安全地演进其内部API并支持客户端团队的需求而受到关注。

阅读 33
0 条评论