为什么存在AWS时人们会使用Heroku?Heroku与AWS的区别是什么?[关闭]


1101

我是RoR初学者,他打算使用Heroku部署我的应用程序。我其他顾问朋友的话说,Heroku确实很容易使用。唯一的问题是我仍然不知道Heroku会做什么...

简而言之,我已经看过他们的网站,Heroku所做的工作对扩展具有帮助,但是...为什么那仍然重要?Heroku如何帮助您:

  1. 速度-我的研究表明,如果我针对美国/亚洲的受众,那么在美国东海岸部署AWS将是最快的。

  2. 安全性-它们的安全性如何?

  3. 缩放-它实际上如何工作?

  4. 成本效率-像dyno这样的东西可以轻松扩展。

  5. 他们如何与竞争对手抗衡?例如,Engine Yardbluebox

请使用外行英语术语进行解释...我是初学者。


267
由于免费计划,我实际上使用它;)。
婚礼蛋糕

56
您应该已经问过Heroku和AWS Elastic beantalk之间的区别是什么。
2013年

38
在heroku上进行开发,在heroku上进行扩展,在heroku上进行创新...然后,一旦业务受到关注,然后转移到aws ...就像在招聘时一样。
穆罕默德·乌默尔

10
一旦使用了一些服务并且需要转移,配置和测试所有内容,可能很难迁移……这肯定会带来成本
Paolo

37
关于Heroku我最喜欢的事情之一是来自Github的自动部署,因此我可以production在我的仓库中建立一个分支。每当将新的提交推送到该存储库时,Heroku都会自动获取,构建并部署它。我完全不需要担心服务器端的任何事情!
拉兹·沙班

Answers:


245

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

如果您想立即启动应用程序,而无需太多架构定制,那么请选择Heroku

如果您想专注于架构并能够使用其他Web服务器,请选择AWS。根据您选择的服务/产品,AWS更加耗时,但是值得。AWS还附带了许多插件服务和产品。


Heroku

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

AWS

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

7
ElasticBeanstalk比Heroku更具成本效益,因为除了您使用的服务器外,该服务没有其他标记。您还可以使用ElasticBeanstalk与AWS免费梯队aws.amazon.com/elasticbeanstalk/pricing
牛头犬

25
@Zags“具有成本效益”是一个意见问题。如果我可以在不到一分钟的时间内创建和部署Heroku应用程序,并且可能花费数小时来安装Beanstalk,那么考虑到开发人员花费数小时的时间会破坏Beanstalk的任何“节省”,这并不划算。这实际上取决于优先级-交付功能是否更重要,或者设置和维护基础架构更重要?
Brian Dear

5
@BrianDear设置的难易程度取决于您对各种系统的熟悉程度。即使在相同的熟悉度下,ElasticBeanstalk花费的时间更长,AWS的成本通常还是Heroku的60%(将Heruku性能-m与AWS m4.xlarge相比)。如果服务器每月的费用低至100美元,则节省40%的成本将在一年内收回“数小时的工程设计”成本。服务器费用越高,AWS的论据就越强。
Zags

4
在Beanstalk上部署大约需要5分钟。选择平台->上载zip->欢喜。是否想通过掌握来进行部署?再花5分钟设置CodePipeline。如果CLI令人生畏,则可以仅使用GUI控制台来完成这两个工作流程。
安东尼·曼宁·富兰克林

1
不幸的是,文档未在AWS下列出。AWS是所有技术/平台中最好的文档之一。我甚至在大约在2013
。– lupchiazoem

2055

首先,AWS和Heroku是不同的东西。AWS提供基础架构即服务(IaaS),而Heroku提供平台即服务(PaaS)。

有什么不同?大致而言,IaaS为您提供了在其之上构建组件所需的组件。PaaS为您提供了一个环境,您可以在其中推送代码和一些基本配置并获得运行的应用程序。IaaS可以为您提供更多功能和灵活性,而您必须自己构建和维护更多的设备。

