1.对于开发者来说这个筹款网站最大的挑战是什么呢?
最大的挑战就是每天要接受到数量庞大的海量请求。
2.A/B testing和数据驱动?
整个网站开发团队包括开发者、UI、UE、数据分析专家、网络广告专家和作者。采用optimizely的A / B testing 让整个网站的页面展示具有最好的性能和效果。
3.前后台的架构?
整个网站是将几十个分离的系统与JavaScript和Akamai的服务捆绑在一起的。从广义上讲,整个网站的堆栈运行在Amazon Web服务,包括数以千计的EC2实例,几个大的数据库集群和S3托管。主要的的网站, www.barackobama.com ,是一个EC2和RDS安装支持的Expression Engine, ,由Akamai做前端缓存。
Akamai服务的为整个网站减少了98%左右的流量负载。此外,整个网站还使用了Jekyll,大量自定义的应用程序是建立在Django,Flask, Rails和Magento上的。网找的使用的最普遍的语言是Python。另外将捐款的后台做成API调用。这是因为有23%的访问者使用移动设备,所以必须部署多个前端(Web端和移动端)。使用API,可以让不同前端以相同方式与后台通信,彼此之间用JSON格式传递信息。拿付款系统来说,它是一个双系统由内部系统和vendor系统,如果有一个挂了的话Akamai会自动切换到另外一个系统上去。
4.所用open-source tools有?
原文详见:”Chatting with Obama For America’s Director of Frontend Development: Daniel Ryan“
“Meet the Obama campaign's $250 million fundraising platform”
个人体会:
1.多语言多个app的集合系统;
2.多个子系统;