写点什么

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

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

关注

评论

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

极狐GitLab include 语法减少 CI/CD Pipeline 代码冗余,提升构建效率

极狐GitLab

DevOps CI/CD pipeline 极狐GitLab include

华为云CDN,如何助力智能新媒体转型

科技说

正式毕业!Apache Kyuubi 成为 Apache 基金会顶级项目!

网易数帆

大数据 spark 开源 Apache Kyuubi

数据存储的全能侠——华为云对象存储服务OBS

IT科技苏辞

软件测试 / 测试开发 / BAT大厂都在用的Docker。学会这三招,面试、工作轻松hold住

测试人

Docker 容器 软件测试 测试开发 环境搭建

“数字·进化”——2022数字化发展峰会圆满落幕

创业邦

OneAccess | 面对庞大复杂的身份和权限管理,企业该怎么办?

爱尚科技

不止于快,华为云CDN加速服务为企业提供安全加速环境

科技说

探讨丨SaaS软件是否正在“毁掉”数字化转型企业?

优秀

数字化转型

数据存储安全责任重于泰山,看华为云对象存储服务OBS如何大展身手

IT科技苏辞

数据存储难?华为云对象存储OBS轻松解决

IT科技苏辞

部门来了个JAVA开发,听说是00后,上来一顿操作给我看呆了...

程序知音

Java JAVA开发 java面试 java架构 后端技术

为什么说DeFi隐私协议Unijoin.io具备趋势性

股市老人

泰山众筹4.0合约系统开发技术

薇電13242772558

智能合约

华为云CDN:海量存储+过硬本领为用户带来更优体验

科技说

和鲸科技入选2022中国企业数智化创新TOP50

ModelWhale

数字化转型 数智化 榜单

ModStart交给您的开源年终总结

ModStart

2022年11月视频行业用户洞察:世界杯效应显著,咪咕视频凭借大屏、小屏同时触达球迷群体,未来体育营销将更加激烈

易观分析

视频 世界杯

复杂并发场景下的并发调度模型在转转的演进之路

转转技术团队

Java 性能 后端 高并发

开个脑洞,带你写一个自己的极狐GitLab CI Runner

极狐GitLab

DevOps 持续集成 CI/CD runner 极狐GitLab

一文读懂 | Getaverse 节点部署

Geek_Web3

华为云数据融合集成平台ROMA Connect,推进企业数字化转型

科技怪授

动态配置开发模式在转转的落地实践

转转技术团队

Java 后端 可视化 动态配置

如何用Alluxio加速云上深度学习训练?

Alluxio

机器学习 分布式, Alluxio 大数据 开源 数据编排

数据存储服务的百宝箱——华为云对象存储服务OBS

IT科技苏辞

华为云CSE 关键特性,支持托管Nacos注册配置中心

与时俱进的时代

Vertically Federated Graph Neural Network for Privacy-Preserving Node Classification

1+1=王

联邦学习 Fl 图神经网络 GNN 节点分类

软件测试 | 掌握高频 Docker 命令,夯实内功基础

测试人

Docker 软件测试 自动化测试 测试开发 环境搭建

Web应用怎样获取Access Token?

HarmonyOS SDK

HMS Core

企业数据如何存?华为云对象存储服务OBS帮您忙

IT科技苏辞

Oracle数据库安装配置详细教程汇总(含11g、12c、18c、19c、21c)

墨天轮

数据库 oracle 升级 安装 & 部署

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