我是一名RoR初学者程序员,计划使用Heroku部署我的应用程序。我的其他顾问朋友说,Heroku真的很简单,很好用。唯一的问题是我仍然不知道赫鲁是做什么的…

我看了他们的网站,简而言之,Heroku所做的是帮助缩放,但是……这有什么关系呢?Heroku如何帮助:

速度——我的研究表明,如果我的目标受众是美国/亚洲,那么在美国东海岸部署AWS将是最快的。 安全性——他们有多安全? 缩放-它实际上是如何工作的? 成本效率——有一些像动态的东西,使其易于扩展。 他们在竞争对手面前表现如何?比如Engine Yard和bluebox?

请用外行的英语术语来解释……我是一个初级程序员。


当前回答

在我们的业务中,从Heroku迁移到AWS的人员占很大比例。两者都有优势,但在Heroku上一段时间后就变得很混乱了……一旦你需要一定程度的复杂性不再容易维持与Heroku的限制。

也就是说,通过在AWS上使用优秀的框架/工具,有越来越多的选择可以获得Heroku的易用性和AWS的灵活性。

其他回答

当人们开始部署某个东西时,通常会问这个问题:Heroku或AWS。

我使用Heroku和AWS的实验,这里是我的快速回顾和比较:

希罗库

One command to deploy whatever your project types: Ruby on Rails, Nodejs So many 1-click to integrate plugins & third parties: It is super easy to start with something. Don't have auto-scaling; that means you need to scale up/down manually Cost is expensive, especially, when system needs more resources Free instance available The free instance goes to sleep if it is inactive. Data center: US & EU only CAN dive into/access to machine level by using Heroku run bash (Thanks, MJafar Mash for the advice) but it is kind of limited! You don't have full access! Don't need to know too much about DevOps

AWS - EC2

This just like a machine with pre-config OS (or not), so you need to install software, library to make your website/service go online. Plugin & Library need to be integrated manually, or automation script (public script & written by you) Auto scaling & load balancer are the supported services, just learn how to config & integrate to your system Cost is quite cheap, depends on which services and number of hours you use it There are several free hours for T2.micro instances, but usually, you will pay few dollars every month (if still using T2.micro) Your free instance won't go to sleep, available 24/7 (because you may pay for it :) ) Data center: around the world. Pick the region which is the best fit for you. Dive into machine level. So you can enjoy it Some knowledge about DevOps, but it is okay, Stackoverflow is helpful there!

AWS Elastic Beanstalk是Heroku的替代品,但更便宜

《Elastic Beanstalk》是在2010年发布的公测版本;它帮助我们更容易地进行部署。详情请点击这里 Beanstalk是免费的,您将支付的费用将用于您使用的服务和使用小时数。 我用了很长一段时间的弹性豆茎,我觉得它可以代替Heroku,而且更便宜!

总结

Heroku:开始很简单,免费实例,但之后很贵 AWS:不容易,免费小时可用,有点便宜,豆茎应该关注使用

所以在我目前的系统中,我使用Heroku进行分期,使用Beanstalk进行生产!

Actually you can use both - you can develop an app with amazon servers ec2. Then push it (with git) to heroku for free for awhile (use heroku free tier to serve it to the public) and test it like so. It is very cost effective in comparison to rent a server, but you will have to talk with a more restrictive heroku api which is something you should think about. Source: this method was adopted for one of my online classes "Startup engineering from Coursera/Stanford by Balaji S. Srinivasan and Vijay S. Pande

Heroku在后台使用AWS,这完全取决于你需要的解决方案类型。如果你是一个核心linux和devops的人,你不担心从头开始创建vm,比如选择ami,选择pal水泥选项等,你可以选择AWS。如果你想在表面上做事情而没有那些网络,你可以和heroku一起去。

尽管AWS和Heroku都是云平台,但它们是不同的,因为AWS是IaaS, Heroku是PaaS

从开发、IT和业务目标来看,有很多不同的方法来看待这个决定,所以如果它看起来势不可挡,也不要感到难过。但是,不要过度考虑可伸缩性。

想想你的需求。

我设计的网站每天服务超过800万次,每周提供tb的视频,这些网站建立在25万美元的硬件基础设施上,由庞大的IT劳动力组成。

但我也有一些较小的网站,它们的设计目标是每年产生1 - 2万美元,没有很高的流量、数据库或处理要求,我用一个每月10美元的通用托管账户毫不妥协地运行这些网站。

在未来,部署将更像Heroku而不是AWS,这只是因为进步。扩大互联网基础设施的IT旋钮没有任何价值,因为它不能越来越自动化,而且它与你所提供的产品或服务的价值没有任何关系。

此外,要记住,对于一个商业网站来说,可扩展性是我们通常所说的“好问题”——尽管像Facebook和Twitter这样的网站的可扩展性问题非常引人注目,但它们对他们的成功没有任何负面影响——这条新闻甚至可能有助于更多的注册(所有的新闻都是好新闻)。

如果你有一个每天生成超过10万份文件的服务,并且存在伸缩性问题,我很乐意帮你解决这个问题,不管你运行的是什么语言、数据库、平台或基础设施!

可伸缩性是一个可修复的实现问题——没有客户是一个存在的问题。