奥巴马竞选科技解密,史上最牛创业团队

服务器
奥巴马团队很大程度上依靠亚马逊的云计算服务,在高峰的时候,奥巴马竞选团队使用的IT基础设施佔到“亚马逊北佛吉尼亚数据中心相当大的一部分计算资源”。

四年前,奥巴马的处境和今天的罗姆尼差不多,刚刚从党内初选脱颖而出,时间紧迫,忙于筹备全国范围的竞选活动。2008年的奥巴马竞选团队缺少自己的IT团队,大部分工作都是设备供应商和选战志愿者来完成。

奥巴马竞选团队的高级工程师克林特(Clint Ecker)表示,“竞选中的一个大问题是所有人都在自发使用自己的工具,在不断地重复做一件事。”每一个选战办公室的人都在使用自己的电子表格或者网络应用,他们用Google讨论组或者简单的邮件列表来沟通。“这让协调所有人的行动变得困难,”他补充说。

之后胡迪尼计划(Project Houdini)出现了——这是一个发动投票的革命性系统。每一个摇摆州的选区都被分配了一个数字代码;当选民投票的时候,票站的监控人员负责将该代码拨入胡迪尼的自动热线。但是热线把系统打爆了,竞选团队不得不想其他办法,或者是发短信或者是把代码打到当地选战办公室,然后再由人工输入进电脑。

虽然胡迪尼计划失败了,但是其数据库却保留了下来,并在2008年奥巴马竞选中扮演了重要的角色。不过很显然,这个系统无法处理所获得的数据。于是奥巴马团队决定设计一个新的系统。

独角鲸计划(The Narwhal)--- 竞选团队自己的API

奥巴马团队很大程度上依靠亚马逊的云计算服务,在高峰的时候,奥巴马竞选团队使用的IT基础设施佔到“亚马逊北佛吉尼亚数据中心相当大的一部分计算资源”。在亚马逊的服务架构上,团队设计了独角鲸——这是一套服务接口,所有竞选应用都通过它和唯一的数据库通讯。“这让我们能够在不同的应用之间分享许多数据,真的节省了许多时间。”竞选首席科技官哈伯・里德(Harper Reed)在接受採访时说。

里德是2011年6月加入奥巴马竞选团队的,因为奥巴马不必再进行党内初选,这一点为项目的进行争得了时间。”如果要在初选上投入精力的话,我不认为我们能(完成独角鲸计划)。“里德这样说到。

竞选团队中各种水平的开发者都加入了进来,使用各自习惯的编程语言。里德设计的构想需要迅速实施,换句话说,里德希望用自己开发的应用程序接口(API)把竞选的数据连接起来。和许多互联网创业公司一样,他也把希望寄托在云技术上面。

里德需要在奥巴马竞选团队内部组建一个技术团队,像一家创业公司一样去运作,这些工程师们夜以继日地去工作,最终目标只有一个:让总统连任成功。

团队 --- 使用成熟技术,不冒风险

里德的团队成员都是互联网精英——来自谷歌、Facebook、Twitter和TripIt。”这些人都有在创业公司的工作经验,能够把一个app从无做到有。“克林特说。“我们找的是懂API的人,那些花很多时间设计互联网平台的工程师。”里德补充说。

“我们站在巨人的肩膀上,比如说亚马逊。我们使用其他人已经使用过的技术,”里德继续说,”我们一点也不担心。“但是在一些情况下,当一个解决方案之前没有被其他人大规模使用过的时候,就有些“超级可怕”了,通常这种方案会被放弃掉。民主党也要有保守的时候。

云计算 --- 全靠亚马逊

里德的团队有583天完成这些任务。“我们需要有一个处理中心,把所有设备和应用的数据输送到这个中心。”克林特说,“我们需要一个标準的RESTful API,任何一个项目都可以与之通讯,任何语言和任何web框架都可以适用。”

独角鲸Python语言写成,API通过标準HTTP请求完成数据传递。团队选用了亚马逊基于MySQL的关係数据库服务(RDS),RDS的“快象”功能能够让数据库镜像成为简单存储服务(S3)实例,而不需要任何备份操作。

2012年初,独角鲸项目分成了两个小组,一个小组负责开发API,一个小组负责设备整合,处理供应商设备的应用数据。

#p#   应用程序 --- 提高效率、收集数据

