AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

TDengine 离线升级流程

TDengine

数据库 tdengine

一图看懂:融云视频会议四大“护法”,让云端开会不再“裸奔”

融云 RongCloud

学生管理系统架构设计文档

泋清

#架构训练营

〖Docker指南③〗Docker镜像的深度解析

步尔斯特

〖Docker指南④〗docker容器卷

步尔斯特

Docker

〖Docker指南⑧〗Docker私有镜像仓库|阿里云|Registry|Harbor

步尔斯特

Docker

〖Docker指南⑨〗本地一键部署微服务项目到阿里云服务器

步尔斯特

Docker

什么是基于安全标记的访问控制机制?有什么特性?

行云管家

网络安全 等级保护 安全标志 访问控制机制

InfoQ 极客传媒 15 周年庆征文|实战 MySQL 高可用架构

悟空聊架构

架构 运维 悟空聊架构 热门活动 InfoQ极客传媒15周年庆

物联网低代码平台权限管理,保障平台安全!

AIRIOT

物联网 低代码开发 低代码开发平台 快速开发平台

InfoQ 极客传媒 15 周年庆征文|PassJava网站生产级事故复盘

悟空聊架构

运维 前端 passjava 悟空聊架构 InfoQ极客传媒15周年庆

〖Docker指南⑩〗轻量级监控及管理工具Portainer

步尔斯特

Docker

《云原生的本手、妙手和俗手》——2022全国新高考I卷作文

步尔斯特

云原生

数据湖基本架构

五分钟学大数据

数据湖 6月月更

以字节跳动内部 Data Catalog 架构升级为例聊业务系统的性能优化

字节跳动数据平台

Apache 大数据 字节跳动 性能优化 数据目录

〖Docker指南②〗Docker常用命令汇总

步尔斯特

Docker

〖Docker指南⑦〗docker-compose快速入门

步尔斯特

Docker

Substrate技术及生态5月大事记 | Square One计划启动,波卡上线XCM!

One Block Community

区块链 技术 波卡生态

NFT链游系统开发|DeFi+NFT技术搭建

薇電13242772558

NFT 链游

web技术分享| 基于vue3实现自己的组件库,第一章:Message组件

anyRTC开发者

前端 Web 音视频 Vue3 message

〖Docker指南⑤〗学习Dockerfile,看这一篇就够了

步尔斯特

Docker

哈尔滨等保测评公司有哪几家?叫什么名字?

行云管家

网络安全 等保 等保测评 等级测评 哈尔滨

“复制黏贴”就能打通企微群机器人,包学包会

明道云

〖Docker指南①〗快速入门|安装|加速|hello-world

步尔斯特

Docker

〖Docker指南⑥〗快速入门Docker的五种网络模式

步尔斯特

Docker

从云服务器 SSRF 漏洞到接管你的阿里云控制台

火线安全

云安全

什么是DevOps?为大家都在用DevOps

阿里云云效

云计算 阿里云 DevOps 云原生 研发

我是一个Dubbo数据包...

捉虫大师

dubbo 6月月更 InfoQ极客传媒15周年庆

InfoQ 极客传媒 15 周年庆征文|什么是云原生,云原生技术为什么这么火?

步尔斯特

云原生 热门活动 InfoQ极客传媒15周年庆

Linux命令汇总 | vim | shell | 进阶【2022版】

步尔斯特

云原生

波场TRX链DAPP智能合约系统开发技术搭建

开发微hkkf5566

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