Heroku vs EngineYard:哪一个更值钱?
我在Google上查了这个,但在承诺提供任何服务之前,我想要更多的意见。 有没有人有任何(或两者)的服务经验? 两者之间有什么优点或缺点? 特别感兴趣的领域是:
- 安全
- 稳定性
- 可扩展性。
- 价钱
我假设你在谈论Engine Yard的EC2托pipe,而不是他们的全面服务栈?
我正在和Heroku合作,并且喜欢它。 在价格上,Heroku对我来说是明显的赢家。 带宽成本是由Heroku提取的,这是一个很大的胜利。
在安全方面,有点难以分辨 – 这是对云的常见批评之一。 对任何一个服务上运行的堆栈都没有太多的了解。
Heroku已经投入了大量的技术来监视和无缝pipe理应用程序实例。 出错了,实例被删除,新的启动。 精彩的东西。
至于可扩展性,两者都支持亚马逊,并利用EC2和EBS,所以在原始容量方面可能大体相同。
质朴,
我曾经在Engine Yard工作,所以让我给你提供关于我们的Engine Yard Cloud服务(在AWS上运行)的信息。 我会离开你做你自己的研究你的其他选项。
- 安全性每个Engine Yard Cloud帐户在幕后都是它自己的完整亚马逊帐户,这意味着您将得到完整的硬件实施,专门为您运行应用程序的虚拟机。 因此,攻击者利用C Gems,Ruby,passenger,linux等零日缓冲区溢出等攻击手段,只能访问单个帐户。 数据path中没有共享基础结构。 我们会观察堆栈中所有元素的安全漏洞报告,并在重新部署时自动获取新的修补程序。 您可以获得对您的实例的完全SSH访问权限,并且在您需要安装Solr或Sphinx等软件包或image processing等时,可以获得一个正常的服务器环境。
在我看来,硬件级别的虚拟机是亚马逊成功的基础之一,为什么在虚拟机成熟之前就没有这样的事情发生过(但是我有偏见,因为我以前是VMware的一员,并且发现这种情况是实时发生的)
-
稳定性我们在Ruby / Rails组件方面有很多可以信任和不能做的事情。 目前在我们的“不部署”名单是雪貂,剑圣和awstats。 否则,我们会继续AWS正常运行时间,因为我们在数据path中没有共享基础结构。 AWS的正常运行时间相当不错,但是我还没有尝试运行核电站。 最近,部署可靠性的部署一直在增加 – 亚马逊似乎正在接近容量利用率的风向,因此在某些情况下,增加容量的要求将会失败,需要重新发布。
-
可扩展性。 我们有一些在Engine Yard云上运行的大型应用程序。 Playmesh在去年11月份拥有了第一款iPhone应用程序,并提升了处理能力。 我们甚至以一个小实例(4个mongrels)为基准,每个月能够在恒定负载(非常简单的应用程序)下处理85M / Reqs。 我们build议人们在需要大量磁盘I / O的情况下运行较大的实例时,Amazon提供更好的I / O吞吐量来处理较大的实例大小。 无论如何,添加或删除容量实际上是一个button的点击。
-
价格全天候运行一个小例子(4mongrels)一个月将会花费您在安全云上的79美元或者每小时0.11美元(赤裸裸的亚马逊8.5美分)。 这包括数据库pipe理,但是您将为存储和带宽支付less量费用 – Engine Yard Cloud以AWS的成本进行传递。 我们非常有信心,一旦达到任何合理的stream量,我们是一个杀手锏。
让我补充一些你可能想要考虑的其他标准。
-
支持 – >您免费获得社区/论坛支持,但我们也有支持支持选项,高级支持选项让您的应用程序全天候观看,当您的应用程序出现故障时,我们会通知您,如果支持这是一个问题。
-
社区 – >有些人关心这个,有些人不是,Engine Yard赞助2个全职Rails贡献者,3个JRuby团队和下一个Ruby VM Rubinius。 我们致力于帮助Rails和Ruby成为开发Web应用程序的最佳平台。
-
自动化 – >你只需观看演示,看看它在行动,但它是整洁的。 此外,我们正在testing与命令行git部署,检查知识库看看它的行动。
他们是完全不同的方法。
Heroku是一个rubyPaaS解决scheme,类似于谷歌应用程序引擎。 它允许您扩展应用程序而不需要系统pipe理技能,只要您的应用程序适合他们提供的生态系统即可。
发动机庭院是一个更传统的服务,让您访问箱和提供工具,让您的生活更轻松。 由于它不是一个抽象,它为您提供了更多的灵活性,但也需要更大的系统pipe理技能。
这是一个相当古老的线索,相当老的回应,所以我认为一个更新的回应可能会帮助一些人。
对于一些相当庞大而复杂的Web服务,我使用Heroku和Engine Yard有相当多的经验。 我的公司使用Engine Yard来运行Android的Andromo App Maker,我们使用Heroku来运行Android的AirBop推送消息服务。 每个平台都有其独特的function。
你的问题有点难以回答,因为你感兴趣的大多数标准并不是每个平台的区别特征。 无论如何,我会回答这些问题,但是我也会涉及每个平台的一般理念以及我认为对您的决定更有用的技术支持差异。
安全性,稳定性和可扩展性是一种洗涤。 这两种服务与任何Amazon EC2实例一样安全稳定。 可伸缩性也是现实的。 虽然Heroku限制了你几百个小(512k)的实例(或现在的“双”小),Engine Yard将允许你使用超大型的CPU和内存,但在现实世界中,它们大致相同结束。 有了Heroku,你可能需要产生一大批廉价的小型服务器来处理你的负载,或者在Engine Yard中使用一些更昂贵的大型服务器。 对于networking请求,可能无关紧要。
价格是我能更好地解决的一个因素。 首先,如果你只是在修补,Heroku是免费的。 只是不要混淆这意味着你可以真正运行一个真正的网站在他们的免费层。 你不能。 引擎工作室给你一个免费的小时玩,以及让我们来谈谈真实世界的应用程序。 Heroku平滑的定价,收取“dynos”(我提到的那些小型Web服务器)和PostgreSQL数据库计划。 他们的价格包括存储,备份,带宽等,所以只需要精确地计算成本是非常容易的。 Engine Yard将事情分开,你需要使用计算器来计算什么东西会花费 – 但是在你决定启动一个新的“实例”之前,这些东西都会显示给你。
我发现Heroku的数据库计划非常昂贵(与使用EC2的实例相比)。 他们肯定是在这里赚钱。 dynos现在看起来价格便宜,现在需要200-400美元/月的数据库(开始达到合理的性能水平,你可能看起来更像800美元)。 我也讨厌他们隐藏/遮盖数据库规范的方式 – 您需要通过转到Amazon的实例大小数据并查看Heroku用于“caching”的“内存”来推断这些function。
Engine Yard的数据库就是你想要的任何服务器实例。 他们使用与web实例相同的EC2标记。 这里没有刨。 它更透明。
一个比另一个便宜吗? 也许,但我不会让几美元混淆你的决定。
最后,我喜欢Engine Yard的“裸机”控制。 我们需要Andromo,因为我们正在生成和编译Android应用程序,并有一些非常具体的要求。 Engine Yard让我们完全控制每个服务器,Unix软件包,SSH等等。另一方面,Herkou在你可以从硬件抽象你的应用程序并进入dynos思维群体的情况下工作得非常好。 他们使得在几分钟内启动十几个非常快速和容易。 正如我所提到的,我们在Heroku的平台上运行AirBop,并使用HireFire自动创build/销毁实例 – 这对我们的工作非常有效,因为我们的负载变化相当大,出乎意料。
另外要考虑的是技术支持。 根据我的经验,Heroku的免费/附带支持是无用的,而Engine Yard是非常好的。 安永曾经收取基本的支持,但已经开始包括所有的计划(加上他们有优先24/7选项可用)。 我发现他们真的知道他们在说什么。
希望有帮助!
我查了一下Bitnami,Heroku和Engine Yard,并对Heroku和Engine Yard进行了一些严肃的testing,Engine Yard是迄今为止的赢家。 Heroku做了一些非常奇怪的事情,例如在250 MB的过程中限制进程,他们的答案是你必须pipe理自己的内存。 我看到heroku上的性能出现了严重的上涨,有时候这些进程似乎只会挂起,而不会像一分钟内重新启动,而多个web dynos正在运行(这不应该发生)。另外,heroku会让进程进入睡眠状态使用,即使有多个dynos也有一个奇怪的启动问题。 再加上我不能得到在heroku上的日志文件,并找出发生了什么事情增加了不便。 在Engine Yard部署相同的确切代码,并观看它尖叫而没有任何时髦的性能尖峰,我不得不说,发动机场是赢家和最容易部署到一旦你得到你的系统设置。 发动机工厂上的成本实际上比在heroku上便宜一些,一旦你开始添加networkingdynos,性能是方式,尤其是如果你切换到JRuby栈。 我尝试在Bitnami上设置一些东西,但是从我记忆中来看,这是很难合作的。 我认为,如果你不关心性能或可伸缩性,只想部署一个简单的networking应用程序,那么heroku就是一个很好的解决scheme。
我在Heroku和Engine Yard上运行关键任务Rails和Sinatra应用程序,在Engine Yard Cloud上运行PHP应用程序,我的评论是关于#2的稳定性。 发动机场胜利,手下。 原因是支持人员。 如果您的应用程序绝对必须工作,并且需要帮助,那么Engine Yard就可以帮助您,特别是如果您投资于高级支持。 他们绝对是太棒了。 Heroku在工作的时候很整洁,但是当它不起作用时,他们的支持人员远远没有帮助。
这是几个月前的一个例子,当我需要在几天内从我的员工那里获得应用程序的请求时,部署一个关键任务的内部应用程序:
从不应该超时的应用程序的间歇超时(不是“R12请求超时”错误)
我有很多在Heroku上运行的应用程序,他们中没有一个曾经有过那个应用程序的神秘networking操作问题。 只是为了向你保证,我知道我在做什么,这不是开发人员的错误。 更进一步的保证是,当我无法从Heroku获得帮助时,完全相同的代码已经完美地运行了,因为我把它移到Engine Yard。 在我需要启动应用程序后,他们终于回应,告诉我可以使用NewRelic对我的应用程序中的性能问题进行故障排除。 万分感谢。
我认为,从发动机场购买高端支持的成本要低于招聘networking运营人员。 而且我得到了非常有能力的支持,从一个总是有专家的人的networking,当他们不知道的时候进行咨询。 让我再说一遍:发动机场的支持人员是令人难以置信的梦幻般的。
我想我可以对安全性进行一下评论,因为我们的SaaS应用程序曾经受到过DDoS攻击。 也许这不是问题的真正原因,但我用它作为再次谈论支持人员的借口。 我从未受到过DDoS攻击,甚至不知道为什么我的服务器出现故障。 他们诊断并帮助我开始缓解。 他们帮助我在HAProxy和nginx中设置了一些特别的filter来阻止攻击,这给我足够的时间来设置DDoS缓解。
那么就有整个亚马逊美东1数据中心崩溃,有些网站下线了几天 。 Engine Yard当时只在该数据中心提供托pipe。 几分钟之内,他们就select了部署到美西一号,他们帮助所有受影响的客户搬家。 如果没有他们的帮助,那么晚上我们的黄金时间就不会跑步了(我们是夜总会的SaaS),我们可能会因为这是一个星期四的晚上而失去了很多客户。 对我们来说晚安。 那天在Heroku上运行应用程序的很多人都是SOL,但是由于Engine Yard的帮助,我们在加利福尼亚马上起来跑步了。
还有一些时候,他们已经从一定的厄运中拯救了我们的公司。 不是开玩笑。 我可以继续讲故事。 但是你明白了。 Engine Yard的支持人员是我将所有新的任务关键型应用程序部署到Engine Yard Cloud的原因。