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

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

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

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


当前回答

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

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

其他回答

有时候,我想知道为什么人们把AWS比作Heroku。AWS是一个IAAS(基础设施即服务),它清楚地说明了系统的健壮性和计算性。另一方面,Heroku只是一个SAAS,它基本上只是AWS服务的一部分。所以,当你可以使用Heroku将第一款产品发布到prime时,为什么还要费劲建立AWS呢?

Heroku是免费的,简单的,容易部署几乎所有类型的堆栈到web。Heroku是专门构建的,可以在短时间内绕过将应用程序传输到活动服务器的所有麻烦。

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

AWS DOCS和Heroku DOCS

Amazon Web Services (AWS)提供了从IaaS到PaaS的大量服务,保证了数据和基础设施的99.9999999%的持久性和可用性。AWS为开发人员提供了基础设施自动化以及若干工具,以便将其应用程序部署过程管线化。

另一方面,Heroku只是PaaS,它提供在他们的云上管理你的平台的服务。无论是基础设施还是安全性,它都无法与AWS相提并论。

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

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

正如Kristian Glass所说,IaaS(AWS)和PaaS(Heroku, EngineYard)之间没有可比性。

PaaS基本上帮助开发人员加快应用程序的开发,从而节省资金,最重要的是创新他们的应用程序和业务,而不是设置配置和管理服务器和数据库之类的东西。使用PaaS的其他特性是应用程序部署过程,如敏捷性、高可用性、监视、扩展/去规模化、对专业知识的需求有限、易于部署以及减少成本和开发时间。

但PaaS仍有其黑暗的一面,这阻碍了PaaS的采用:

减少对服务器和数据库的控制 如果管理不当,成本将非常高 在当今时代,不成熟的,可疑的

除此之外,你应该有足够的技能来管理你的IaaS:

硬件采购 操作系统 服务器软件 服务器端脚本环境 Web服务器 数据库管理系统(Mysql, Redis等) 配置生产服务器 用于测试和部署的工具 监控应用程序 高可用性 负载均衡/ Http路由 业务备份策略 团队协作 重新生产

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

现付现付 启动成本低 把管道问题留给专家 PaaS处理自动缩放/除垢、负载平衡、灾难恢复 PaaS管理所有安全需求 PaaS管理可靠性、高可用性 Paas为您管理许多第三方附加组件

这完全是基于个人需求的选择。您可以在我的PPT托管Rails应用程序上获得详细信息。

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