一個Java程序員眼中的國外5大IaaS雲服務選型

雲計算 IaaS Java Azure IT168企業級 2017-05-14

如今,雲計算無處不在。最簡單的說,雲計算是通過互聯網存儲和訪問不同的數據和程序,而基礎架構即服務(IaaS)是雲的基本構件。IaaS支持在雲環境中自然開發,測試和使用應用程序。在本文中一個想通過IaaS託管Java應用程序的用戶,如何選型國外主流的5大雲供應商服務。它簡要介紹IaaS,然後比較5個主流雲提供商:Amazon EC2,Google Compute Engine,IBM SoftLayer,微軟Azure和Digital Ocean。

IaaS可幫助企業避免購買和運行自有服務器的複雜性。而且,不需要維護和升級軟件。它在許多情況下具有較低的基礎架構成本,從而幫助沒有時間和資本的新企業投資自己的硬件基礎設施。

IaaS的其他一些好處包括:

  • 服務可作為大量資源分發。

  • 靈活,IaaS提供彈性縮放。

  • 成本,可根據業務需求的不同而不同。

  • 多個用戶可以使用單個硬件。

  • 位置獨立性,只要有互聯網連接,並且雲的安全協議允許,通常可以從任何地方訪問雲服務。

以上是IaaS用於構建Web應用程序的優勢,所有需要做的就是決定要選擇哪個解決方案。唯一的問題是今天有這麼多的選擇。作為Java開發人員,我最初在評估各種IaaS服務時遇到了一些困難。因此,在本文中,我將介紹託管Java Web應用程序的五個最佳解決方案,並將它們相互比較。

亞馬遜EC2

亞馬遜彈性雲(Amazon EC2)是一種Web服務,可在雲中提供可調整的計算容量。它有助於啟動和管理服務器實例,從而使其適合用於Web規模計算的開發人員。一個Java程序員眼中的國外5大IaaS雲服務選型

實例有不同的大小和配置。 EC2允許AWS提供不同的實例類型,可用於滿足特定需求。因此,可以根據需要啟動不同的虛擬機。如果正在部署Java應用程序,則可以將應用程序服務器(Tomcat,Web Sphere等)安裝到一個虛擬機中,並在具有適當配置的單獨VM上使用其他服務,如微服務,數據庫等。

使用Amazon EC2,可以靈活的選擇不同的實例類型,操作系統和軟件包。Amazon EC2具有內存,CPU和實例存儲配置,有助於存儲選擇。此外,可以選擇最適合你的操作系統和應用程序的啟動分區大小。

使用EC2的唯一缺點就是費用。隨著我的工作流程變得更加複雜,我使用更多的服務,很難投入成本。然而,為了幫助估算成本,亞馬遜提供了一個月度計算器。

與其他服務提供商相比,網絡並不靈活。由於大量數據必須從LAN的一端移動到另一端,因此數據傳輸距離遠遠超過互聯網上常見的擁塞問題。

Amazon EC2可以說是行業的標準。許多領先的網站和應用程序使用EC2。比如Instagram,Reddit,Netflix,Adobe,三星等等。你可以找到很多使用Amazon EC2的案例!

Google Compute Engine

Google Compute Engine(GCE)可幫助你在Google上為自己的服務,使用相同基礎架構,並運行虛擬機。GCE為企業提供更大的靈活性和控制能力以及訪問計算資源的規模,從根本上改變企業對解決問題的思考方式。GCE很像EC2,但虛擬機運行在Google的基礎設施上。在Google Compute Platform上部署Java很簡單。一個Java程序員眼中的國外5大IaaS雲服務選型

網絡定價昂貴。由於GCE比較新,與AWS不同,編程語言的選擇是有限的。Google Compute Engine中不支持AWS中支持的一些Java API。從GCE到任何其他平臺的過渡並不容易。還應該注意,為了運行任何Java框架,GCE需要為用戶做更多的幫助,因為它們沒有集成的包。