为了使您的代码在AWS上运行并看起来有点像Heroku部署,您需要一些EC2实例-您需要在它们上安装负载均衡器/缓存层(例如Varnish),您希望实例运行类似passengernginx服务于您的代码,您将需要部署和配置PostgreSQL之类的集群数据库实例。您将需要一个具有Capistrano之类的部署系统,并进行日志聚合。

设置和维护的工作量并不小。使用Heroku,进入这种阶段所需的工作可能是几行应用程序代码和一个git push

因此,您到现在为止了,您想扩大规模。大。您正在使用Puppet进行EC2部署,对吗?因此,现在您将Capistrano文件配置为根据需要旋转实例。您可以重新设置Puppet配置,以使Varnish知道Web-Worker实例,并将在它们之间自动合并。还是你heroku scale web:+5

希望您能对两者进行比较。现在解决您的具体问题:

速度

目前,Heroku仅在us-east和中的AWS实例上运行eu-west。对于您来说,这听起来还是您想要的。对于其他人,可能更需要考虑。

安全

我已经看到许多内部维护的生产服务器,这些服务器在安全更新上远远落后,或者通常组合得很差。使用Heroku,您可以由其他人来管理此类事情,这取决于您的看法,这是福还是祸!

部署时,您可以有效地将代码直接交给Heroku。这可能对您来说是个问题。他们在Dyno Isolation上的文章详细介绍了其隔离技术(似乎在单个EC2实例上运行了多个Dyno)。几位同事已经对这些技术及其隔离的强度表示了疑问。遗憾的是,我没有足够的知识/经验来发表评论,但是我目前在Heroku上的部署认为“足够好”。我不知道这对您来说可能是个问题。

缩放比例

我在上面的IaaS与PaaS比较中谈到了如何实现这一点。大约,您的应用程序具有一个Procfile,其行形式dyno_type: command_to_run为,例如(从http://devcenter.heroku.com/articles/process-model抄录):

web:    bundle exec rails server
worker: bundle exec rake jobs:work

带有:

heroku scale web:2 worker:10

将导致您运行2个测web功机和10个测worker功机。很好,简单,容易。请注意,这web是一种特殊的dyno类型,可以访问外界,并且位于其漂亮的Web流量多路复用器(可能是Varnish / nginx组合的某种形式)的后面,它将相应地路由流量。您的工作人员可能与消息队列进行交互以进行类似的路由,然后他们将通过环境中的URL从中获取位置。

成本效益

很多人对此有不同的看法。当前,动态小时的价格为$ 0.05 / hr,相比之下,AWS微型实例为$ 0.025 / hr,AWS小型实例为$ 0.09 / hr。

Heroku的dyno文档说您拥有大约512MB的RAM,因此,将dyno有点像EC2微型实例,可能并不是不太合理。它值得两倍的价格吗?您认为您的时间价值多少?在IaaS产品之上构建以使其达到此标准所需的时间和精力绝对不便宜。我不能真正为您回答这个问题,但请不要低估安装和维护的“隐性成本”。

(暂且不谈,但是如果我从此处(heroku run bash)连接到dyno ,粗略的外观将显示4个内核/proc/cpuinfo和36GB的RAM-这使我相信我正在使用“高内存双倍超大型实例“。Heroku dyno文档说每个dyno都接收512MB的RAM,因此我有可能与多达71个其他dynos共享。(我没有关于Heroku的AWS实例同质性的足够数据,因此您的里程可能会有所不同)

他们如何与竞争对手抗衡?

恐怕我真的无法为您提供帮助。我真正看过的唯一竞争对手是Google App Engine,当时我正打算部署Java应用程序,而对可用框架和技术的限制令人难以置信。这不仅仅是“仅是Java的事情”-常规限制和必要注意事项的数量(FAQ提示了几个)似乎并不方便。相反,部署到Heroku只是一个梦想。

结论

希望这能回答您的问题(如果有差距/您想解决的其他问题,请发表评论)。我觉得我应该提供我的个人位置。我爱Heroku的“快速部署”。当我启动一个应用程序时,我想要一些便宜的托管服务(Heroku的免费套餐很棒-本质上,如果您只需要一个Web dyno和5MB的PostgreSQL,则可以免费托管一个应用程序),Heroku是我的首选职位。对于具有多个付费客户,具有服务水平协议,有专门时间花在运营等上的“严重生产部署”,我不能完全将自己的大量控制权转移给Heroku,然后再交给AWS或我们自己的服务器已成为首选的托管平台。

最终,这是最适合您的。您说您是“新手程序员”-可能只是使用Heroku可以让您专注于编写Ruby,而不必花费时间来构建代码周围的所有其他基础结构。我一定会尝试的。


请注意,AWS实际上确实具有PaaS产品Elastic Beanstalk,该产品支持Ruby,Node.js,PHP,Python,.NET和Java。我认为通常来说,大多数人在看到“ AWS”时会跳到EC2,S3和EBS之类的东西,这些绝对是IaaS产品


33
请注意,现在弹性beantalk完全支持乘客后面的ruby应用程序。
重写

4
Heroku现在还支持欧盟的服务器,而不仅限于美国地区。
Thomas Welton

7
有了AWS BeanStalk,难道不是整个讨论都在讨论Heroku如何成为PaaS解决方案,而AWS仅是使IaaS产品失效了吗?
Gmu 2014年

6
@KristianGlass如果我们能得到一个更新的答案,让它真正着眼于两种PaaS产品(Beanstalk和Heroku)
那就太棒了

3
很高兴这对人们有用:) @Gmu在回答时,EB受到了足够的限制,假设假设“ AWS”意味着“ EC2”似乎很合理,但是正如Alex所建议的那样,现在我将重新回答EB明显改善。
克里斯蒂安·格拉斯

68

正如Kristian Glass Said所说,IaaS(AWS)和PaaS(HerokuEngineYard)之间没有可比之处。

PaaS基本上可以帮助开发人员加快应用程序的开发速度,从而节省资金,最重要的是创新其应用程序和业务,而无需设置配置和管理服务器和数据库之类的东西。购买使用PaaS的其他功能是应用程序部署过程,例如敏捷性,高可用性,监视,可伸缩性/除鳞,对专业知识的需求有限,易于部署以及降低的成本和开发时间。

但是,PaaS仍然存在阴暗面,这会导致采用PaaS的障碍:

  • 减少对服务器和数据库的控制
  • 如果管理不当,成本将会很高
  • 在当今时代过早和可疑

除了上述内容,您还应该具备足够的技能来管理IaaS:

  • 硬件采购
  • 操作系统
  • 服务器软件
  • 服务器端脚本环境
  • 网络服务器
  • 数据库管理系统(Mysql,Redis等)
  • 配置生产服务器
  • 测试和部署工具
  • 监控应用
  • 高可用性
  • 加载Blancing / Http路由
  • 服务备份策略
  • 团队合作
  • 重建生产

如果您的企业规模较小,PaaS将是您的最佳选择:

  • 现收现付
  • 启动成本低
  • 将管道交给专家
  • PaaS处理自动缩放/缩放,负载平衡,灾难恢复
  • PaaS管理所有安全要求
  • PaaS管理可靠性,高可用性
  • Paas为您管理许多第三方加载项

根据需求将完全是个人选择。您可以在我的PPT Hosting Rails Apps中获得详细信息。


3
我看到了EngineYard和Heroku,当然还有ElasticBeanstalk ...都在下面的AWS上运行。实际上,是否有任何主要的PaaS不能在下面的AWS上运行? 有任何想法吗?干杯
Fattie 2014年

5
Joe,我知道这很晚了,但是为了回答您的问题,IBM Bluemix在SoftLayer上运行。
Antonio Cangiano 2014年

PaaS可以管理所有安全性要求,也许可以确保服务器安全,但是却具有高度误导性(特别是在开发人员似乎默认认为其系统是安全的世界中)。它肯定不会保护您免受XSS,CSRF的侵害,并且可能不会为您设置任何重要的HTTP标头。我现在可以看到它:Thank you for your concerns. We assure you that we take security very seriously and run or systems on secure servers. There is no need to worry about [insert security issue here] as all that is handled by...。-1,但如果对其进行了正确的编辑,我将其反转。
Nateowami

4
越来越多的PaaS解决方案(DIY PaaS)可以在您自己的基础架构上运行,从而解决了PaaS灵活性/控制方面的一些问题。例如:openshiftcloudfoundryHasura。免责声明:我在Hasura工作。
iamnat

35

实际上,您可以同时使用两者-您可以使用Amazon服务器ec2开发应用程序。然后将其(使用git)免费免费推送到heroku一段时间(使用heroku免费版将其提供给公众)并像这样进行测试。与租用服务器相比,这非常划算,但是您必须使用限制性更强的heroku api,这是您应该考虑的问题。来源:这种方法被我的在线课程之一“ Balaji S. Srinivasan和Vijay S. Pande的Coursera / Stanford的启动工程”采用

添加了一个方案,这样我的解释将更容易理解


15
将微型实例用作开发计算机而不是使用本地计算机有什么好处?我看不到在这种特殊情况下添加AWS的额外好处。谢谢!
Mateo

5
可能是因为在学术环境中它将使其变得如此,因此设置开发环境的说明更加一致,并且他们不必担心使其在Windows上运行
Jeff Dickey

2
该体系结构有助于避免许多Windows / Linux OS的不兼容性。并且还可以学习Linux操作系统,而不必将其安装在本地计算机上。如果您使用的是Mac,那么问题就不那么严重了,但是许多人使用Windows。
sivi

13
它被称为虚拟机,我仍然认为这样做没有多大意义。
安倍·佩特里罗

2
有一个单独的舞台和制作平台是一个非常糟糕的主意。主要软件版本将以不兼容的方式有所不同。即使本机操作系统与生产型操作系统不同,您也应该能够在本地运行代码以进行开发(在最坏的情况下,使用VMware或vagrant之类的软件,或者如果是针对嵌入式平台构建的,则使用仿真器;但本机通常更容易工作)与)。只有能够将代码远程部署到云中才成为快速应用程序开发的可怕障碍,这使得测试和调试不必要地耗时。
伊恩·柯林斯

