Upwork 使用 Cloudflare Workers 提高其工程效率

Upwork ($UPWK) 是頂尖的線上人才解決方案,為專業人才派遣帶來了變革。Upwork 讓企業能夠根據需要更加靈活地聘用優質人才。藉由 Upwork 的比對技術與服務,公司可以使用全球公認的專業人才庫,從而動態擴展團隊來滿足業務需求。Upwork 還為專業人士帶來了更多機遇。

Upwork 的使命是創造經濟機會,讓人們過上更美好的生活。在 Upwork 支援下運作的獨立專業人士社群涵蓋許多職業,包括軟體開發、創意與設計、財務與會計、諮詢、營運以及客戶支援,囊括了 8,000 多種技能。

Upwork 面臨的挑戰:高效準確地設定 150,000 個 URL 重新導向

Upwork 是兩個獨立自由職業平台的「結晶」:成立於 2003 年的 oDesk,以及成立於 1998 年的 Elance。這兩家公司於 2013 年合併為 Elance-oDesk,後來又更名為 Upwork。

品牌重塑與重大平台升級同步開展,帶來了技術挑戰。其中最為棘手的任務是從 oDesk 和 Elance 網域重新導向大約 150,000 個 URL。可靠性工程資深總監 Wilson Chong 回憶道:「許多 URL 沒有得到重新導向,致使一些訪客遇到錯誤。」

從 SEO 角度來看,這種局面完全不可接受;而更重要的是使用者體驗角度。

這項工作勢在必行。遺憾的是,沒有一種簡單辦法能在截止日期之前完成這樣大的變更。這將需要數百小時的手動工作。Upwork 知道他們需要尋找一些幫助。

Chong 說道:「我們一度以為必須要手動重新導向所有 150,000 個 URL,這幾乎是不可能的。」

Upwork 的解決方案:利用無伺服器大規模執行批量重新導向

向 Cloudflare 求助是自然而然的一步;Upwork 與 Cloudflare 的合作關係很早便已開始。Chong 回憶道:「我們是 Cloudflare 的早期合作夥伴之一。三年半前我剛加入 Upwork 時,我們就在使用其 CDN 和 DDoS 保護,以及其他提高網站效能的產品了。鑒於我們與 Cloudflare 悠久的良好合作關係,我們非常有信心,他們能夠提供攻克批量重新導向問題的解決方案。」

讓 Upwork 擺脫困境的方法是使用 Cloudflare 的無伺服器平台 Cloudflare Workers;藉由這個平台,Upwork 能夠快速、高效並準確地完成其龐大的批量重新導向專案。Workers 允許開發人員使用他們熟知的程式設計語言將自訂程式碼部署到 Cloudflare 的網路邊緣。

Chong 解釋道:「能夠使用 JavaScript 完成這項工作再好不過,因為速度快得多了。我們要設立一個測試網域並制定一些規則,一旦通過驗證,我們便只需在 Upwork 的生產網域中進行同樣的設定。能夠在部署之前測試不同的網域並檢視錯誤,這大有裨益。」

透過使用 Cloudflare Workers,完成批量重新導向專案的用時大約是 Chong 估計團隊手動作業所需時間的五分之一。

除了使用 Cloudflare Workers 之外,Upwork 還利用廣泛的 Cloudcloudre 解決方案來增強可靠性、效能與安全性,包括負載平衡、WAF 及限速等解決方案。藉由 Cloudflare 強大的 API 及 Terraform 支援,Upwork 可以自動執行這些產品的設定變更,進一步提高了運作效率。

Cloudflare 一整套易用的整合式解決方案讓 Chong 留下了深刻印象。

Chong 說道:「Cloudflare 不僅很容易設定,而且所有內容都集中於一處。我們只要到入口網站即可,一切都在那裡。例如,我們有一個公開的 DNS 指向兩個不同的 IP。只要在 Cloudflare 中進行相應設定,便無需再操心。DDoS 保護亦是如此。只要登入入口網站並開啟保護,就這麼簡單。」

Upwork 還受益於 Cloudflare 提供的分析工具。Chong 說道:「透過 Firewall Analytics 儀表板,我們能夠查看哪些要求觸發了安全性事件。這樣一來,我們可以定期檢查安全性狀態,確保以最佳的姿態防禦不斷演變的威脅。GraphQL Analytics API 是另一個非常有用的工具,我們可以用來查詢和準確擷取必要的資料,從而自行建構自訂儀表板。」

Chong 補充道:「Cloudflare 不是一般的合作夥伴。在我剛加入 Upwork 時,Cloudflare 目前的許多功能尚不存在。我提供了意見反應後,Cloudflare 便實施了那些功能。我非常欣賞這樣的合作夥伴關係。」

Upwork 使用 Cloudflare Workers 提高其工程效率
相關產品
主要成效
  • 透過使用 Cloudflare Workers,Upwork 以手動操作五分之一的時間設定了 150,000 個 URL 重新導向。

  • 每天有多達 100 萬個要求受到速率限制、質詢或封鎖,防止異常和惡意流量。

  • Cloudflare 強大的 API 與 Terraform 支援使 Upwork 能夠自動執行任務,提高了效率並降低了成本。

透過使用 Cloudflare Workers,我們能夠在很短時間設定 150,000 個 URL 重新導向,準確性也要比手動設定每個 URL 高得多。多虧了 Workers,我們以最低的穩定性風險輕鬆節省了數百工時的艱苦勞動。

Wilson Chong
Upwork 可靠性工程資深總監