随着独角鲸团队的扩大,应用开发的周期变得更快,地区选战团队有了更多的应用程序帮忙。人们见到最多的就是Dashboard和Call Tool。

Dashboard网页应用能够帮助即将成为竞选志愿者的人自动安排整理他们的招募和推广工作。Dashboard并没有代替选战办公室,而是要解决2008年大选时出现的,团队没有统一工具的问题。 

奥巴马竞选团队不能强迫人们使用Dashboard,但是开发者团队帮助选战一线的团队熟悉了这套系统,Dashboard开始流行起来。该应用程序的社交网络元素也帮了忙,成了奥巴马支持者们的Facebook。

Call Tool可以让身处任何地方的志愿者进行一次电话助选,显示出一位随机挑中的选民电话和说服该选民的对白词。Call Tool允许用户为每一通助选电话写笔记,后端程序能够进行“协作过滤(Collaborative filtering)”的预处理——比如说分辨出一个电话是否有效,或者使用这个电话的人说西班牙语——确保以后拨打该电话的时候处理得当。

所有志愿者使用的应用程序(包括Call Tool和Dashboard)全部和一个叫Identity的应用整合起来。Identity是一个单一身份验证登录程序,能够追踪志愿者的活动。

所有通过志愿者获取的数据都将通过独角鲸的数据库,再做其他数据挖掘的处理。

竞选中的研发和运营(DevOps)--- 不冒险

工程们开发了自己的信用卡付费API来帮助处理捐款。“过去我们主要靠供应商来处理付款手续,”克林特说,“但是这一次我们开发了备用的付款方式,这样我们就能平衡两个系统的负载。”

虽然独角鲸的基础设施和其他选战应用程序主要在亚马逊的北佛吉尼亚数据中心中运行,奥巴马DevOps团队还是佈置了至少两个可用的数据中心(作为备用)。当桑迪颶风(Hurricane Sandy)来临的时候,该团队准备了紧急方案——备份了大约500个EC2云系统,在亚马逊的西岸数据中心随时准备上线。

“我们不会去冒风险,基本上在几天内我们把整个IT架构在西岸的数据中心复制了一遍。”克林特说。

投票开始 ---随时应对变化

“真正的说服过程发生在人们真实的谈话中。”克林特说。通过Dashboard,志愿者可以像机器人一样高效,和上千名选民通话。在选战的最后几天,Call Tool让全美的志愿者能够帮助摇摆州的竞选团队去打助选电话,去拉票。这个工具太有效了,克林特说,“有时候我们都没有人可以用来打电话了。我们有太多志愿者在使用这款应用,在一些州我们把所有人都叫上了。”

伴随选举日临近,一些地区的投票已经开始,独角鲸显示了强大的信息处理能力。对应用程序的调整也在随时进行,克林特表示,在选举日当天,团队发现一些开源程序正在触发“让我们有点坐卧不安的服务器调用量”,于是工程师们对应用程序做了一些调整,去掉了导致问题的不必要的代码。

整个大选期间,这套系统自始至终只经历过不到30分钟的宕机。选举日当晚九点,大部分成员已经在芝加哥的McCormick会展中心等待奥巴马的胜利演说了。

责任编辑:张玉 来源: ArsTechnica
相关推荐

2013-05-31 09:56:07

奥巴马大数据

2013-05-30 13:31:17

大数据数据分心CeBIT

2013-02-19 09:28:12

奥巴马云计算总统竞选

2016-10-19 13:13:49

2013-01-08 10:21:13

2013-01-22 09:57:15

大数据

2016-11-09 23:30:16

奥巴马科技政策.科技创新

2012-11-14 09:32:57

大数据罗姆尼奥巴马

2009-05-06 09:43:58

奥巴马税收计划科技公司

2009-08-26 08:56:55

危险名人奥巴马

2009-04-28 07:59:56

奥巴马谷歌微软

2012-10-18 18:40:24

2013-07-15 14:51:55

2014-04-23 16:31:42

Windows背景音乐

2009-10-16 09:19:23

史上最牛10大最讨厌词句

2009-06-28 08:29:36

2013-05-14 09:38:11

奥巴马大数据Open Data

2014-12-18 10:01:09

代码

2013-01-04 16:11:28

奥巴马大选亚马逊云
点赞
收藏

51CTO技术栈公众号