CNCF案例研究:AppDirect

CNCF案例研究:AppDirect

AppDirect:AppDirect如何通過Kubernetes支持其工程人員的10倍增長

公司:AppDirect
地點:舊金山,加利福尼亞
工業:軟件

挑戰

AppDirect爲基於雲的產品和服務提供端到端的商務平臺。當軟件開發總監Pierre-Alexandre Lacerte於2014年開始在那裏工作時,該公司在“tomcat基礎架構上部署了一個單體應用程序,整個發佈過程非常複雜。”他說。“涉及有很多手動步驟,一個工程師構建一個功能,然後另一個團隊接手更改。所以你有一個瓶頸,將一個功能發送給生產。”與此同時,工程團隊也在不斷髮展,公司意識到需要一個更好的基礎設施來支持這種增長並提高速度。

解決方法

“我的想法是:讓我們創建一個團隊可以更快地部署他們的服務的環境,他們會說,'好吧,我不想再建立單體。我想建立一個服務'。”Lacerte說。在決定於2016年初採用Kubernetes之前,他們考慮並製作了幾種不同技術的原型。Lacerte的團隊還將Prometheus監控集成到平臺中;下一布是追蹤。如今,AppDirect已在生產中部署了50多個微服務,在AWS和全球各地部署了15個Kubernetes集羣。

影響

Kubernetes平臺幫助支持了工程團隊在過去幾年中的10倍增長。加上他們不斷增加新功能的事實,Lacerte說,“如果我們沒有這種新的基礎設施,我認爲我們的速度會慢下來。”遷移到Kubernetes和服務意味着部署變得更快,因爲減小了對SCP命令的定製以及脆弱shell腳本的依賴性。部署新版本的時間從4小時縮短到幾分鐘。此外,該公司投入了大量精力爲開發者提供自助服務。“上線新服務不需要Jira門票或與三個不同的團隊會面。”Lacerte說。今天,該公司每週可以看到1,600次部署,而之前是1-30次。該公司還通過將其市場和計費單塊,從傳統的EC2主機遷移到Kubernetes,以及利用自動縮放來實現成本節約,因爲在工作時間內流量更高。

“這是一個巨大的工程文化轉變,但在規模和速度方面的好處是不可否認的。” - ALEXANDRE GERVAIS,軟件開發者,APPDIRECT

憑藉其基於雲的產品和服務的端到端商務平臺,AppDirect自2009年以來一直在幫助Comcast和GoDaddy等組織簡化數字供應鏈。

當軟件開發總監Pierre-Alexandre Lacerte於2014年開始在那裏工作時,該公司在“tomcat基礎架構上部署了一個單體應用程序,整個發佈過程非常複雜。”他說。“涉及有很多手動步驟,一個工程師構建一個功能,然後創建一個拉取請求,之後一個QA或另一個工程師驗證該功能。然後合併,其他人將負責部署。所以我們將一項功能運送到生產有瓶頸。”

與此同時,40人的工程團隊正在發展壯大,該公司希望爲其產品增加越來越多的功能。作爲平臺團隊的一員,Lacerte開始聽取多個團隊的意見,他們希望使用不同的框架和語言部署應用程序,從Node.js到Spring Boot Java。他很快意識到,爲了支持增長和提高速度,公司需要一個更好的基礎設施,一個團隊自治的系統,可以自己進行部署,併爲他們自己的生產服務負責。

“我們在正確的時間做出了正確的決定。Kubernetes和雲原生技術現在被視爲事實上的生態系統。我們知道在哪裏集中精力來應對我們在擴展時面臨的新一輪挑戰。社區是如此活躍和充滿活力,這是我們卓越的內部團隊的重要補充。” - ALEXANDRE GERVAIS,軟件開發者,APPDIRECT

從一開始,Lacerte說:“我的想法是:讓我們創建一個團隊可以更快地部署服務的環境,他們會說,'好吧,我不想再建立單體。我想建立一個服務。’”(Lacerte在2019年離開了公司。)

通過與運營團隊合作,Lacerte的團隊獲得了對公司AWS基礎架構的更多控制權和使用權,並開始了幾種編排技術的原型設計。“當時,Kubernetes有點地下,不爲人知。”他說。“但我們看了社區,拉動請求的數量,GitHub上的速度,我們看到它正在變得越來越有吸引力。我們發現管理比其他技術更容易。”他們使用Chef和Terraform配置在Kubernetes上跑了前幾個服務,並且隨着更多服務的增加,也有更多的自動化。“我們在世界各地都有集羣 - 在韓國、澳大利亞、德國和美國。”Lacerte說。“自動化對我們至關重要。”他們現在主要使用Kops,並且正在尋找來自多家雲提供商的託管Kubernetes產品。

