精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>數值算法/人工智能>

詳解Serverless架構及應用

大小:0.3 MB 人氣: 2017-09-28 需要積分:1

  一、直接使用物理設備:

  開發者將應用程序開發測試完畢后,直接將程序和相關軟件部署在物理設備上。服務器直接使用物理機。直接使用物理設備部署應用程序不可避免地需要大量人工運維和重復勞動。比方說,用戶數量逐漸增長時,我們需要擴容物理設備以應對更高的網站訪問壓力。

  這時候我們需要購置更多的物理服務器,并且搬運到機房的對應機架機柜中。然后,我們需要手動為新購置的物理服務器安裝各種運行軟件,填寫好配置文件,手動部署啟動好需要運行的應用程序。這些大量的重復運維勞動造成產品上線慢,迭代周期長。其次,使用物理設備直接部署應用程序將導致資源浪費。如今的物理服務器的配置越來越強大,64核128G在今天看來也不過是普通配置。很難想象你買了一臺32核的物理機,卻只想搭建個人博客。此外,電商行業經常為了應對促銷秒殺等活動準備大量的物理資源,然而在非促銷等流量低谷時段,大量物理資源處理閑置狀態,不利于節約成本。

  最后,為了解決資源浪費的問題,我們很容易想到,可以將多個應用程序部署在同一臺服務器上來充分利用資源。但由此又導致了新的麻煩,不同的應用程序經常會搶占CPU,磁盤IO,內存,難以做到隔離資源,各行其是,互不干擾。

  二、IaaS托管硬件

  虛擬化技術的成熟直接解決了上述直接使用物理設備的幾個痛點。

  首先,使用IaaS平臺,服務器由物理機變成了虛擬機。申請服務器資源僅需要調用IaaS平臺的API或者點擊控制臺頁面就可以輕松完成。CPU個數,內存大小,網絡帶寬,存儲磁盤大小都可以按需指定,隨心所欲。虛擬機被玩壞了也不需要重裝系統修復,刪除重建新虛擬機即可。擴容服務器不再需要大量的重復人工運維勞動,加速了產品上線和迭代。

  其次,使用IaaS平臺一定程度上減輕了資源浪費。在IaaS平臺上很容易得申請和刪除虛擬機,升降帶寬配置等操作,這樣當業務低谷時段直接刪除多余的虛擬機,降低帶寬購買配額,就能節約不少成本。

  最后,IaaS平臺解決了資源隔離的問題。不同虛擬機之前有獨立CPU,內存,磁盤,網卡,不同虛擬機之前的程序不會進行資源搶占。

  然而,IaaS平臺僅僅為開發者做好了硬件托管的工作。開發者依然需要為虛擬機安裝操作系統和各種軟件,填寫配置并部署應用;依然需要關注服務器,帶寬,存儲等資源的使用量和擴容縮容。此外,IaaS平臺沒有完全解決資源浪費的問題,實際上,大量虛擬機在日常運行中依然存在超低負載運行的情況。

  三、 PaaS托管應用

  使用PaaS平臺,開發者無需關注服務器的申請采購、系統安裝和資源容量。PaaS服務提供商為開發者提供好了操作系統和開發環境以及支持的SDK和API,還能自動調整資源來幫助應用服務更好的應對突發流量。有了PaaS平臺,開發者僅僅需要把應用開發好,然后在PaaS平臺完成服務部署,應用服務即可上線。

  相比IaaS平臺,PaaS平臺能更加精準的為應用程序所消耗的資源計費。IaaS平臺僅僅依據用戶申請的資源量,如CPU核心數,網絡帶寬來計費,而不關注用戶是否實際真正充分使用了其所申請到的資源。PaaS平臺則可以通過統計應用程序所占用的CPU使用率和內存使用率來做的更精準的計費,甚至可以實現應用層面的計費,比如服務響應時間,或者應用所消耗的事務。

  什么是Serverless?

  詳解Serverless架構及應用

  圖1:互聯網應用傳統架構的模型和Serverless架構模型

  Serverless指的是由開發者實現的服務端邏輯運行在無狀態的計算容器中,它由事件觸發, 完全被第三方管理,其業務層面的狀態則被開發者使用的數據庫和存儲資源所記錄。

  以上圖1為例,圖中上半部分描述的是互聯網應用傳統架構的模型:用戶客戶端APP與部署在服務器端的常駐進程通信,服務端進程處理該應用的大部分業務邏輯流程。下半部分則描述了Serverless架構模型。與傳統架構模型最大的不同在于,互聯網應用的大部分業務邏輯流程被轉移到客戶端上,客戶端通過調用第三方服務接口來完成諸如登錄,鑒權,讀取數據庫等通用業務場景;高度定制化的業務邏輯則通過調用第三方FaaS平臺執行自定義代碼來完成。總體上看,Serverless架構將傳統架構中的服務器端的整串總體流程拆分成在客戶端上執行一個個第三方服務調用或FaaS調用。

  回顧之前所述,無論是直接使用物理服務器設備部署程序,還是基于IaaS平臺托管硬件,或者使用PaaS平臺托管應用,開發部署互聯網應用都離不開傳統的客戶端-服務器模式,即客戶端向服務端發送請求,服務器運行處理各種業務邏輯,并響應來自客戶端的請求。至于物理機,IaaS乃至PaaS,歸根結底只是服務器程序的部署模式不同。

  而在Serverless架構中,軟件開發者和運維工程師們不在需要關心服務器的部署,架設,伸縮,這些問題交給云平臺商來解決,程序員們得以將精力投入用代碼來實現業務邏輯中,而不是管理服務器。Serverless并不意味著不再需要服務器了,只是服務器資源的申請,使用,調度伸縮由云服務商自動實現,應用開發者無需關心。

  Serverless如何工作?

  以一個簡單需求為例,論壇網站需要對用戶上傳的圖片生成一個縮略圖。

  我們使用我們自研的通用計算(UGC)來實現該功能。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?