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

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

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

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


当前回答

有趣的是,Heroku实际上在后端使用AWS。它消除了所有开销,并为您在EC2上进行体系结构管理。(在一次面试中从一家大公司的高级工程师那里得到的知识)

其他回答

AWS / Heroku对于小型业余项目(开始时)都是免费的。

如果你想立即启动一个应用程序,而不需要对架构进行太多定制,那么选择Heroku。

如果你想专注于架构,并能够使用不同的web服务器,那么选择AWS。AWS更耗时,具体取决于您选择的服务/产品,但这是值得的。AWS还附带了许多插件服务和产品。


希罗库

平台即服务(PAAS) 好的文档 具有内置的工具和体系结构。 在设计应用程序时,对架构的控制有限。 部署(通过GitHub自动部署或通过git命令或CLI手动部署)。 不浪费时间。


AWS

基础设施即服务(IAAS) 多功能-具有许多产品,如EC2, LAMBDA, EMR等。 可以使用专用实例对体系结构进行更多控制,例如选择操作系统、软件版本等。后台层不止一个。 Elastic Beanstalk是一个类似于Heroku的PAAS的功能。 可以使用自动部署,也可以自行部署。

好!我观察到Heroku在萌芽和新生的开发人员中很有名,而AWS则是高级开发人员。DigitalOcean也是这一领域的主要参与者。Cloudways使得在DigitalOcean和AWS上点击创建Lamp堆栈变得非常容易。在点击中更新所有的服务和包比手动完成所有的事情要好得多。

您可以在这里查看完整的内容:如何在Amazon AWS EC2上托管PHP

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

想想你的需求。

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

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

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

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

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

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

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。它消除了所有开销,并为您在EC2上进行体系结构管理。(在一次面试中从一家大公司的高级工程师那里得到的知识)