如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

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:005341
用户头像

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

关注

评论

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

全球领先光伏企业的碳管理进阶之旅

AMT企源

碳管理

浏览器缓存清理工具Cookie for Mac激活版

小玖_苹果Mac软件

智慧公厕2.0:未来城市公共卫生空间的新探索

光明源智慧厕所

RAG的技术困境:为何单纯依赖向量嵌入不可靠?

Baihai IDP

人工智能 程序员 AI LLMs rag

【论文速读】| 利用大语言模型在灰盒模糊测试中生成初始种子

云起无垠

剪贴板文件笔记快捷工具Unclutter for Mac激活版

小玖_苹果Mac软件

“领导企业转型必修课” 3月1-2日敏捷领导者(CAL1)认证周末班

ShineScrum

Scrum 敏捷 敏捷领导力 敏捷培训

为什么软件测试开发需要智能体(AI Agent)?

测吧(北京)科技有限公司

测试

推荐一个适合TikTok直播的海外直播专线

Ogcloud

海外直播专线 tiktok直播 tiktok直播专线 tiktok直播网络 tk直播专线

浅谈 2025 年加密货币叙事中的「真相」和「谎言」,哪些叙事值得关注?

TechubNews

研究报告 #区块链 #Web3

TiDB 8.5 LTS 发版——支持无限扩展,开启 AI 就绪新时代

PingCAP

数据库 AI 分布式 TiDB

使用海外直播专线,拓展直播带货的海外市场

Ogcloud

海外直播专线 海外直播 直播专线 海外直播网络 海外直播IP

G1原理—G1是如何提升分配对象效率

不在线第一只蜗牛

Java 算法 JVM

PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”

PingCAP

数据库 开源 分布式 TiDB pingCAP

揭秘大厂后端面试硬核考点

王中阳Go

面试 后端 Go 面试题 面经 后端 大厂

年度人力费用你管对了吗?

AMT企源

企业管理 人力成本管控 人力费用

如何在 NocoBase 中开发插件发送 WhatsApp 消息?

NocoBase

开源 工作流 低代码 插件 无代码

【YashanDB知识库】YMP在迁移过程中,遇到报错:failed to open file /qianyi/ymp/ymp_23.3, errno 2, error message "No such file or directory".

YashanDB

数据库 yashandb

软件提取工具Pacifist for Mac激活版

小玖_苹果Mac软件

桌面贴纸工具Desktop Stickers for Mac激活版

小玖_苹果Mac软件

【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错

YashanDB

数据库 yashandb

【YashanDB知识库】进行load data的时候报找不到动态库liblz4.so

YashanDB

数据库 yashandb

免费下载|《可观测性体系建设100问》全册解锁!

博睿数据

OpenAI O3模型:重构软件测试的未来

测试人

软件测试

显卡较量:AMD和英伟达哪个好?

Finovy Cloud

英伟达 AMD 显卡

【YashanDB知识库】如何解决删除分区后索引失效问题

YashanDB

数据库 yashandb

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