最常見的GCE客戶包括EverNote,飛利浦,可口可樂,HTC,摩托羅拉,同時可汗學院,Spotify,口袋妖怪和百思買等也利用GCE的數據倉庫和分析功能。

IBM SoftLayer

正如IBM倡導的“無需妥協的雲”,它提供高容量,可擴展性和安全性的雲服務。 IBM SoftLayer的高速內部網連接對企業複雜應用程序所需的IaaS解決方案,但必須支付額外的費用才能使其工作。一個Java程序員眼中的國外5大IaaS雲服務選型

Softlayer的裸機基礎架構可以與虛擬化服務器結合使用,提供一系列的hyper-V技術的解決方案,從而可以優化生產工作負載。並在SoftLayer的數據中心之間提供了極佳的高性能帶寬,使雲環境能夠承受從一個數據中心到另一個數據中心的數據突然增加。同時,SoftLayer的單一租戶服務器模式通過綜合防火牆保護數據,為敏感信息提供保護。除IBM SoftLayer外,沒有其他雲提供商提供自定義虛擬機類型。SoftLayer提供調用其API的maven依賴關係。

SoftLayer的服務沒有捆綁在一起。雖然IBM提供廣泛的服務,但不僅僅是雲服務。相反,它們將公有云服務與內部和IBM品牌的服務相結合,從而提供“虛擬IT部門”,即聯繫IBM進行託管服務以進行軟件更新和維護。

重要用戶如Artomatix,Cedato和ClickTale等。

微軟Azure

全面的服務,可幫助你快速開發,部署和管理全球各地微軟的數據中心的應用程序。它支持Windows,Linux和社區虛擬機映像以及跨平臺開發工具和框架。支付所用的費用,就可以可以節省大量成本並實現更高的效率。一個Java程序員眼中的國外5大IaaS雲服務選型

Azure的服務器可以讓用戶在雲端完全控制。Application Insights是面向多個平臺上的Web開發人員的服務。遵循“檢測,評估,診斷,穩定和關閉”的標準安全模式,強調安全性。 Azure還提供簡單,用戶友好的服務,以增加保護,如多因素身份驗證和應用密碼要求。如果你需要使用自定義第三方軟件或許多應用程序的解決方案在單臺機器上運行,那麼Azure的IaaS解決方案能提供幫助。作為Java開發人員,你將發現在這裡輕鬆部署和擴展WebApps。

實例之間的負載平衡可能會中斷應用程序的狀態;即不能保證來自同一用戶的兩個請求將轉到相同的實例。Azure在選擇實例類型時不提供靈活性。此外,它需要專業的管理和維護,包括修補和服務器監控。

在微軟Azure上的代表用戶是Essar,CloudMunch,AppPoint和ShepHertz,通過Azure節省了65%的部署。

Digital Ocean

Digital Ocean針對Linux開發者。它提供了簡單的設置,為用戶提供了一個乾淨,易於使用的界面,具有很少的功能和一鍵式部署。它具有控制面板來管理諸如雙因素身份驗證,良好的API,自動備份和DNS管理等功能。它提供了與其他服務相比便宜的SSD主機。一個Java程序員眼中的國外5大IaaS雲服務選型

提供的服務是虛擬機和DNS管理,無負載平衡,託管數據庫,分析,Hadoop集群等必不可少的服務。如果不僅僅關注自動縮放和高可用性,更多地投入管理服務器,那麼Digital Ocean適合你的使用。對於Java開發人員,官方網站有一個社區提供教程。

Digital Ocean的不足是它們的磁盤位於管理程序中,並且它們不使用集中式存儲,如果託管在故障管理程序上,則導致完全數據丟失的風險相對較高。但是,如果你有這樣的風險,並且有備份,那麼你可以用你滿意的價格獲得一些出色的服務器。

Digital Ocean的用戶包括NodeBB,Rockerbox,Ghost和taskRabbit。重要案例是jQuery基金會正在使用Digital ocean。

綜合比較:

一個Java程序員眼中的國外5大IaaS雲服務選型

相關推薦

推薦中...