与Amazon Elastic Beanstalk相比,新的Heroku Java支持有哪些优势

与Amazon Elastic Beanstalk相比,新的Heroku Java支持有哪些优势,heroku,amazon-ec2,amazon-web-services,playframework,Heroku,Amazon Ec2,Amazon Web Services,Playframework,我们正在决定是否主办我们的演出!Amazon的Elastic Beanstalk或新的Heroku Java产品上的框架和mysql Java应用程序。我很难弄清楚Heroku的优势是什么。一个缺点是Heroku不像beanstalk那样自动缩放节点。但是我应该知道有什么优势吗?从我的角度来看,在这两个平台上的经验都很少,在我看来,Heroku对您的工作要求更少,对您来说,事情更自动化 你为它付费,但对于一个中小型应用程序,我相信它是值得的。因此,在经历了AWS elastic beanstal

我们正在决定是否主办我们的演出!Amazon的Elastic Beanstalk或新的Heroku Java产品上的框架和mysql Java应用程序。我很难弄清楚Heroku的优势是什么。一个缺点是Heroku不像beanstalk那样自动缩放节点。但是我应该知道有什么优势吗?

从我的角度来看,在这两个平台上的经验都很少,在我看来,Heroku对您的工作要求更少,对您来说,事情更自动化


你为它付费,但对于一个中小型应用程序,我相信它是值得的。

因此,在经历了AWS elastic beanstalk的痛苦之后,我的回答是:(tl;dr we's Switch to heroku)

豆茎优势:

  • 自动缩放(但请确保您确实需要此功能,在heroku上很容易缩放,这只是手动操作)
  • 基于WAR格式,如果您已经熟悉(但请参见下文)
缺点:

  • 玩吧!战争建设过程有点事后诸葛亮。我在做一些事情时遇到了问题,比如定制log4j appender和运行计划作业。play在servlet容器中运行是不完全自然的,因此您遇到了一些奇怪的问题
  • 超级笨重的部署过程。我基本上是通过web控制台为每个部署上传130MB war文件。我最终通过命令行构建过程实现了所有部署,但这是一项巨大的工作。我有一种感觉,除了我,没有人在使用elastic beanstalk,因为我独自一人想出了相当糟糕的命令行工具。要了解如何将play应用程序部署到beanstalk:构建war文件,安装一些s3工具并上载war,安装beanstalk UTIL并使用创建新配置,然后部署该配置。在这份清单中,有许多痛苦的细节需要克服。在heroku,你推动回购协议,它完成了一切
  • 雄猫!例如,play没有在为beanstalk部署的tomcat版本下运行计划作业的正确权限
  • 日志记录是最糟糕的。您可以为正在运行的每个服务器下载捕获的日志文件。但是,它们似乎从来没有包含你需要的东西。我有两台服务器,已经很糟糕了
还有更多,但简短的故事是,我们正在转向heroku,这已经是一个大大改进的体验。处理SSL证书、组合日志记录和一组很棒的附加组件(loggly集中式日志记录、websolr托管的搜索等)让我觉得这已经是值得的了


如果人们要求更多细节,我会在评论中提供更多细节。

我不应该评论这些差异,因为我为Heroku工作。但我要指出,有一些第三方工具可以在Heroku上处理自动缩放。Heroku管理是通过REST API公开的,任何人都可以围绕它构建工具。我很愿意听到有偏见的意见,James,如果你想指出一些优势,那就说吧。:)Heroku最近开始支持Play。在我看来,不会有很多游戏应用被托管(产品质量-不是免费的hello world类型)。消息仍在传播。主要是红宝石店。所以你必须等一段时间才能得到真正的比较:)你能更具体一点吗?您的意思主要是指如何部署?或者也有类似DB管理优势的东西吗?谢谢。我指的是部署、服务器维护(安全、补丁等)、服务器正常运行时间(除非它与应用程序因软件原因崩溃有关),等等。对我来说,这很有价值,因为它可能非常耗时,而且会让你晚上睡不着觉。我不明白这些质量(低维护率等)是如何产生的适用于Heroku,但不适用于Amazon Beanstalk。@ripper234根据我对Amazon的最低经验,您必须对您的系统(bean、平衡等)做出更多决定,而在Heroku中,您只需编码和上传。对于一个没有真正系统管理技能的开发人员来说,Heroku是一件好事:)FWIW,Elastic Beanstalk不再需要WAR文件,因为它还支持Python、PHP、.NET等。