公司 Woorank 地點 比利時布魯塞爾 行業 數字營銷工具

挑戰

Woorank 成立於 2011 年,早期就採用了微服務和容器化,因此其核心產品——一款幫助數字營銷人員提高網站網際網路可見度的工具——由 50 個應用程式組成,這些應用程式由 12 人的技術團隊開發和維護。兩年來,基礎設施在 Mesos 上執行良好,但“我們仍然有很多自己的庫需要開發,很多應用程式需要引入,因此對於我們這樣的小團隊來說,維護這些東西並對其進行更新非常繁瑣,”首席技術官兼聯合創始人 Nils De Moor 說道。因此,他開始尋找一種具有更多自動化和自愈功能的新解決方案,以更好地適應公司的人力資源狀況。

解決方案

De Moor 決定改用在 AWS 上執行的 Kubernetes,他表示,這“讓我們能夠定義應用程式如何執行、需要多高的可擴充套件性,並減輕開發人員在這方面的顧慮。”他說:“當出現故障和錯誤時,系統會嘗試自我修復,這確實是我們選擇使用 Kubernetes 的主要原因。”公司現在還使用 FluentdPrometheusOpenTracing

影響

公司最關心的問題立即解決了:維護 Kubernetes 只需要一名員工,而且這不是一份全職工作。以前,基礎設施更新需要兩個全天的工作日;現在,De Moor 說,這只是“被動地跟進流程幾個小時”的事情。實施新工具——曾經需要數週的規劃、安裝和培訓——現在只需要幾天。De Moor 補充道:“我們在成本方面已經相當靈活,能夠應對流量高峰和更高的總體負載,但有了 Kubernetes 和我們使用的其他 CNCF 工具,我們節省了大約 30% 的成本。”此外,每日部署率幾乎翻了一番。

Woorank 的核心產品是一款工具,可幫助數字營銷人員提高其網站在網際網路上的可見度。

首席技術官兼聯合創始人 Nils De Moor 表示:“我們幫助他們獲取大量資料,然後以有意義的方式呈現給他們,以便他們能夠使用這些資料。”作為一家初創公司,在其七年的發展歷程中,該公司遵循了一條熟悉的技術路徑來構建該產品:從一個單體應用程式開始,將其分解為微服務,然後擁抱容器化。“這就是我們現代基礎設施的起點,”De Moor 說。

隨著產品中新功能的不斷新增,它已經發展到由 50 個內部應用程式組成。儘管 Docker 使部署變得更容易,並且團隊自 2015 年以來一直在 AWS 上使用 Mesos 作為編排框架,但 De Moor 意識到管理基礎設施仍然有太多的開銷,特別是對於一個只有 12 人的技術團隊來說。

De Moor 表示:“痛點在於,我們仍然有很多自己的庫需要開發,很多應用程式需要引入,因此對於我們這樣的小團隊來說,維護這些東西並對其進行更新非常繁瑣。”“當部署過程中出現問題時,必須有人手動介入並找出問題所在。這並不是說 Mesos 的技術或任何東西有問題;它只是不適合我們小公司的模式,沒有足夠的人力資源來確保一切正常執行並能夠更新。”

在 Woorank 努力解決這些問題的時候,Kubernetes 正在作為一項技術嶄露頭角。De Moor 知道他想要一個更自動化、更具自愈能力的平臺,當他開始試驗 Kubernetes 時,他發現它符合所有這些要求。他說:“Kubernetes 讓我們能夠定義應用程式,它們如何執行,需要多高的可伸縮性,它減輕了開發人員在這方面的顧慮。”“當出現故障和錯誤時,系統會嘗試自我修復,這確實是我們使用 Kubernetes 的關鍵原因。它讓我們能夠設定某些測試框架,以便在出現問題時得到警報,而不是必須檢查一切是否正常。這讓人們的生活變得輕鬆多了。這是一個相當大的思維轉變。”

一旦一個小型 Kubernetes 叢集啟動並執行,團隊就開始一次遷移幾個應用程式,在幾個月的時間裡逐漸增加負載。到 2017 年初,Woorank 已經 100% 部署在 Kubernetes 上。

公司最關心的問題立即解決了:維護 Kubernetes 是一名員工的責任,而且這不是他的全職工作。De Moor 說,更新舊基礎設施“總是一件痛苦的事情”:以前需要兩個全天的工作日,“而且我們這樣做的時候總是有點嚇人。”有了 Kubernetes,這只是“被動地跟進流程幾個小時”的事情。

從程式碼到伺服器,各層面的透明度也是遷移到 Kubernetes 的一個副產品。De Moor 說:“整個團隊更容易更好地理解基礎設施,它的執行方式,它的樣子,正在發生什麼。”“它不再是那個只由一個人知道如何執行的東西。現在,每個人都知道,‘好的,當出現問題時,可能在這個區域,或者我們需要檢查這個。’這確實是團隊的努力。”

為此,Woorank 已開始實施其他有助於提高可見度的雲原生工具,例如用於日誌記錄的 Fluentd、用於監控的 Prometheus 和用於分散式跟蹤的 OpenTracing。實施這些新工具——曾經需要數週的規劃、安裝和培訓——現在只需要幾天。De Moor 說:“透過 CNCF 旗下的所有工具和專案,我們現在比以前更容易測試和使用技術了。”“我們很早就使用了 Prometheus,但未能使其保持穩定。幾個月前,這個問題再次出現,所以我們在兩天內就設定好了,現在每個人都在使用它。”

部署也受到了影響:部署率翻了一倍多,De Moor 將部分原因歸因於新流程的透明度。他說:“使用 Kubernetes,你會看到這三個容器因為這個原因沒有啟動。”此外,“現在我們將部署訊息傳送到 Slack。如果你每天都看到部署正在進行,這會在某種程度上間接地強制你,好的,我需要參與到這個程序中,所以我也需要部署。”

然而,最大的影響可能體現在利潤上。De Moor 說:“我們在成本方面已經相當靈活,能夠應對流量高峰和更高的總體負載,但有了 Kubernetes 和我們使用的其他 CNCF 工具,我們節省了大約 30% 的成本。”

而且還有更大的節省空間。目前,Woorank 的大部分基礎設施都在 AWS 按需執行;公司支付固定價格,併為其所需的計劃資源量進行一些預留。De Moor 計劃在某些資源密集型工作負載(如網路爬蟲)上更多地試驗競價例項:“我們可以將這些事情計劃在某個時間線上,嘗試將我們的資源使用與此相匹配,然後引入競價例項,這有望進一步降低成本。”

遷移到 Kubernetes 對 Woorank 來說非常有益,以至於該公司正在加倍投入雲原生技術和社群。De Moor 說:“對我們來說,CNCF 作為一切的保護傘無疑非常重要。”“我們一直使用開源庫、工具和技術。這對我們來說非常有效,但有時事情可能會偏離軌道,維護者可能會退出,專案可能會失控。對我們來說,知道任何被納入這個保護傘下的專案都會受到認真對待確實很重要。我們回饋社會的方式也是加入這個社群。對我們來說,這是表達我們對這個框架中正在發生的一切的感謝的一種方式。”