34

从开发,IT和业务目标来看这个决定的方法有很多,因此,如果它看起来势不可挡,也不会感到不好。而且-不要过度考虑可扩展性。

考虑一下您的要求

我设计的网站每天提供超过8M的唯一身份服务,每周交付数TB的视频,这些视频是基于庞大的MM IT员工从基础硬件开始的25万美元的基础设施建设而来的。

但是我也有一些较小的网站,这些网站的设计收入为每年$ 10- $ 20k,没有很高的流量,数据库或处理要求,我以每月$ 10的通用托管帐户运行这些网站而毫不妥协。

将来,由于进步,部署看起来将更像Heroku而不是AWS。扩展互联网基础架构的IT旋钮转动中,零值变得越来越不可自动化,并且与您所提供的产品或服务的价值没有任何关系。

此外,请记住一个商业网站-可伸缩性是我们通常所说的“好问题”-尽管Facebook和Twitter等网站的可伸缩性问题备受瞩目,但它们对成功的负面影响为零-新闻甚至可能 有所贡献了更多的注册(所有媒体都是好媒体)。

如果您的服务每天生成100k +唯一身份并遇到扩展问题,那么无论您使用哪种语言,数据库,平台或基础结构,我都乐意为您服务!

可伸缩性是可解决的实施问题-没有客户是一个存在的问题。


28

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

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

