歐巴馬募款網站的製作過程

Kyle Rush是一個網站工程師。2011年6月,他加入BarackObama.com,負責設計2012美國大選的歐巴馬官網。
評論
評論

轉載自  阮一峰的網絡日誌原譯文網址

1.

Kyle Rush 是一個網站工程師。

2011 年 6 月,他加入 BarackObama.com,負責設計 2012 美國大選的歐巴馬官網。

(圖為 2011 年 6 月的歐巴馬官網)

除了宣傳,官網的主要目的就是募款。

上一次大選,歐巴馬籌到了 6.9 億美元。這是一個很大的數字,但由於過去 4 年美國經濟一直沒有起色,本次大選勢必要投入更多的資金,團隊內部估計資金需求將達到創紀錄的 10 億美元。

一個募集 10 億美元的網站,歷史上從來沒有過。Kyle Rush 不知道自己能否做到,但是他很清楚,如果籌不到錢,奧巴馬沒法贏得大選。

2.

2012 年美國大選現在已經結束了,歐巴馬有驚無險地擊敗了羅姆尼。他最終籌到了 11 億美元,成為歷史上籌款金額最高(也是花錢最多)的總統候選人。(排在第二位的就是羅姆尼,他也籌到了 10 億美元。)

這 11 億美元之中,實體募到 4.1 億,線上募集到 6.9 億。單單 BarackObama.com 一個網站,就創造 2.5 億美元的捐款。

在 6 個月的時間裡,BarackObama.com 共有

* 17,807,917 個不重覆訪客,81,548,259 次瀏覽

* 4,276,463 次捐款

* 捐款轉換率 24%(每四個造訪者,就有一人會捐款)

這樣輝煌的成績,是如何取得的?

3.

製作一個超大流量的、體驗良好的、能夠說服人們捐款、並能安全快速處理這些捐款的網站、絕非易事。

最近,Kyle Rush 寫了一篇 文章 ,披露了許多內幕,從技術角度總結了 BarackObama.com 的製作心得。下面,我們就來看看奧巴馬的技術團隊是怎麼做到的。

 

(圖為 2012 年 5 月的歐巴馬官網)

網站的製作班子,從 2011 年下半開始組建,Kyle Rush 是第一個加入的前端工程師,負責網頁的外觀和使用者體驗。

一開始,網站放在團隊自購的伺服器上,運行和捐款都還算平穩。但是,隨著競爭不斷加劇,局勢變得令人擔憂了。到了 2012 年 5 月,羅姆尼當月的籌款金額第一次 超過 了歐巴馬。

競選總部決定,網站必須改版,盡一切可能爭取捐款。於是,技術團隊開始大規模的擴充,全職的前端工程師從 1 個人擴充到了 14 個人,其中 6 人專門負責製作募款頁面。

4.

技術團隊做出的第一個決定是,使用靜態網站生成器 Jekyll,用靜態網頁取代動態網頁,加快網頁打開速度。網站的打開應該越快越好。有研究稱,打開速度每慢 100 毫秒,Amazon 的銷售額就下降 1%。

第二個決定是,將全部網頁放上 CDN,使用的服務商是 Akamai。它是世界最大的 CDN 供應商,共部署了 50000 多台伺服器,美國各地都能獲得理想的造訪速度。奧巴馬芝加哥競選總部,可以在 20 毫秒內載入官網的 HTML 網頁。

第三個決定是,將捐款的後台做成 API 控制 。這是因為有 23% 的訪客使用行動設備,所以必須部署多種前端(Web 端和行動端)。使用 API,可以讓不同前端以相同方式與後台溝通,彼此之間用 JSON 格式傳遞資訊。

第四個決定是,後台用 PHP 語言開發,放在 Amazon 的 EC2 平台上。

第五個決定是,為了避免當機,開發兩個後台。一旦一個系統停止工作,立刻自動切換到另一個。這點很重要,因為當機不僅影響士氣,而且金額損失龐大。因為捐款每分鐘都在湧入,最高記錄是一小時 300 萬美元,你不能讓它停下來。

5.

新網站初步完成後,使用 webpagetest.org 進行測試,結果令人鼓舞。

原版頁面 4 秒鐘後還沒載入,新版只用 1 秒就可以看到。整個平台的訪問速度上升了 60%,捐款轉化率增加了 14%。

接下來,就是微調頁面的各種細節,一共進行了 240 次 a/b 測試 ,也就是說,至少迭代了 240 個版本。

調整後的頁面,視覺效果和使用者體驗都有了巨大的提升,捐款轉換率因此又提高了 49%。

隨著歐巴馬的當選,BarackObama.com 共進行了 1101 次前端部署。

6.

