摘要:社區(qū)團(tuán)隊(duì)高級軟件工程師補(bǔ)充說這產(chǎn)生了大量浪費(fèi)的資源。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學(xué)金現(xiàn)正接受申請和即將首次合體落地中國
VSCO:移動應(yīng)用如何通過云原生節(jié)省70%的EC2賬單
公司:VSCO
地點(diǎn):加州奧克蘭
行業(yè):照片移動應(yīng)用程序
在2015年從Rackspace遷移到AWS之后,除了運(yùn)行PHP單體應(yīng)用外,VSCO開始構(gòu)建Node.js和Go微服務(wù)。該團(tuán)隊(duì)使用Docker將微服務(wù)容器化,但“它們都是在每個服務(wù)專用的EC2實(shí)例的獨(dú)立組中?!睓C(jī)器學(xué)習(xí)團(tuán)隊(duì)工程經(jīng)理Melinda Lu說。社區(qū)團(tuán)隊(duì)高級軟件工程師Naveen Gattu補(bǔ)充:“這產(chǎn)生了大量浪費(fèi)的資源。我們開始尋找一種在AWS EC2實(shí)例中整合,并提高效率的方法?!?/p> 解決方法
團(tuán)隊(duì)開始探索編排系統(tǒng),并在決定采用Kubernetes之前查看了包括Mesos和Swarm在內(nèi)的幾種解決方案。VSCO也在他們的云原生堆棧中使用gRPC和Envoy。
影響在之前,部署需要“大量的手動調(diào)整,我們編寫的內(nèi)部腳本,以及由于我們不同的EC2實(shí)例,操作必須從始至終照顧整個事情?!备呒壾浖こ處烞rendan Ryan說?!拔覀儾]有真正有條理進(jìn)行測試的故事,可重復(fù)使用的容器或以標(biāo)準(zhǔn)化的方式構(gòu)建。”現(xiàn)在有更快的上線流程。之前,首次部署的時間是兩天的動手設(shè)置,現(xiàn)在是兩個小時。通過持續(xù)集成、容器化和Kubernetes,速度顯著提高。典型服務(wù)從代碼完成到生產(chǎn)部署到基礎(chǔ)設(shè)施的時間從一到兩周減少到兩到四個小時。Gattu補(bǔ)充:“在工時來說,這是一個人比較起在同時需要開發(fā)者和DevOps。”在生產(chǎn)中單個部署的時間減少了80%,部署的數(shù)量也增加了,從每年1200到每年3200。實(shí)際上也節(jié)省了成本:憑借Kubernetes,VSCO的EC2效率提高了2倍至20倍,具體取決于服務(wù),使公司的EC2賬單總體節(jié)省約70%。Ryan指出,該公司能夠從管理一個大型單體應(yīng)用程序到50多個微服務(wù),使用“或多或少同等規(guī)模的開發(fā)團(tuán)隊(duì)。我們之所以能夠做到這一點(diǎn),是因?yàn)槲覀儗ぞ叩男湃味雀吆挽`活性更高,因此我們不需要聘請DevOps工程師來調(diào)整每項(xiàng)服務(wù)?!彪S著Kubernetes、gRPC和Envoy到位,VSCO的中斷時間減少了88%,這主要是由于消除了JSON模式錯誤和特定于服務(wù)的基礎(chǔ)設(shè)施配置錯誤,以及加快修復(fù)停機(jī)的速度。
“看到我們的工程師通過結(jié)合大量的Kubernetes基元來提出創(chuàng)造性的解決方案,讓我一直留下了非常深刻的印象。將Kubernetes構(gòu)造作為服務(wù)暴露給我們的工程師,而不是暴露高階構(gòu)造對我們來說效果很好。它可以讓你熟悉這項(xiàng)技術(shù),并用它做更多有趣的事情?!?- Melinda Lu,VSCO機(jī)器學(xué)習(xí)團(tuán)隊(duì)工程經(jīng)理
作為移動攝影應(yīng)用程序,VSCO于2011年誕生于云端。最初,“我們使用Rackspace并使用PHP單體應(yīng)用程序與MySQL數(shù)據(jù)庫通信,使用FTP部署,沒有容器化,沒有編排?!避浖こ處烞rendan Ryan說,“當(dāng)時足夠了?!?
在VSCO于2015年遷至AWS并且其用戶群超過3000萬大關(guān)之后,該團(tuán)隊(duì)很快意識到現(xiàn)有設(shè)置將不夠用。開發(fā)者開始構(gòu)建一些Node和Go微服務(wù),團(tuán)隊(duì)嘗試用Docker進(jìn)行容器化。但是“它們都是在每個服務(wù)專用的EC2實(shí)例的不同組中。”機(jī)器學(xué)習(xí)團(tuán)隊(duì)工程經(jīng)理Melinda Lu說。社區(qū)團(tuán)隊(duì)高級軟件工程師Naveen Gattu補(bǔ)充說:“這產(chǎn)生了大量浪費(fèi)的資源。我們開始尋找一種在EC2實(shí)例中整合并提高效率的方法?!?/p>
通過一個包括易用性和實(shí)現(xiàn)、支持級別以及是否是開源的清單,團(tuán)隊(duì)在決定使用Kubernetes之前評估了一些調(diào)度解決方案,包括Mesos和Swarm?!癒ubernetes似乎擁有最強(qiáng)大的開源社區(qū)?!盠u說。此外,“我們已經(jīng)開始標(biāo)準(zhǔn)化大量的Google堆棧,Go作為編寫語言,gRPC用于我們在數(shù)據(jù)中心內(nèi)部服務(wù)之間的幾乎所有通信。所以我們似乎很自然地選擇了Kubernetes。”
“Kubernetes似乎擁有最強(qiáng)大的開源社區(qū),而且,我們已經(jīng)開始標(biāo)準(zhǔn)化很多Google堆棧,Go作為編寫語言,gRPC用于我們在數(shù)據(jù)中心內(nèi)部服務(wù)之間的幾乎所有通信。所以我們似乎很自然地選擇了Kubernetes?!?- Melinda Lu,VSCO機(jī)器學(xué)習(xí)團(tuán)隊(duì)工程經(jīng)理
當(dāng)時,生態(tài)系統(tǒng)中很少有托管的Kubernetes產(chǎn)品和較少的工具,因此團(tuán)隊(duì)建立了自己的集群,并為其特定的部署需求構(gòu)建了一些自定義組件,例如自動入口控制器和灰度部署的政策構(gòu)造?!拔覀円呀?jīng)開始拆除單體了,所以我們一個接一個地搬東西,從相當(dāng)小的低風(fēng)險(xiǎn)服務(wù)開始?!盠u說?!懊恳豁?xiàng)新服務(wù)都部署在那里?!钡谝豁?xiàng)服務(wù)于2016年底遷移,一年后,整個堆棧的80%在Kubernetes上跑,包括其余的單體。
帶來的影響很大。在過去,部署需要“大量的手動調(diào)整,我們編寫的內(nèi)部腳本,以及由于我們不同的EC2實(shí)例,操作必須從始至終照顧整個事情?!盧yan說。“我們并沒有真正有條理進(jìn)行測試的故事,可重復(fù)使用的容器或以標(biāo)準(zhǔn)化的方式構(gòu)建?!爆F(xiàn)在有更快的上線流程。之前,首次部署的時間是兩天的動手設(shè)置時間,現(xiàn)在是兩個小時。
通過持續(xù)集成、容器化和Kubernetes,速度顯著提高。典型服務(wù)從代碼完成到生產(chǎn)部署到基礎(chǔ)設(shè)施的時間從一到兩周減少到兩到四個小時。另外,Gattu說,“在工時來說,這是一個人比較起在同時需要開發(fā)者和DevOps?!痹谏a(chǎn)中單個部署的時間減少了80%,部署的數(shù)量也增加了,從每年1200到每年3200。
“看到我們的工程師通過結(jié)合大量的Kubernetes基元來提出創(chuàng)造性的解決方案,讓我一直留下了非常深刻的印象。將Kubernetes構(gòu)造作為服務(wù)暴露給我們的工程師,而不是暴露高階構(gòu)造對我們來說效果很好。它可以讓你熟悉這項(xiàng)技術(shù),并用它做更多有趣的事情。” - Melinda Lu,VSCO機(jī)器學(xué)習(xí)團(tuán)隊(duì)工程經(jīng)理
實(shí)際上也節(jié)省了成本:憑借Kubernetes,VSCO的EC2效率提高了2倍至20倍,具體取決于服務(wù),使公司的EC2賬單總體節(jié)省約70%。
Ryan指出,該公司能夠從管理一個大型單體應(yīng)用程序到50多個微服務(wù),使用“或多或少同等規(guī)模的開發(fā)團(tuán)隊(duì)。我們之所以能夠做到這一點(diǎn),是因?yàn)槲覀兡軌蛟黾訉ぞ叩男湃?,并且?dāng)系統(tǒng)存在壓力點(diǎn)時更加靈活。你可以增加服務(wù)的CPU內(nèi)存需求,而無需啟動和拆除實(shí)例,閱讀AWS頁面只是為了熟悉許多行話,這對于我們規(guī)模的公司而言并不適合?!?/p>
Envoy和gRPC也對VSCO產(chǎn)生了積極影響?!拔覀儚拈_箱即用的gRPC中獲得了許多好處:跨多種語言輸入安全性、使用gRPC IDL輕松定義服務(wù)、內(nèi)置架構(gòu)如攔截器,以及通過HTTP/1.1和JSON的性能改進(jìn)。”Lu說。
VSCO是Envoy的首批用戶之一,在它開源五天后將其投入生產(chǎn)?!拔覀兿Mㄟ^我們的邊緣負(fù)載平衡器直接向移動客戶端提供gRPC和HTTP/2,而Envoy是我們唯一合理的解決方案。”Lu說?!霸谒蟹?wù)中默認(rèn)發(fā)送一致且詳細(xì)的統(tǒng)計(jì)數(shù)據(jù)的能力,使得儀表板的可觀察性和標(biāo)準(zhǔn)化變得更加容易?!盓nvoy內(nèi)置的指標(biāo)也“極大地幫助了調(diào)試”,DevOps工程師Ryan Nguyen說。
“因?yàn)楝F(xiàn)在有一個支持Kubernetes的組織,這會增強(qiáng)信心嗎?答案是響亮的?!?- Naveen Gattu,VSCO社區(qū)團(tuán)隊(duì)高級軟件工程師
隨著Kubernetes、gRPC和Envoy的到位,VSCO的中斷時間減少了88%,這主要是由于消除了JSON模式錯誤和特定于服務(wù)的基礎(chǔ)架構(gòu)配置錯誤,以及加快修復(fù)停機(jī)的速度。
鑒于其使用CNCF項(xiàng)目的成功,VSCO開始嘗試其,包括CNI和Prometheus。“擁有一個大型組織支持這些技術(shù),我們更有信心嘗試這個軟件并部署到生產(chǎn)中?!盢guyen說。
該團(tuán)隊(duì)為gRPC和Envoy做出了貢獻(xiàn),并希望在CNCF社區(qū)中更加活躍?!翱吹轿覀兊墓こ處熗ㄟ^結(jié)合大量的Kubernetes基元來提出創(chuàng)造性的解決方案,讓我一直留下了非常深刻的印象?!盠u說?!皩ubernetes構(gòu)造作為服務(wù)暴露給我們的工程師,而不是暴露高階構(gòu)造對我們來說效果很好。它可以讓你熟悉這項(xiàng)技術(shù),并用它做更多有趣的事情。”
KubeCon + CloudNativeCon和Open Source Summit大會日期:
會議日程通告日期:2019 年 4 月 10 日
會議活動舉辦日期:2019 年 6 月 24 至 26 日
KubeCon + CloudNativeCon和Open Source Summit贊助方案
KubeCon + CloudNativeCon和Open Source Summit多元化獎學(xué)金現(xiàn)正接受申請
KubeCon + CloudNativeCon和Open Source Summit即將首次合體落地中國
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/32883.html
摘要:社區(qū)團(tuán)隊(duì)高級軟件工程師補(bǔ)充說這產(chǎn)生了大量浪費(fèi)的資源。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學(xué)金現(xiàn)正接受申請和即將首次合體落地中國 VSCO:移動應(yīng)用如何通過云原生節(jié)省70%的EC2賬單 showImg(https://segmentfault.com/img/bVboP4E?w=721&h=440); 公司:VSCO地點(diǎn):加州奧克蘭行業(yè):照片移動應(yīng)...
摘要:分布式文件系統(tǒng)和數(shù)據(jù)庫,由于性能和成本,是持久性本地存儲的主要用例。在裸機(jī)上,除了性能之外,本地存儲通常更便宜,并且使用它是配置分布式文件系統(tǒng)的必要條件。 作者:1.14發(fā)布團(tuán)隊(duì) 我們很高興地宣布推出Kubernetes 1.14,這是我們2019年的首次發(fā)布! showImg(https://segmentfault.com/img/bVbqrJZ?w=300&h=293); Kub...
摘要:分布式文件系統(tǒng)和數(shù)據(jù)庫,由于性能和成本,是持久性本地存儲的主要用例。在裸機(jī)上,除了性能之外,本地存儲通常更便宜,并且使用它是配置分布式文件系統(tǒng)的必要條件。 作者:1.14發(fā)布團(tuán)隊(duì) 我們很高興地宣布推出Kubernetes 1.14,這是我們2019年的首次發(fā)布! showImg(https://segmentfault.com/img/bVbqrJZ?w=300&h=293); Kub...
摘要:和網(wǎng)站不時發(fā)布來之全世界的博客文章和案例研究。提交案例研究案例研究強(qiáng)調(diào)組織如何使用解決實(shí)際問題??纯船F(xiàn)有案例研究材料。 showImg(https://segmentfault.com/img/bVbp45W?w=1280&h=545); CNCF和Kubernetes網(wǎng)站不時發(fā)布來之全世界的博客文章和案例研究。 近期的博客文章有: 使用Ansible和Vagrant設(shè)置Kubern...
摘要:和網(wǎng)站不時發(fā)布來之全世界的博客文章和案例研究。提交案例研究案例研究強(qiáng)調(diào)組織如何使用解決實(shí)際問題。看看現(xiàn)有案例研究材料。 showImg(https://segmentfault.com/img/bVbp45W?w=1280&h=545); CNCF和Kubernetes網(wǎng)站不時發(fā)布來之全世界的博客文章和案例研究。 近期的博客文章有: 使用Ansible和Vagrant設(shè)置Kubern...
閱讀 2745·2021-11-16 11:53
閱讀 2814·2021-07-26 23:38
閱讀 2129·2019-08-30 15:55
閱讀 1838·2019-08-30 13:21
閱讀 3748·2019-08-29 17:26
閱讀 3422·2019-08-29 13:20
閱讀 941·2019-08-29 12:20
閱讀 3263·2019-08-26 10:21