雲計算中的IaaS、PaaS、SaaS都是啥?

對於互聯網公司而言,遷移到雲是一個明智的決定。它減少了總的成本支出,同時最大限度地提高了工作效率和生產率,本文將指出遷移到雲或者建設私有云優缺點以及邊界在哪裡?

雲計算中的IaaS、PaaS、SaaS都是啥?

1、什麼是雲計算

雲計算(cloud computing)是分佈式計算的一種,指的是通過網絡“雲”將巨大的數據計算處理程序分解成無數個小程序,然後,通過多部服務器組成的系統進行處理和分析這些小程序得到結果並返回給用戶。

本地通常是提前把軟件基礎架構部署在用戶計算機上,所有資源使用者自己訪問和管理; 相對於本地服務,雲有以下特徵:

  • 按需服務-需要時使用;
  • 網絡訪問-通過網絡作為傳輸媒介,雲提供商負責維護其基礎架構;
  • 資源共享-多個資源集中在一起,供多個客戶端使用;
  • 可伸縮性-資源具有彈性能力,最大程度節省和提高資源利用率,具有平臺無關性、存儲無限擴展等優勢。

2、公有云的缺點在哪裡?

  • 雲是公共資源,每秒都有數以百萬的用戶訪問,雲服務提供商可能遭受攻擊,從而竊取用戶信息,從而云在一定程度上存在安全問題。
  • 數據存儲在第三方機器,可能會出現第三方查看和修改用戶隱私數據問題。
  • 更多的控制權不在於自己,而在於雲提供商,雲出現問題,只能等待第三方回應。

雲本身又分為公有云、私有云、混合雲等,以上說的幾點都是公有云的特點,很多企業不信任公有云平臺,特別是國內很多企業要求對技術做到自主可控,結合本身的業務增長速度,需要搭建自己的私有云平臺。那麼要完成私有云平臺搭建,需要完成什麼工作呢?如圖(a)

雲計算中的IaaS、PaaS、SaaS都是啥?

(a)

3、搭建企業級雲平臺需要完成哪些工作?

3.1、IaaS 基礎架構即服務

IaaS 基礎架構即服務,該服務提供了計算機體系架構和基礎服務,提供了所有云計算資源供我們直接訪問使用,比如數據存儲、虛擬化服務、服務器和網絡等。

使用對象:企業管理員。

優點:雲提供了基礎架構和服務、增強了可擴展性、動態按需擴展。

缺點:集群規模增大後會出現安全問題和網絡服務延遲。

3.2、PaaS 平臺即服務

PaaS 主要是提供開發環境/平臺,編程語言、操作系統、web 服務器和數據庫構成,用戶可在其中構建、編譯、運行程序無需擔心其基礎架構。當今面對互聯網業務量和用戶量劇增,PaaS 是企業需要著重建設的部分。很多企業都以 Kubernetes 為基礎建設容器雲平臺。常見的公有云有有阿里雲,騰訊雲、亞馬遜雲等。

使用對象:開發人員。

優點:快速開發部署、彈性擴容、持續交付。

缺點:開發人員僅限於使用PaaS提供的語言和工具,如果前期使用裸金屬服務器部署,後期遷移到雲,可能會有一定難度和適應期。

3.3、SaaS 軟件即服務

按需使用軟件、按需付費。跟購買程序無關,該服務運行在雲端,是平臺無關的,無需在 PC 上安裝軟件。雲端運行該服務一個或多個實例供多個最終用戶使用,雲計算大大降低企業軟件運行成本。比如網盤、網上衝浪服務等。

使用對象:用戶。

優點:可以通過任何平臺訪問、無需關心在什麼網絡環境。非常適合協同辦公。

缺點:雲服務是面對所有用戶,比如:瀏覽器兼容性可能導致不能使用某些服務。

3.4、PaaS VS IaaS

在雲平臺建設過程中 PaaS 和 IaaS 邊界在哪裡呢?很多企業在建設過程中,可能會把這兩個混為一談,其實有一定的界限。

  • IaaS 主要是對裸金屬機器進行資源分配、操作系統安裝、服務器啟動、網絡配置等。
  • PaaS 主要是對計算資源進行邏輯管理,與應用有關資源分配和調度,主要是最大程度上服務於上層應用,如圖(b)。
雲計算中的IaaS、PaaS、SaaS都是啥?

(b)

4、雲平臺真的適合你嗎?

建設之前,需要大量的時間去整理、評估組件的各種可行性分析。說到這裡,很多人可能會知難而退;是的,坦率的說,雲平臺其實不適合大多數的團隊,如果你在一個 15 - 20 人的小團隊裡,它會帶給你大量痛苦,而好處卻微乎其微。

4.1、以建設容器雲平臺舉個例子

目前 A 公司的系統全部運行在裸金屬 3 臺服務器或者 5 個虛擬機上,考慮到硬件資源無法靈活調度,目前考慮遷移到Kubernetes上。

首先需要申請更多的機器,遷移總要有一個過渡階段,前期裸金屬服務器上要運行一份服務,Kubernetes容器化平臺還要有一份服務,此外還需要考慮依賴的底層服務;

其次需要開發人員的學習適應和一定的人力投入,開發人員需要在瞭解大量概念之後才能使用,Node、Pod、Container、Service、Deployment......各種資源對象,如圖(c)可以看出 Kubernetes 是一個龐大的系統,操作和使用都是非常的複雜,它包含 58w 行 go 代碼,如果我們想要服務更好的工作,研究其運行機制,一定是必不可少的。 ( c )

最後落地,需要考慮數據的遷移、遺留系統的遷移,因為 Kubernetes 本身是一個集群,不得不考慮分佈式存儲管理、配置管理...... 如果自己系統本身不適應集群部署,那麼不能發揮雲的作用,不得不考慮把服務拆分成分佈式微服務程序,這種程序很難編寫,編寫過程需要考慮分佈式事務等很多問題,其次調試和日誌排查問題也會增加複雜度,於是你在雲平臺的漩渦裡不能自拔..........

上面說了這麼多 Kubernetes 使用問題,是不是說它就一無是處了,當然不是。比如說當前服務客戶是金融業務,7*24 小時不能宕機,且有上萬用戶使用,這就需要考慮到服務的擴展性和升級可靠性了,這正是Kubernetes 最擅長的事情了。

4.2、容器雲平臺真的有必要嗎?

對於任何技術,在使用之前都要持保留態度,別人說好,那是適合,換做是你,可能就是另外一種場景了,要學會洞察技術的本質,就像搭建企業級雲平臺一樣,在搭建之前要考慮為什麼要建設企業級雲平臺?可以從三個方面去考量建設的意義是什麼?

業務系統越來越多,各個系統之間存在大量的數據交互和接口調用,規劃的還有大量的系統需要建設,出現問題時總是修修補補,無法從全局、系統的角度去規劃分析問題。 資源管理層面上,有多個機房和數據中心,裡面可能存在部分殭屍服務,無法做到有效監控、動態調度底層計算資源共享,更無法做到峰谷互補伸縮自如。 需求上要求快速交付、持續運行並且已經存在或者未來可預知的大量用戶和海量數據。

5、總結

隨著互聯網的發展和網絡帶寬的增加,企業應利用雲計算的優勢,減少了總的成本支出,同時最大限度地提高了效率和生產率,從長遠來看,對於大型互聯網公司而言,遷移到雲是一個明智的決定。

轉自:https://my.oschina.net/u/1787735/blog/3212223


分享到:


相關文章: