一家初創公司如何經過Kubernetes將其基礎設施成本下降50%前端
公司:Nav
地點:猶他州鹽湖城和加利福尼亞州聖馬特奧
工業:爲企業提供金融服務linux
Nav成立於2012年,爲小型企業提供三個主要商業信用局 - Equifax、Experian和Dun&Bradstreet - 的商業信用評分,以及最符合他們需求的融資方案。五年後,該創業公司發展迅速,「咱們的雲環境變得愈來愈大,咱們對這些環境的使用率極低,例如低於1%。」工程總監Travis Jeppson說。「咱們但願咱們對雲環境的使用與咱們實際須要的內容更緊密地結合在一塊兒,所以咱們開始關注容器化和編排,以幫助咱們可以運行彼此不一樣,但能夠共享相似資源池的工做負載。」數據庫
在評估了許多編排解決方案後,Nav團隊決定採用在AWS上運行的Kubernetes。Kubernetes周圍社區的實力強大,以及Google的出身。此外,「其餘解決方案每每至關笨重、很是複雜、很是龐大,並且很難當即管理。」Jeppson說。「Kubernetes爲咱們提供了一種很是簡單的方法,能夠做爲符合咱們當前需求的編排解決方案,並且它的可擴展性使咱們可以在將來增加並可以構建更多特性和功能。」後端
這個由四人組成的團隊在六個月內完成了Kubernetes的啓動和運行,Nav的25個微服務的徹底遷移在另外六個月內完成。結果使人印象深入:首先使公司走上了這條道路的資源利用率,從1%增長到40%。推出一項新服務過去須要兩個開發者兩週;如今只需一個開發者不到10分鐘。部署增長了5倍。該公司節省了50%的基礎設施成本。安全
「Kubernetes爲咱們提供了一種很是簡單的方法,能夠做爲符合咱們當前需求的編排解決方案,並且它的可擴展性使咱們可以在將來增加並可以構建更多特性和功能。」 - TRAVIS JEPPSON,工程總監,NAV
Nav成立於2012年,爲小企業提供三個主要商業信用局 - Equifax、Experian和Dun&Bradstreet - 的商業信用評分,以及最適合他們需求的企業財務健康和融資方案的詳細信息。工程總監Travis Jeppson表示,其使命歸結爲,「提升小企業的成功率。」服務器
幾年前,Nav認識到本身走向成功的障礙。業務發展迅速,「咱們的雲環境變得愈來愈大,咱們對這些環境的使用率很是低,好比低於1%。」Jeppson說。「大多數問題都與擴展能力有關。咱們只是在砸錢。'讓咱們啓動更多的服務器。讓咱們作更多的事情來處理增長的負擔。'而咱們是一家創業公司,這可能會致使咱們的死亡。咱們沒有錢在那種東西上燒。」網絡
此外,每項新服務都必須通過10個不一樣的人,這須要兩週時間才能完成。「全部的補丁管理和服務器管理都是很是手動完成的,所以咱們都必須觀察,並保持良好狀態。」Jeppson補充道。「這只是一個很是麻煩的系統。」微服務
「社區絕對相當重要:可以傳遞各類想法,談論咱們所面臨的許多相似挑戰,並得到幫助。我喜歡咱們可以出於不一樣的緣由解決一樣的問題,但在此過程當中互相幫助。」 - TRAVIS JEPPSON,工程總監,NAV
Jeppson曾在之前的工做中使用容器,並將該技術推薦給Nav的管理層,做爲解決這些問題的方法。他在2017年初得到了綠燈。「咱們但願咱們對雲環境的使用與咱們實際須要的更加緊密結合,所以咱們開始關注容器化和編排,以幫助咱們運行彼此不一樣的工做負載,但能夠分享相似的資源庫。」他說。工具
在評估了許多業務流程解決方案後,該公司決定採用在AWS上運行的Kubernetes。Kubernetes周圍社區的力量強大,加上起源自谷歌。此外,「其餘解決方案每每至關笨重、很是複雜、很是龐大,並且真的難以管理。」Jeppson說。「Kubernetes爲咱們提供了一種很是簡單的方法,能夠做爲一個符合咱們當前需求的編排解決方案,但它的可擴展性也可讓咱們隨之增加,並在之後構建更多特性和功能。」ui
Jeppson的四人工程服務團隊在六個月內完成並運行了Kubernetes(他們決定使用Kubespray來啓動集羣),Nav的25個微服務和一個主要的單體在另外六個月內完成徹底遷移。「咱們沒法重寫一切;咱們沒法停機。」他說。「咱們必須不停運行,咱們必須保持可用,咱們必須有最少的停機時間。所以,咱們對構建管道、度量標準和日誌記錄很是滿意,而後圍繞Kubernetes自己:如何啓動它、如何升級它、如何爲它提供服務。咱們一點一點地移動。」
「Kubernetes經過容許咱們之前從未有過的全部這些新自由爲Nav帶來了如此多的價值。」 - TRAVIS JEPPSON,工程總監,NAV
該過程的一個關鍵部分包括培訓Nav的50名工程師,並對新工做流程以及遷移路線圖保持透明。Jeppson在整個過程當中按期進行演示,併爲整個工程師團隊提供一週天天四小時的實驗室。而後他在GitLab中建立了一個存儲庫來存放全部信息。「咱們展現了全部前端和後端開發者如何進入,使用kubectl本身建立本身的命名空間。」他說。「如今,不少時候,他們只是來找咱們說,'這已經準備就緒。'咱們點擊GitLab中的一個小按鈕,讓它進入生產階段,就完成了。」
自從遷移工做於2018年初完成以來,結果使人印象深入:首先使公司走上了這條道路的資源利用率,從1%增長到40%。推出一項新服務過去須要兩個開發者兩週;如今只需一個開發者不到10分鐘。部署增長了5倍,從天天10個增長到天天50個。該公司在計算方面節省了50%的基礎設施成本。「接下來咱們想進入數據庫方面,一旦咱們這樣作,那麼咱們將繼續下降成本。」Jeppson說。
Kubernetes還幫助Nav知足其合規需求。以前,「咱們必須將一個應用程序映射到一個服務器,主要是因爲數據的合規性規定不一樣。」Jeppson說。「使用Kubernetes API,咱們能夠添加網絡政策,隔離該數據並在須要時對其進行限制。」該公司將其羣集隔離到一個不受限制的區域和一個限制區域,該區域有本身的一組節點,用於數據保護。該公司還使用Twistlock工具確保安全性。「這使夜間睡眠變得更加容易。」他補充道。
「咱們如今處理的流量是四到十倍,並且就像'哦,是的。咱們很好。Kubernetes爲咱們處理這個問題。'」 - TRAVIS JEPPSON,工程總監,NAV
隨着Kubernetes的到位,Nav團隊也開始採用Prometheus來改進系統的指標和日誌記錄。「Prometheus制定了一個關於衡量標準的標準,這對開發者來講很是容易採用。」Jeppson說。「他們能夠自由地展現他們想要的東西,作他們須要的東西,並保持他們的代碼庫清潔,這對咱們來講絕對是必須的。」
Nav來年接下來的是:查看跟蹤、存儲和服務網格。他們在KubeCon花了不少時間與其餘公司交談以後,目前正在評估Envoy、OpenTracing和Jaeger。「社區絕對相當重要:可以傳遞各類想法,談論咱們所面臨的許多相似挑戰,並得到幫助。我喜歡咱們可以出於不一樣的緣由解決一樣的問題,但在此過程當中互相幫助。」Jeppson說。「還有不少要作的事情,關於可擴展性,圍繞可以真正徹底採用雲原生解決方案。」
固然,這一切都始於Kubernetes。憑藉這項技術,Jeppson的團隊已經創建了一個平臺容許Nav擴展,並「經過容許咱們之前從未有過的全部這些新自由爲Nav帶來了如此多的價值。」他說。
關於新產品的討論,過去經常陷入困境,由於他們必須等待六個月才能創建一個隔離環境,而後找出如何處理流量高峯。「但如今對咱們來講沒什麼。」Jeppson說。「咱們如今處理的流量是四到十倍,並且就像'哦,是的。咱們很好。Kubernetes爲咱們處理這個問題。'」
KubeCon + CloudNativeCon + Open Source Summit大會日期:
KubeCon + CloudNativeCon + Open Source Summit贊助方案
KubeCon + CloudNativeCon + Open Source Summit多元化獎學金現正接受申請
KubeCon + CloudNativeCon和Open Source Summit即將首次合體落地中國
KubeCon + CloudNativeCon + Open Source Summit購票窗口,當即購票!
CNCF邀請你加入最終用戶社區