摘要:社區團隊高級軟件工程師補充說這產生了大量浪費的資源。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學金現正接受申請和即將首次合體落地中國
VSCO:移動應用如何通過云原生節省70%的EC2賬單
公司:VSCO
地點:加州奧克蘭
行業:照片移動應用程序
在2015年從Rackspace遷移到AWS之后,除了運行PHP單體應用外,VSCO開始構建Node.js和Go微服務。該團隊使用Docker將微服務容器化,但“它們都是在每個服務專用的EC2實例的獨立組中。”機器學習團隊工程經理Melinda Lu說。社區團隊高級軟件工程師Naveen Gattu補充:“這產生了大量浪費的資源。我們開始尋找一種在AWS EC2實例中整合,并提高效率的方法。”
解決方法團隊開始探索編排系統,并在決定采用Kubernetes之前查看了包括Mesos和Swarm在內的幾種解決方案。VSCO也在他們的云原生堆棧中使用gRPC和Envoy。
影響在之前,部署需要“大量的手動調整,我們編寫的內部腳本,以及由于我們不同的EC2實例,操作必須從始至終照顧整個事情。”高級軟件工程師Brendan Ryan說。“我們并沒有真正有條理進行測試的故事,可重復使用的容器或以標準化的方式構建。”現在有更快的上線流程。之前,首次部署的時間是兩天的動手設置,現在是兩個小時。通過持續集成、容器化和Kubernetes,速度顯著提高。典型服務從代碼完成到生產部署到基礎設施的時間從一到兩周減少到兩到四個小時。Gattu補充:“在工時來說,這是一個人比較起在同時需要開發者和DevOps。”在生產中單個部署的時間減少了80%,部署的數量也增加了,從每年1200到每年3200。實際上也節省了成本:憑借Kubernetes,VSCO的EC2效率提高了2倍至20倍,具體取決于服務,使公司的EC2賬單總體節省約70%。Ryan指出,該公司能夠從管理一個大型單體應用程序到50多個微服務,使用“或多或少同等規模的開發團隊。我們之所以能夠做到這一點,是因為我們對工具的信任度更高和靈活性更高,因此我們不需要聘請DevOps工程師來調整每項服務。”隨著Kubernetes、gRPC和Envoy到位,VSCO的中斷時間減少了88%,這主要是由于消除了JSON模式錯誤和特定于服務的基礎設施配置錯誤,以及加快修復停機的速度。
“看到我們的工程師通過結合大量的Kubernetes基元來提出創造性的解決方案,讓我一直留下了非常深刻的印象。將Kubernetes構造作為服務暴露給我們的工程師,而不是暴露高階構造對我們來說效果很好。它可以讓你熟悉這項技術,并用它做更多有趣的事情。” - Melinda Lu,VSCO機器學習團隊工程經理
作為移動攝影應用程序,VSCO于2011年誕生于云端。最初,“我們使用Rackspace并使用PHP單體應用程序與MySQL數據庫通信,使用FTP部署,沒有容器化,沒有編排。”軟件工程師Brendan Ryan說,“當時足夠了。”
在VSCO于2015年遷至AWS并且其用戶群超過3000萬大關之后,該團隊很快意識到現有設置將不夠用。開發者開始構建一些Node和Go微服務,團隊嘗試用Docker進行容器化。但是“它們都是在每個服務專用的EC2實例的不同組中。”機器學習團隊工程經理Melinda Lu說。社區團隊高級軟件工程師Naveen Gattu補充說:“這產生了大量浪費的資源。我們開始尋找一種在EC2實例中整合并提高效率的方法。”
通過一個包括易用性和實現、支持級別以及是否是開源的清單,團隊在決定使用Kubernetes之前評估了一些調度解決方案,包括Mesos和Swarm。“Kubernetes似乎擁有最強大的開源社區。”Lu說。此外,“我們已經開始標準化大量的Google堆棧,Go作為編寫語言,gRPC用于我們在數據中心內部服務之間的幾乎所有通信。所以我們似乎很自然地選擇了Kubernetes。”
“Kubernetes似乎擁有最強大的開源社區,而且,我們已經開始標準化很多Google堆棧,Go作為編寫語言,gRPC用于我們在數據中心內部服務之間的幾乎所有通信。所以我們似乎很自然地選擇了Kubernetes。” - Melinda Lu,VSCO機器學習團隊工程經理
當時,生態系統中很少有托管的Kubernetes產品和較少的工具,因此團隊建立了自己的集群,并為其特定的部署需求構建了一些自定義組件,例如自動入口控制器和灰度部署的政策構造。“我們已經開始拆除單體了,所以我們一個接一個地搬東西,從相當小的低風險服務開始。”Lu說。“每一項新服務都部署在那里。”第一項服務于2016年底遷移,一年后,整個堆棧的80%在Kubernetes上跑,包括其余的單體。
帶來的影響很大。在過去,部署需要“大量的手動調整,我們編寫的內部腳本,以及由于我們不同的EC2實例,操作必須從始至終照顧整個事情。”Ryan說。“我們并沒有真正有條理進行測試的故事,可重復使用的容器或以標準化的方式構建。”現在有更快的上線流程。之前,首次部署的時間是兩天的動手設置時間,現在是兩個小時。
通過持續集成、容器化和Kubernetes,速度顯著提高。典型服務從代碼完成到生產部署到基礎設施的時間從一到兩周減少到兩到四個小時。另外,Gattu說,“在工時來說,這是一個人比較起在同時需要開發者和DevOps。”在生產中單個部署的時間減少了80%,部署的數量也增加了,從每年1200到每年3200。
“看到我們的工程師通過結合大量的Kubernetes基元來提出創造性的解決方案,讓我一直留下了非常深刻的印象。將Kubernetes構造作為服務暴露給我們的工程師,而不是暴露高階構造對我們來說效果很好。它可以讓你熟悉這項技術,并用它做更多有趣的事情。” - Melinda Lu,VSCO機器學習團隊工程經理
實際上也節省了成本:憑借Kubernetes,VSCO的EC2效率提高了2倍至20倍,具體取決于服務,使公司的EC2賬單總體節省約70%。
Ryan指出,該公司能夠從管理一個大型單體應用程序到50多個微服務,使用“或多或少同等規模的開發團隊。我們之所以能夠做到這一點,是因為我們能夠增加對工具的信任,并且當系統存在壓力點時更加靈活。你可以增加服務的CPU內存需求,而無需啟動和拆除實例,閱讀AWS頁面只是為了熟悉許多行話,這對于我們規模的公司而言并不適合。”
Envoy和gRPC也對VSCO產生了積極影響。“我們從開箱即用的gRPC中獲得了許多好處:跨多種語言輸入安全性、使用gRPC IDL輕松定義服務、內置架構如攔截器,以及通過HTTP/1.1和JSON的性能改進。”Lu說。
VSCO是Envoy的首批用戶之一,在它開源五天后將其投入生產。“我們希望通過我們的邊緣負載平衡器直接向移動客戶端提供gRPC和HTTP/2,而Envoy是我們唯一合理的解決方案。”Lu說。“在所有服務中默認發送一致且詳細的統計數據的能力,使得儀表板的可觀察性和標準化變得更加容易。”Envoy內置的指標也“極大地幫助了調試”,DevOps工程師Ryan Nguyen說。
“因為現在有一個支持Kubernetes的組織,這會增強信心嗎?答案是響亮的。” - Naveen Gattu,VSCO社區團隊高級軟件工程師
隨著Kubernetes、gRPC和Envoy的到位,VSCO的中斷時間減少了88%,這主要是由于消除了JSON模式錯誤和特定于服務的基礎架構配置錯誤,以及加快修復停機的速度。
鑒于其使用CNCF項目的成功,VSCO開始嘗試其,包括CNI和Prometheus。“擁有一個大型組織支持這些技術,我們更有信心嘗試這個軟件并部署到生產中。”Nguyen說。
該團隊為gRPC和Envoy做出了貢獻,并希望在CNCF社區中更加活躍。“看到我們的工程師通過結合大量的Kubernetes基元來提出創造性的解決方案,讓我一直留下了非常深刻的印象。”Lu說。“將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即將首次合體落地中國
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/32883.html
摘要:社區團隊高級軟件工程師補充說這產生了大量浪費的資源。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學金現正接受申請和即將首次合體落地中國 VSCO:移動應用如何通過云原生節省70%的EC2賬單 showImg(https://segmentfault.com/img/bVboP4E?w=721&h=440); 公司:VSCO地點:加州奧克蘭行業:照片移動應...
摘要:分布式文件系統和數據庫,由于性能和成本,是持久性本地存儲的主要用例。在裸機上,除了性能之外,本地存儲通常更便宜,并且使用它是配置分布式文件系統的必要條件。 作者:1.14發布團隊 我們很高興地宣布推出Kubernetes 1.14,這是我們2019年的首次發布! showImg(https://segmentfault.com/img/bVbqrJZ?w=300&h=293); Kub...
摘要:分布式文件系統和數據庫,由于性能和成本,是持久性本地存儲的主要用例。在裸機上,除了性能之外,本地存儲通常更便宜,并且使用它是配置分布式文件系統的必要條件。 作者:1.14發布團隊 我們很高興地宣布推出Kubernetes 1.14,這是我們2019年的首次發布! showImg(https://segmentfault.com/img/bVbqrJZ?w=300&h=293); Kub...
摘要:和網站不時發布來之全世界的博客文章和案例研究。提交案例研究案例研究強調組織如何使用解決實際問題。看看現有案例研究材料。 showImg(https://segmentfault.com/img/bVbp45W?w=1280&h=545); CNCF和Kubernetes網站不時發布來之全世界的博客文章和案例研究。 近期的博客文章有: 使用Ansible和Vagrant設置Kubern...
摘要:和網站不時發布來之全世界的博客文章和案例研究。提交案例研究案例研究強調組織如何使用解決實際問題。看看現有案例研究材料。 showImg(https://segmentfault.com/img/bVbp45W?w=1280&h=545); CNCF和Kubernetes網站不時發布來之全世界的博客文章和案例研究。 近期的博客文章有: 使用Ansible和Vagrant設置Kubern...
閱讀 2684·2021-11-16 11:53
閱讀 2749·2021-07-26 23:38
閱讀 2080·2019-08-30 15:55
閱讀 1760·2019-08-30 13:21
閱讀 3680·2019-08-29 17:26
閱讀 3314·2019-08-29 13:20
閱讀 884·2019-08-29 12:20
閱讀 3200·2019-08-26 10:21