事實證明,整個開發方案非常成功,順利完成募款任務,沒有一分鐘當機。

Kyle Rush 感到有必要總結,留下記錄。除了上面的開發過程,他還提到前端團隊使用的工具:版本控制 Github,a/b 測試管理 Optimizely,代碼編譯 CodeKit

Kyle Rush 最後總結說:

" 我百分之百肯定,這是我經歷過的最好的開發環境。我們不斷調整,捐款轉換率的提高令人難以置信。整個團隊感到無比滿足。但是,最高興的還是看到,2013 年 1 月 21 日歐巴馬依然是美國總統!"


Akamai 服務上新,於邊緣處推動快速創新

Akamai EdgeWorkers 為開發團隊提供豐富功能和工具來創建新的微服務,利用 Akamai 提供的 25 萬台分佈式服務器組成的網絡,在邊緣執行安全而快速的計算,並在邊緣暫存內容,以實現快速交付。
評論
評論

在雲計算技術還沒有大規模普及前,絕大部分企業和組織都需要自建數據中心,或通過託管的方式來部署自己的硬體基礎架構,並在此基礎上為員工和客戶提供服務。取決於業務或其他方面的諸多要求,此時需要部署的數據中心可能有很多個,並廣泛分佈在不同地區,藉此為客戶提供流暢的體驗,並透過多個數據中心保障連續性。在發展的過程中,隨著「雲端」的出現,讓各個組織的計算開始集中。

而當在線直播、無人駕駛、智能家電、物聯網等應用開始陸續深入我們的工作和生活,情況又不同了。以往透過雲平台集中運行和服務的模式,因為距離導致的網絡延遲已經對用戶的使用體驗產生極大影響。為了提供更敏捷、靈活、快速、可靠的體驗,企業需要從最貼近用戶的地方提供服務。因此,邊緣計算就成為最有效的解決方法。

透過將數據的收集、分析和處理等工作,由「雲中心」重新分散到最接近用戶的邊緣位置,企業可以就近為用戶提供服務,通過延遲更低的響應打造更出色的用戶體驗。

「無服務器」的出現,帶來計算方式的革新

以前,當組織需要上線一套業務系統時,首先需要採購並部署相應的服務器硬體,並且要負擔服務器日常運維過程中的管理、維護、補丁安裝、配置等繁瑣任務。

上雲前,組織需要在自己的數據中心,以硬體服務器的方式執行這一系列工作;上雲後雖然簡單許多,但依然需要面對雲服務商提供的虛擬服務器,從本質上來看相關負擔仍相當繁重。

無服務器(Serverless)技術的出現,讓組織可以在不需要考慮服務器的情況下,構建並運行由微服務構成的創新式應用程式與和服務。藉此不僅可以省略基礎架構管理任務,還能為幾乎任何類型的應用程式或後端服務構建無服務器應用程序,更方便、靈活地構建出具備極高可用性的應用。

Akamai EdgeWorkers :為創新賦能

Akamai EdgeWorkers 為開發團隊提供豐富功能和工具來創建新的微服務,利用Akamai 超過 25 萬台分佈式服務器組成的網絡,在邊緣執行安全而快速的計算,並在邊緣暫存內容,以實現快速交付。

當開發團隊在邊緣開啟代碼時,他們會將數據、見解和邏輯推送到更靠近最終用戶的位置。Akamai 的高性能、可擴展式實施模型,可確保數據和計算不會被延遲問題困擾,進而避免對數字化體驗產生負面影響。

在該服務幫助下,開發者可直接在 Akamai 的全球分佈式平台上快速、迭代地創建和部署新服務,以解決問題和自定義交付。

長期以來,Akamai 在邊緣計算的創新和成功實施皆具有優勢。自 1998 年起,便開始為 Akamai 內容交付網絡(CDN)的客戶推出自定義交付邏輯,其他里程碑還包括 2001 年的 Edge Site Includes 、2002 年的 Edge Java 以及 2014 年的 cloudlet 應用程式。

目前, Akamai 在全球擁有超過 4100 個入網點,為 EdgeWorkers 用戶提供出色的邊緣基礎架構規模和範圍,開發人員可以在靠近最終用戶和他們的數字化接觸點的地方部署代碼,以實現盡可能低的延遲。EdgeWorkers 同樣獨立於雲,客戶可以選擇利用 CDN 供應商或雲供應商平台上的無服務器計算功能。在 Akamai 幫助下,客戶可以在整個混合雲或多雲環境中部署單一的無服務器計算平台。

更多相關資訊:https://www.akamai.com/solutions/edge

本文章內容由「猿聲串動」提供,經關鍵評論網媒體集團廣編企劃編審。