Heroku

  • 一个用于部署任何项目类型的命令:Ruby on Rails,Nodejs
  • 如此众多的一键式集成插件和第三方:从某件事开始非常容易。
  • 没有自动缩放;这意味着您需要手动放大/缩小
  • 成本昂贵,尤其是当系统需要更多资源时
  • 免费实例可用
  • 如果空闲实例处于非活动状态,它将进入睡眠状态。
  • 数据中心:仅限美国和欧盟
  • 通过使用以下命令可以进入/访问机器级别 Heroku run bash(谢谢,MJafar Mash提供建议),但是这是有限的!您没有完全访问权限!
  • 无需对DevOps了解太多

AWS-EC2

  • 这就像具有预配置操作系统(或没有预配置操作系统)的计算机一样,因此您需要安装软件和库以使您的网站/服务上线。
  • 插件和库需要手动集成,或者自动化脚本(公共脚本,由您编写)
  • 自动扩展和负载平衡器是受支持的服务,只需了解如何配置和集成到系统
  • 成本相当便宜,取决于您使用的服务和使用时间
  • T2.micro实例有几个免费小时,但是通常,您每月需要支付几美元(如果仍在使用T2.micro)
  • 您的免费实例不会进入睡眠状态,可以24/7使用(因为您可以为此付费:))
  • 数据中心:全球。选择最适合您的区域。
  • 潜入机器级别。所以你可以享受它
  • 关于DevOps的一些知识,但是可以,Stackoverflow在这里很有帮助!

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

  • Elastic Beanstalk从2010年宣布为公开测试版;它有助于我们更轻松地进行部署。详情请点击这里

  • Beanstalk是免费的,您将为使用的服务和使用小时数支付费用。

  • 我使用Elastic Beanstalk已有很长时间了,我认为它可以代替Heroku,而且更便宜!

摘要

  • Heroku:一开始很容易,是免费实例,但后来又很昂贵
  • 卓:不容易,可提供免费时间,价格便宜,应注意使用Beanstalk

因此,在当前系统中,我使用Heroku进行登台,并使用Beanstalk进行生产!


3
我喜欢你回答问题的方式。我已经尝试过Heroku和AWS。我同意您的建议:Use Heroku for staging, and Beanstalk for production!
Chetabahana

1
heroku run bash并且您可以使用外壳来测量您的测功机
Mohammad Jafar Mashhadi

你能给出一些价格估计吗?我将不得不在Tomcat(Spring框架,angularJS等)上发布Java Web App,让我们考虑一个月大约1000个用户,每个用户使用该应用程序5分钟。估计价格是多少?(例如使用率极低,但可使用整个月)
剃刀

1
@razor如果您使用t2微型实例(适用于预生产或小型项目),价格是如此便宜,大约是我以前在项目中的记忆力,每月大约5美元至10美元。这里的细节aws.amazon.com/ec2/pricing
Hieu Pham

和Heroku会更贵吗?(2次?)用法相似?我知道定价页面,但是很难计算/想象这样一个简单的应用程序需要多少CPU功率,或者一个月后数据库的使用量将是多少(数据库会很小)
razor

27

现有答案大致正确:

  • Heroku非常易于使用和部署,可以轻松配置为自动部署存储库(例如GitHub),具有许多第三方附加组件,每个实例收取更多费用。

  • AWS提供范围更广的具有价格竞争力的第一方服务,包括DNS,负载平衡,廉价的文件存储,并且具有能够定义安全策略的企业功能。

对于tl; dr,请跳至本帖子的结尾。

AWS ElasticBeanstalk试图提供类似于Heroku的自动扩展和易于部署的平台。由于它使用EC2实例(它是自动创建的),因此EB服务器可以执行任何其他EC2实例可以做的所有事情,并且运行成本低。

EB的部署非常缓慢;每个服务器部署更新可能需要10到15分钟,而部署到更大的群集可能需要一个小时的大部分时间,而在Heroku上部署更新只需几秒钟。EB上的部署也不是特别无缝地处理,这可能会限制应用程序设计。

您可以使用ElasticBeanstalk在后台使用的所有服务来构建自己的定制系统(如果您想全力以赴,可以使用CodeDeploy,Elastic Load Balancer,Auto Scaling Groups以及CodeCommit,CodeBuild和CodePipeline),但是绝对可以花很多钱由于它相当复杂,而且比仅在EC2中进行配置要复杂得多,因此首次安装它需要几个星期。

