2020 年美国大选技术平台架构

在2020年美国总统大选中 , 我担任拜登阵营的首席技术官 。 在2020年11月的QConPlus大会上 , 我做了一个演讲 , 分享了我们的团队为竞选而做的架构以及为了解决各种问题而开发的特殊工具 。 这篇文章是这次演讲的提炼总结 。
作为首席技术官 , 我领导着竞选阵营的技术团队 。 我负责整体的技术运营工作 , 与我的优秀团队一起构建出了总统竞选活动中最好的技术栈 。
我们涉足了所有东西 , 从软件工程到IT运营 , 再到网络安全 , 以及它们之间的方方面面 。
我作为Target的一名工程师加入竞选阵营 , 专注于基础设施和运营 , 构建高可伸缩且可靠的分布式系统 。 在2016年希拉里竞选美国总统期间 , 我作为Groundwork的员工参与了竞选技术平台的工作 。 Groundwork是一家专门为竞选活动提供技术支持的公司 。
竞选活动组织结构
错综复杂的竞选组织结构对技术选型的方方面面都有很大的影响 。
图1列出了竞选组织的各个部门 , 让你对各个部门的职责有一个大致的感受 。
2020 年美国大选技术平台架构
文章图片
图1:竞选活动的组织结构
每一个团队都有自己关注的方面 。 尽管技术受到媒体的关注 , 但从政治角度来看 , 它并不是最重要的 。 我们的目标是接触选民 , 让他们发声 , 让尽可能多的人加入民主进程 。
技术在竞选活动中的位置
在竞选活动中 , 技术需要完成任何需要它完成的事情 。 竞选活动的几乎每一个方面都需要一种技术形态 。 我的团队需要负责构建和管理我们的云平台、所有的IT运营工作、供应商入驻 , 等等 。
简单地说 , 我们构建技术的方式就是通过“胶水”将供应商和各种系统“粘合”在一起 。 我们所处的环境让我们不能像开发成熟产品那样做 。
如果我们需要某种工具 , 但没有相应的供应商可以提供或者找不到开源的 , 也没有足够的预算 , 我们就自己开发 。
竞选活动技术要做的大部分事情是将数据从A点移动到B点 。 严格来说 , 就是创建了很多S3桶 。
另外 , 我们在过去几年开发了很多东西 。 我们构建了数十个网站 , 有大型的 , 也有小型的 。 我们为外勤团队开发了一个移动应用 。 我们为竞选团队成员开发Chrome插件 , 帮助他们减轻工作负担 。 我们还开发了Word和Excel宏来提高工作效率 , 尽管这些事情很枯燥无味 。 在总统竞选活动中 , 时间就是一切 , 我们所做的每一件可以节省时间的事情 , 哪怕只节省了一分钟 , 也是值得我们投入的 。
我们所做的大部分工作是通过自动化任务减轻竞选团队的工作负载 。 竞选活动技术的精华部分可以提炼成:数据、数字化、IT或网络安全 。 实际情况是 , 竞选活动的技术都是关于这些东西 , 它是竞选活动重要的组成部分 。
我们做了哪些事情
我们的团队不大 , 但我们生气勃勃 , 都是充满斗志的技术狂人 。 我们接下所有的需求 , 并尽力做到最好 。 在竞选活动期间 , 我们构建并交付了超过100个服务 。 我们构建了超过50个LambdaFunction , 提供各种各样的功能 。 我们还为初选开发了一个叫作“TeamJoe”的关系结构组织移动应用 , 可以把数千名热切的选民和志愿者跟他们认识的人联系起来 。
我们进行了超过10000次部署 , 零停机 , 并保证了稳定性和可靠性 。
我们基于云机器学习实现了自有搜索平台 , 具备健壮的自动化能力 , 为活动节省了数万小时的人工工作量 , 并为我们带来非常有深度的见解 。 我们基于强大的机器学习基础设施构建了很多服务 。