当前位置: 首页 > 工具软件 > Jelastic > 使用案例 >

云端:亚马逊,谷歌应用引擎,Windows Azure,Heroku,Jelastic

锺离赤岩
2023-12-01
您想在云端吗? 您有很多选择。 我已经评估或使用了许多方法,因此这里有几句话。 (当我使用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等平台上,您需要更改对部署的思考方式。

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

 类似资料: