云端:亞馬遜,谷歌應用引擎,Windows Azure,Heroku,Jelastic

您想在云端嗎? 您有很多選擇。 我已經評估或使用了許多方法,因此這里有幾句話。 (當我使用Java時,我將包括一些與Java相關的注釋,但大多數情況適用于所有(受支持的)語言。) 但是在深入介紹每種服務的詳細信息之前,讓我總結一下“云”在托管應用程序時實際上意味著什么:
  • 自動擴展–如果需求增加,您將自動獲得更多資源(在大多數情況下為更多虛擬機)來處理請求。 對于常規應用程序,它很少有用,但是擁有它并確保您的服務永遠不會消失是一件很不錯的事,因為負載過高
  • 支付使用費用–簡而言之,實際上,這是選擇小型服務器的選擇,而大型服務器則選擇大服務器。 這里的“陰天”是,您可以輕松地做到這一點,而不用重新配置一些遠程計算機
  • 云基礎架構–這是“我們部署這些服務并注意它們正在運行”的花哨的演講。 因此,無需在計算機上安裝和配置消息隊列,而是將其連接到已經安裝并管理的消息隊列。 或數據庫,電子郵件服務或緩存。
  • 管理工具–您可以使用控制臺,命令行工具和Web UI來處理安裝。 這既是一個加號(工具比使用本機命令的工具更高的級別),也是一個減號(有學習曲線)
  • 負載均衡器–所有服務都提供這些負載均衡器,您很少在乎負載均衡器的軟件和硬件是什么
總體優點是易于使用–您需要的系統管理知識很少,即使您掌握了這些知識,也需要做很多事才能擁有可用于現實世界的應用程序。 它不一定比常規服務器便宜(實際上,它可能更昂貴)。 但是,讓我們看看每種服務的作用:
亞馬遜網絡服務(AWS) 。 這是最受歡迎的選項。
  • 常規流程:創建一個EC2實例,它是一個虛擬機,對其進行ssh操作并具有完全控制權。 只要負載較高,就可以啟動并殺死實例的副本。
  • 靈活性:由于您對計算機具有root控制權,因此它非常靈活。
  • 可用性:AWS控制臺和Elastic Beanstalk為您提供了非常好的UI,用于管理應用程序。 使用Beanstalk,您甚至無需打開控制臺即可部署應用程序,只需刪除war文件即可。 實際上,您至少需要提供一些配置。 最好的事情是擁有預定義的實例映像,因此您可以在一分鐘之內啟動并運行“ Tomcat with MySQL”。 已經在Amazon API之上構建了不錯的解決方案,例如RightScale。
  • 功能:除了基本的實例功能外,您還有很多其他功能-托管數據庫,彈性IP,DNS,云存儲,CDN,郵件服務,消息隊列,緩存(這不好),等等。因此,您可以使用Amazon版本,而不是在實例上安裝和管理這些服務。
  • 定價 -您需要為實例運行的小時數付費
  • 試用:是,1年(微實例)。
Google App Engine(GAE) 。 這是一個PaaS(平臺即服務),因此您沒有自己的虛擬機,并且在使用某些標準API(例如,您不能生成線程)方面受到限制,并且您不能使用文件系統(您需要使用Blobstore API)
  • 常規流程:創建一個應用程序并部署它(通過命令行或IDE插件)。 您不管理服務器,也沒有ssh –您只有該應用程序。 該應用程序在沙盒中運行,您可能需要使用一些專有的API才能存儲到NoSQL存儲,使用MapReduce等。您的控制較少。 您可以通過管理界面瀏覽數據存儲區,查看日志文件和性能指標,因為您無法定期訪問目標“計算機”
  • 靈活性:低-您部署到沙盒。 您僅限于管理界面為您提供的配置
  • 可用性:管理界面還可以(不是很完美,但是我不能說不好)
  • 功能:額外功能較少,但仍然不錯–電子郵件,數據存儲,任務隊列,內存緩存等。
  • 定價 –通常,您需要為消耗的資源量付費
  • 試用:是的,只要您使用少量資源,它是免費的