AWS Lightsail提供了价格具有竞争力的托管选项,但对部署或扩展无济于事-它实际上只是EC2产品的包装(但成本更高)。它使您可以在初始设置时自动运行bash脚本,这很不错,但是与仅设置EC2实例(您也可以通过编程方式进行)的成本相比,这是很昂贵的。

关于比较的一些想法(尝试并回答问题,尽管采用环回的方式):

  1. 不要低估了系统管理的工作量,包括使用安全补丁(以及偶尔的OS更新)使您安装的所有内容保持最新。

  2. 不要低估了自动部署,自动扩展以及SSL设置和配置带来的好处。

    使用Heroku可以轻松地在更新Git存储库时进行自动部署。它几乎是即时的,优美的,因此不会对最终用户造成中断,并且可以将其设置为仅在测试/持续集成通过时才进行更新,因此,如果部署损坏的代码,则不会破坏您的站点。

    您还可以使用ElasticBeanstalk进行自动部署,但是准备花一个星期的时间进行第一次设置-您可能必须更改部署和构建资产(如CSS和JS)的方式,以配合ElasticBeanstalk处理部署或构建逻辑的方式进入您的应用以处理部署。

    请注意,在估算成本时要注意,要在EB上不发生中断的情况下进行无缝部署,您需要运行多个实例-EB分别向每台服务器推出更新,以便您的服务不会降级-在Heroku为您启动新的dyno并弃用时旧服务,直到对它的所有请求都已处理完毕(然后将其删除)。

    有趣的是,使用EB运行多台服务器的托管成本可能比单个Heroku实例便宜,尤其是在包含附加组件成本之后。