今天,雖然單體應用仍然存在,但提交和功能越來越少。所有團隊都部署在新的基礎架構,服務是常態。AppDirect現在擁有50多個微服務器,在AWS和全球各地部署了15個Kubernetes集羣。

Lacerte的策略最終奏效,因爲Kubernetes平臺對部署時間產生了非常實際的影響。由於減小了對SCP命令的定製以及脆弱shell腳本的依賴性,部署新版本的時間從4小時縮短到幾分鐘。此外,該公司投入了大量精力爲開發者提供自助服務。“上線新服務不需要Jira門票或與三個不同的團隊會面。”Lacerte說。今天,該公司每週可以看到1,600次部署,而之前是1-30次。

“如果我們沒有這種新的基礎設施,我認爲我們的速度會放慢很多。” - PIERRE-ALEXANDRE LACERTE,軟件開發總監,APPDIRECT

此外,Kubernetes平臺在過去幾年中幫助支持了工程團隊10倍的增長。“所有權,AppDirect的核心價值,反映了我們獨立於單體代碼庫提供服務的能力。”與Lacerte合作的軟件開發者Alexandre Gervais說道。“小型團隊現在擁有我們業務領域模型的關鍵部分,他們在專業知識的分離領域運營,對整個代碼庫知之甚少。這減少並隔離了一些複雜性。”加上他們不斷增加新功能的事實,Lacerte說,“如果我們沒有這種新的基礎設施,我認爲我們的速度會慢下來。”該公司還通過將其市場和計費單塊從傳統的EC2主機,遷移到Kubernetes,以及利用自動縮放來實現成本節約,因爲在工作時間內流量更高。

AppDirect的雲原生堆棧還包括gRPC和Fluentd,該團隊目前正在設置OpenCensus。該平臺已經集成了Prometheus,因此“當團隊部署他們的服務時,他們會收到通知、警報和配置。”Lacerte說。“例如,在測試環境中,我想在Slack上收到一條消息,在生產中,我想要一條Slack消息,我也希望收到傳呼。我們已經與PagerDuty集成。團隊對他們的服務擁有更多的所有權。”

“我們從'推送代碼分支'的文化轉到代碼庫之外的令人興奮的新職責:功能和配置的部署;應用程序和業務指標的監控;以及在中斷情況下的隨叫隨到的支持。一個巨大的工程文化轉變,但在規模和速度方面的好處是不可否認的。” - PIERRE-ALEXANDRE LACERTE,軟件開發總監,APPDIRECT

這當然也意味着更多的責任。“我們要求工程師擴大他們的視野。”Gervais說。“我們從'推送代碼分支'的有限度工作文化,轉到代碼庫之外的令人興奮的新職責:功能和配置的部署;應用程序和業務指標的監控;以及在中斷情況下的隨叫隨到的支持。一個巨大的工程文化轉變,但在規模和速度方面的好處是不可否認的。”

隨着工程隊伍的不斷增長,平臺團隊面臨着新的挑戰,即確保Kubernetes平臺可供所有人訪問和使用。“我們怎樣才能確保當我們爲團隊增加更多人員時,他們能提高效率,提高工作效率,並知道如何在平臺上開發?”Lacerte 說。“所以我們有佈道者、文檔、一些項目實例。我們做演示,我們有AMA會議。我們嘗試不同的策略來引起所有人的注意。”

在他們Kubernetes之旅的三年半時間裏,Gervais認爲AppDirect“在合適的時間做出了正確的決定”,他說。“Kubernetes和雲原生技術現在被視爲事實上的生態系統。我們知道在哪裏集中精力來應對我們在擴展時面臨的新一輪挑戰。社區是如此活躍和充滿活力,這是我們卓越的內部團隊的重要補充。展望未來,我們的重點將是通過在日常運營中提供額外的商業價值來從生態系統中獲益。”


KubeCon + CloudNativeCon + Open Source Summit大會日期:

  • 會議日程通告日期:2019 年 4 月 10 日
  • 會議活動舉辦日期:2019 年 6 月 24 至 26 日

KubeCon + CloudNativeCon + Open Source Summit贊助方案
KubeCon + CloudNativeCon + Open Source Summit多元化獎學金現正接受申請
KubeCon + CloudNativeCon和Open Source Summit即將首次合體落地中國
KubeCon + CloudNativeCon + Open Source Summit購票窗口,立即購票!
CNCF邀請你加入最終用戶社區

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章