Windows Azure 。 您可以獲得虛擬機,可以使用遠程桌面/ ssh對其進行管理。
  • 常規流程:您創建了一個虛擬機,就是這樣(類似于AWS)。 您還可以使用php,asp或node.js(這是PaaS,類似于GAE)來部署簡單的網站
  • 靈活性:VM較高,PaaS較低
  • 可用性:管理界面還可以
  • 功能:緩存,數據庫,服務總線
  • 定價 –細粒度,按需付費或預付費計劃
  • 試用:是,兩個月(最小的虛擬機)
Heroku 。 平臺即服務–您可以在沙盒中部署應用程序,并為其他服務提供許多有用的附加組件。 您有兩種類型的“ dyno” –一種為Web請求提供服務,另一種為后臺請求提供服務。
  • 常規流程:下載heroku工具帶,運行它(盡管最新版本在Windows上失敗–它安裝了ruby 1.9.2,并且需要1.9.3,所以您必須編輯bat文件),然后使用它來創建和部署應用程序
  • 靈活性:低,因為您在沙盒中運行,但是每個加載項都是可配置的,并且有很多加載項,因此它比其他PaaS選項要好。 對于Java開發人員來說,壞消息是它僅通過從git中檢出并使用maven進行構建來支持部署。 沒有其他版本控制系統或構建工具。 (有hg-git適配器,如果使用水銀,您可以嘗試使用它,但是它開始變黑了)
  • 可用性:需要命令行工作,但不是那么有用。 Web UI正常。
  • 功能:您可以想象的大多數東西都可以作為附件使用
  • 定價 –您需要按dyno,每個數據庫和每個附件(如果已付款)付費
  • 試用:是的,您每月可以免費使用750個小時-這意味著如果使用率較低,則可以免費獲得
Jelastic 。 平臺即服務僅適用于Java –在沙箱中部署應用程序。 您可以配置體系結構并使用各種第三方服務。 它不像其他服務那樣受歡迎,但是我的應用程序運行很快(在他們的支持下提供了一些有用的信息)
  • 常規流程:創建一個應用程序,通過一個不錯的UI選擇一個體系結構(稍后可以重新配置),然后部署war文件。 您配置希望應用程序使用的最大服務器數量。 一切都通過Web UI配置
  • 靈活性:低,因為您不能使用ssh。 但是,您可以自由地編輯某些應用程序服務器配置,并且對文件系統具有有限但足夠的訪問權限,還可以配置所使用的每個其他服務(例如,數據庫)
  • 可用性:界面相當不錯(我會說比其他更好)
  • 功能:您可以使用其他服務-MySQL,MongoDB,CouchDB,memcached和maven構建。 (列表比Heroku提供的要小得多)
  • 定價 –您按應用服務器實例和附加服務(MySQL,SSL,負載均衡器等)付費。
  • 試用:是的,但只需2周
還有許多其他選項,特別是傳統的托管公司RackSpace ,而云選項只是具有某些“云”功能(如自動縮放)的虛擬機。 我只列出了我實際嘗試過的流行選項(我廣泛使用過AWS,GAE,并在其他三個應用程序上部署了示例應用程序)。 上面的評估并不旨在完整,我肯定在這里和那里錯過了一些要點。
沒有“贏家” –針對不同情況使用不同的選項。 但是,最好知道每種服務都施加了哪些限制,以及采用的方法和總體思路是什么。 因為,尤其是在Heroku和GAE等平臺上,您需要更改對部署的思考方式。
參考: All Cloud:來自Bozho的技術博客博客中的JCG合作伙伴 Bozhidar Bozhanov的 Amazon,Google App Engine,Windows Azure,Heroku,Jelastic 。

翻譯自: https://www.javacodegeeks.com/2012/07/all-that-cloud-amazon-google-app-engine.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372064.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372064.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372064.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JS-字符串操作-替換

<!DOCTYPE HTML><html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8"><title>無標題文檔</title><style>p { border:10px solid #ccc; background:#FFC; width:400px; padding:20px;…

linux下kegg注釋軟件,KEGG數據中全部代謝反應和代謝物注釋信息的下載

# 加載函數與R包 -----------------------------------------------------------------library(KEGGREST)library(plyr)source("./RbioRXN-master/RbioRXN-master/R/get.kegg.all.R")source("./RbioRXN-master/RbioRXN-master/R/get.kegg.byId.R")## KEGG數…

java常見異常

算術異常類&#xff1a;ArithmeticExecption空指針異常類&#xff1a;NullPointerException 類型強制轉換異常&#xff1a;ClassCastException 數組負下標異常&#xff1a;NegativeArrayException 數組下標越界異常&#xff1a;ArrayIndexOutOfBoundsException 違背安全原則異常…

Spring Security 3 Ajax登錄–訪問受保護的資源

我看過一些有關Spring Security 3 Ajax登錄的博客&#xff0c;但是我找不到解決如何調用基于Ajax的登錄的博客&#xff0c;匿名用戶正在Ajax中訪問受保護的資源。 問題 – Web應用程序允許匿名訪問某些部分&#xff0c;并且某些部分是受保護的資源&#xff0c;需要用戶登錄。 …

測試環境下將centos6.8升級到centos7的操作記錄(轉)

在測試環境下安裝openstack&#xff0c;由于在centos6下安裝openstack&#xff0c;針對源的問題有很多&#xff0c;安裝起來很不順利&#xff01; 但是在centos7下安裝卻很順利&#xff0c;所以考慮將服務器由centos6升級到centos7 這個我是在測試機中運行的&#xff0c;建議不…

linux運維選擇題,初學Linux練習題

1、將/etc/issue文件中的內容轉換為大寫后保存至/tmp/issue.out文件中tr ‘a-z’ ‘A-Z’ < /etc/issue > /tmp/issue.out2、將當前系統登錄用戶的信息轉換為大寫后保存至/tmp/who.out文件中3、一個linux用戶給root發郵件&#xff0c;要求郵件標題為”help”&#xff0c…

[轉]Web Api系列教程第2季(OData篇)(二)——使用Web Api創建只讀的OData服務

本文轉自&#xff1a;http://www.cnblogs.com/fzrain/p/3923727.html 前言 很久沒更新了&#xff0c;之前有很多事情&#xff0c;所以拖了很久&#xff0c;非常抱歉。好了&#xff0c;廢話不多說&#xff0c;下面開始正題。本篇仍然使用上一季的的項目背景&#xff08;系列地址…

使用Spring 3 MVC處理表單

本文是有關Spring 3的一系列文章的一部分。該系列的上一篇文章可以在此處獲得 。 在本文中&#xff0c;我們向Spring MVC邁出了又一步。 [此外&#xff1a; 術語MVC的創建者提供的pdf 。]從上一篇文章構建&#xff0c;讓我們添加將“聯系人”添加到應用程序所需的代碼。 首先&a…

插入排序法之——直接插入排序、折半插入排序、希爾排序

// test20.cpp : 定義控制臺應用程序的入口點。 // #include "stdafx.h" #include<iostream> #include<vector> #include<string> #include<queue> #include<stack> #include<cstring> #include<string.h> #include<de…

linux idea 快捷鍵,Linux 下 IDEA 的 Ctrl+Alt+S

前言這是個困擾我一年多的問題&#xff0c;今天終于解決了……起因一年前將主系統換成 Arch Linux 后&#xff0c;其他一切正常就是 IDEA 的打開設置的快捷鍵 ctrlalts 失效&#xff0c;讓我很是頭疼。雖然不是很重要&#xff0c;但是對于我這種強迫癥來說別提多難受了……我曾…

修改input的placeholder顏色

1、CSS選擇器 因為每個瀏覽器的CSS選擇器有所差異&#xff0c;所以需要針對每個瀏覽器做單獨的設定。 ::-webkit-input-placeholder { /* WebKit browsers */ color: #999; } :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #999; } ::-moz-placeholder { /* Mozil…

解決Spring自動裝配中的循環依賴

我認為這篇文章是在企業應用程序開發中使用Spring的最佳實踐。 使用Spring編寫企業Web應用程序時&#xff0c;服務層中的服務量可能會增加。 服務層中的每個服務可能會消耗其他服務&#xff0c;這些服務將通過Autowire注入。 問題&#xff1a;當服務數量開始增加時&#xff0…

01.MD5加密

namespace _01.MD5加密{ class Program { static void Main(string[] args) { //MD5加密就是給想要的密碼或者其它字符加密 //如果字符串被加密成MD5值之后,是不可逆的. //字符串123 的MD5 64位加密形式是 202cb962ac59075b964b07152d234b70 Console.WriteLine("請輸入需要…

C語言數字3轉變字符 3 程序,大學c語言知識點總結

大學c語言知識點總結C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。一起來看看大學c語言知識點總結吧!大學c語言知識點總結1、編譯預處理不是C語言的一部分&#xff0c;不再運行時間。C語言編…

接觸Jenkins(Hudson)API,第1部分

哪一個-哈德森還是詹金斯&#xff1f; 都。 幾個月前&#xff0c;我開始使用Hudson v1.395來從事這個小項目&#xff0c;在出現巨大分歧之后又回到了這個項目。 我以此為契機&#xff0c;看我將來選擇永久搬到詹金斯時是否會遇到任何重大問題。 有很多麻煩-最值得注意的是&…

使用javascript模擬常見數據結構(四)

七、樹 樹是一種非線性的分層的數據結構&#xff0c;在現實生活中比較常見的例子比如家譜和公司的組織架構圖&#xff0c;如下所示&#xff1a; 一個樹結構存在著一系列的父子結構&#xff0c;并且有著一個根節點&#xff0c;這種結構本質上表明了一對多的關系。 那&#xff0c…

C語言中實際參數太多,c – 宏的實際參數太多了?

碼&#xff1a;#include using namespace std;#define ADD(x,y) ((x)(y))int main( int argc, char** argv ){cout << ADD(1,2,) << endl;return 0;}編譯器輸出&#xff1a;1>Compiling…1>main.cpp1>c:\warn_test\main.cpp(9) : warning C4002: too many…

Web開發框架–第2部分:Play Framework 2.0

作為 評估系列 的第一個候選人&#xff0c; 我們回顧了 Play Framework v2.0 。 可以從Play 文檔站點獲得本文所使用的教程和參考文檔。 本文的第一部分將介紹我們建議對每個框架執行的一組任務&#xff0c;然后繼續評估每個標準項。 在開發工作站中安裝框架 非常簡單&#…

最全Pycharm教程(10)——Pycharm調試器總篇

最全Pycharm教程&#xff08;1&#xff09;——定制外觀 最全Pycharm教程&#xff08;2&#xff09;——代碼風格 最全Pycharm教程&#xff08;3&#xff09;——代碼的調試、執行 最全Pycharm教程&#xff08;4&#xff09;——有關Python解釋器的相關配置 最全Pycharm教程&am…

Looper.prepare()和Looper.loop()

什么時候需要 Looper Looper用于封裝了android線程中的消息循環&#xff0c;默認情況下一個線程是不存在消息循環&#xff08;message loop&#xff09;的&#xff0c;需要調用Looper.prepare()來給線程創建一個消息循環&#xff0c;調用Looper.loop()來使消息循環起作用&#…