其他一些未明确询问的问题,但由其他答案引起的:

  1. 使用其他提供商进行生产和开发是一个坏主意。

    我希望人们提出这个建议。虽然理想情况下,代码应该在任何合理的平台上都可以正常运行,因此应尽可能可移植,但是每个主机上的软件版本将有很大差异,并且仅仅是因为代码以暂存方式运行并不意味着它将在生产环境中运行(例如,主要的Node.js / Ruby / Python / PHP / Perl版本可以在使代码不兼容的方式上有所不同,通常以无声的方式进行,即使您具有不错的测试覆盖率,也可能无法捕获它们。

    一个好主意是利用Heroku之类的东西进行原型设计,较小的项目和微型站点-这样您就可以快速构建和部署事物,而无需花费大量时间进行配置和维护。

    做出决定时,请务必考虑同时运行生产实例和预生产实例的成本,不要忘记复制整个环境的成本(包括第三方服务,例如数据存储/附加组件,安装和配置SSL等) 。

  2. 如果使用AWS,请警惕Bitnami等供应商提供的AWS预配置实例-这是一场安全噩梦。默认情况下,它们可以公开许多臭名昭著的易受攻击的应用程序,而无需在说明中进行提及。

    可以考虑只使用受良好支持的主流发行版,例如Ubuntu或Debian(如果需要RPM支持,则使用CentOS)。

    注意:Amazon提供了自己的发行版,称为Amazon Linux,该发行版使用RPM,但是它是EC2专用的,第三方/开源软件的支持较少。

  3. 您还可以在AWS(或Lightsail)上设置EC2实例,并在其上配置诸如flynndokku之类的东西-然后可以在其上轻松部署多个站点,如果您维护大量服务或想要成为一个实例,这是值得的能够轻松产生新事物。但是,设置它并不像使用Heroku那样自动,它最终会花费大量时间来配置和维护它(到目前为止,我发现使用Amazon集群和Docker Swarm进行部署比设置它们要容易得多; YMMV)。

根据我正在处理的项目的需求,我同时使用了AWS EC实例(单独的和在群集中),Elastic Beanstalk和Lightsail和Heroku。

我讨厌花时间配置服务,但是如果我将其用于所有事情,那么我的Heroku账单每年将成千上万,而AWS却只占成本的一小部分。

tl; dr

如果钱从来都不是问题,那么我会使用Heroku来处理几乎所有事情,因为它节省了时间-但我仍然希望将AWS用于更复杂的项目,在这些项目中我需要Heroku无法提供的灵活性和更高级的服务。

对我来说,理想的情况是ElasticBeanstalk的工作方式更像Heroku,即配置更简单,部署机制更快,更好。

这是一个服务的一个例子,几乎这now.sh,它实际上是在幕后使用AWS,但使部署和集群像在Heroku上一样容易(具有自动SSL,DNS,正常部署,超级容易的集群设置和管理)。

我已经在Node.js应用程序和Docker映像部署中大量使用了它,主要的警告是实例是共享的(这反映在它们的较低成本中),目前没有选择购买专用实例的选择。但是,他们的开源部署工具“ now”也可以用于部署到AWS以及Google Cloud和Azure上的专用实例。


8

在将人员从Heroku迁移到AWS的业务中,这占了很大比例。两者都有优点,但是过一会儿,它就会在Heroku上变得一团糟...一旦您需要某种程度的复杂性,就不再容易因Heroku的限制而难以维护。

话虽如此,通过拥有强大的框架/工具来使用AWS,越来越多的选择可以简化Heroku和AWS的灵活性。


你能给出一些价格估算吗?我将不得不在Tomcat(Spring框架,angularJS等)上发布Java Web App,让我们考虑一个月大约1000个用户,每个用户使用该应用程序5分钟。估计价格是多少?(例如使用率极低,但可使用整个月)
剃刀

3

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


1

好!我的观察员Heroku以崭露头角和刚出生的开发人员而闻名,而AWS具有先进的开发人员角色。DigitalOcean也是这一领域的主要参与者。通过单击DigitalOcean和AWS,Cloudways使得创建Lamp堆栈变得非常容易。一次单击即可更新所有服务和程序包,这比手动完成所有操作要好得多。

您可以在此处完全签出:https : //www.cloudways.com/blog/host-php-on-aws-cloud/


1

好吧Heroku在后台使用AWS,这完全取决于您所需的解决方案类型。如果您是Linux和devops的核心人物,那么您不必担心从头开始创建vm(例如选择ami选择palcement选项等),则可以使用AWS。如果您想在表面上做这些事情而又没有这些缺点,可以选择heroku。


0

Amazon Web Services(AWS)提供了从IaaS到PaaS的大量服务,并保证了99.9999999%的持久性以及数据和基础架构的可用性。AWS提供了基础架构自动化,还为开发人员提供了多种工具,以管道化其应用程序部署流程。

另一方面,Heroku只是PaaS,它提供服务来在其云上管理您的平台。无论是基础架构还是安全性,AWS都无法胜任。


6
需要引用:“无论是基础架构还是安全性,AWS都无法解决。”
pdoherty926

0

有时,我想知道为什么人们将AWS与Heroku进行比较。AWS是IAAS(基础架构即服务),它清楚地说明了系统的健壮性和计算能力。另一方面,Heroku只是一个SAAS,基本上只是AWS服务的一小部分。因此,当您可以使用Heroku将第一个产品交付给Prime时,为什么还要为设置AWS而烦恼。

Heroku是免费,简单且易于将几乎所有类型的堆栈部署到Web上的。Heroku专为绕过将您的应用程序运送到实时服务器中的所有麻烦而设计,而该过程很快就会完成。

不过,您可能希望使用双方的任何教程来部署应用程序,并进行比较

AWS DOCSHeroku Docs


0

即使AWS和Heroku都是云平台,它们也有所不同,因为AWS是IaaS,而Heroku是PaaS


2
那是不对的。AWS同时提供IAAS和PAAS产品。
Glenn Bech,

0

Heroku就像AWS的子集。它只是平台即服务,而AWS可以在任何级别和任何级别实施。

实施取决于业务需求。如果适合任何一种,请相应地使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.