2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Dropbox 的服务器和网络自动化运维实践

  • 2019-01-29
  • 本文字数:1087 字

    阅读完需:约 4 分钟

Dropbox的服务器和网络自动化运维实践

Dropbox 的工程团队写了一篇有关他们的网络和服务器配置和验证自动化工具 Pirlo 的文章。Pirlo 提供了一种可插拔架构,基于 MySQL 实现了一种自定义作业队列。


Dropbox 有自己的数据中心。Pirlo 工具由 TOR(机架顶部)交换机初始化程序、服务器配置程序和验证程序组成。它作为工作进程运行在一个通用的分布式作业队列上,这个队列基于 MySQL,提供了可用于跟踪运行作业进度和可视化历史数据的 UI。Pirlo 使用了可插拔模块,为每个阶段提供了大量日志记录,用于调试和分析自动化运行。Dropbox 有一个 NRE(网络可靠性工程)团队,负责构建、自动化和监控生产环境的网络。Dropbox 的大多数代码都是用 Python 编写的,不过目前还不清楚 Pirlo 是否也是用 Python 编写的。


交换机和服务器配置程序都使用了作业队列,它们的工作流程都很相似,队列管理器选择正确的作业处理程序来处理来自客户端的请求。作业处理程序运行已注册的插件,这些插件负责执行实际的检查和命令。插件执行特定的作业,发出状态码,并将状态发布到数据库日志。这是大多数作业队列的运行方式,因此很自然地就会有人问为什么这个团队没有选择像 Celery 这样的现有队列解决方案。文章的作者解释说:


我们不需要整个功能集,也不想要第三方工具的复杂性。内部原语为我们提供了更大的设计灵活性,一小组 SRE 就足以开发和运营 Pirlo 服务。


当收到客户端请求时,交换机配置器(叫作 TOR 启动器)就会启动。TOR 交换机是网络设计的一部分,机架上的服务器设备与同一机架上的网络交换机相连,网络交换机通常位于顶部。它尝试通过 gRPC 使用服务发现找到健康的服务器,然后队列管理器为该作业选择一个作业处理程序。交换机验证和配置是一个多步骤过程,从建立基本的连接开始。随后会执行各个插件,最终下载交换机配置并重启。


服务器配置和验证过程类似。我们使用 Debirf 创建的操作系统镜像启动验证器,这个操作系统镜像可以创建基于 RAM 的文件系统,完全从内存运行 Debian 系统。它的绰号叫 Hotdog,一个基于 Ubuntu 的镜像,可以通过网络启动并运行验证、基准测试和压力测试。测试结果被推送到数据库,并用于后续的分析。测试过程包括根据硬件工程团队批准的预定义配置列表验证各种硬件和固件组件。修好的机器在重新投入生产之前也需要经过这个测试套件的测试。


Pirlo 的 UI 显示了当前正在运行和已完成的作业的进度。Dropbox 曾经使用 playbooks(或 runbooks)来执行配置。其他一些工程团队运行自己的数据中心,他们也已经从基于 runbook 的配置转向零接触配置(ZTP),尽管使用了不同的方法。


查看英文原文:


https://www.infoq.com/news/2019/01/dropbox-datacenter-automation


2019-01-29 11:005371
用户头像

发布了 731 篇内容, 共 482.0 次阅读, 收获喜欢 2008 次。

关注

评论

发布
暂无评论
发现更多内容

基于华为开发者空间-云开发环境Docker+Flink实现大数据实时统计系统

华为云开发者联盟

Docker flink 华为开发者空间

实时物化视图的新路径:从传统 Join 到跨源实时查询

tapdata

数据管道 实时数据同步 实时物化视图 传统join CQRS实时数据架构

零碳园区建设指南:MyEMS 如何用数字化破解能耗与碳排放协同管理难题?

开源能源管理系统

开源 能源管理系统

YashanDB的未来趋势:技术演进与市场需求

数据库砖家

基于华为开发者空间云开发环境部署Claude Code + KAT-Coder实现AI编程助手

华为云开发者联盟

华为开发者空间 AI 编程 Claude-Code Tokens KAT-Coder

信息化灾备解决方案

金陵老街

灾备方案

技术集成、数据驱动,经济波动期间企业财务自救指南

智达方通

智能体的未来:从基础设施到智能体经济

逻辑学家

智能体 agent 智能体社区

MIAOYUN | 每周AI新鲜事儿(10.11-10.17)

MIAOYUN

AI 算法 AI技术 AIGC 大语言模型

CST工作室套装提供的网格类型有哪些?CST studio suite代理商

思茂信息

cst CST软件 CST Studio Suite

蚂蚁集团、京东已暂停在港发行稳定币计划

TechubNews

NASA运货飞船天鹅座再次推迟,航天任务为什么总是“彩排”不断

DevOps和数字孪生

CAD中普通文字与批注文字有什么区别?

在路上

cad CAD看图王

从代码到碳表:MyEMS 开源社区版如何支撑中小企业双碳合规?​

开源能源管理系统

开源 能源管理系统

文科+AI 教学转型,和鲸智学一体机降实践门槛、塑数据思维、促创新发展

ModelWhale

一体机 高等教育 教育数字化

大数据-130 - Flink CEP 详解 - 捕获超时事件提取全解析:从原理到完整实战代码教程 恶意登录案例实现

武子康

Java 大数据 flink spark 分布式

解析推特GIF下载机制:如何高效保存推特GIF动图

So...

twitter GIF 推特 x

CAD一键测量半径/直径,赶快来试试!

在路上

cad CAD看图王

小红书API接口文档:笔记详情数据开发手册

Datafox(数据狐)

小红书笔记详情接口 小红书API 小红书笔记详情api 小红书接口

MyEMS:衔接 “双控” 政策与企业实践的开源能源管理利器

开源能源管理系统

开源 能源管理系统-

AI时代的数据管理新范式:Git for Data让数据工程化

MatrixOrigin

git AI Data

手工VS.智能:AI商品计划如何让效率飙升90%?

第七在线

YashanDB的未来技术趋势与创新展望

数据库砖家

小红书笔记评论API:一键获取分层评论与用户互动数据

Datafox(数据狐)

小红书API 小红书笔记评论接口 小红书笔记评论采集 小红书笔记评论api

《伊米尔传奇》10月28日公测 预约奖励获取

江湖老铁

YashanDB的维护成本评估:企业资金的合理配置

数据库砖家

YashanDB的未来趋势及其对数据管理的影响

数据库砖家

【堆与优先队列】堆与优先队列:“数据金字塔“与“我是VIP“

华为云开发者联盟

数据结构 优先队列 华为开发者空间

Amazon Bedrock AgentCore Memory:亚马逊云科技的托管记忆解决方案

亚马逊云科技 (Amazon Web Services)

低代码平台最新发展方向:从辅助工具到核心引擎的五大演进路径

星云低代码中间件

ide 低代码 开发工具 数字化

Dropbox的服务器和网络自动化运维实践_服务革新_Hrishikesh Barua_InfoQ精选文章