AWS vs Heroku vs 可扩展平台的其他东西?
Posted
技术标签:
【中文标题】AWS vs Heroku vs 可扩展平台的其他东西?【英文标题】:AWS vs Heroku vs something else for scalable platform? 【发布时间】:2011-12-25 18:36:42 【问题描述】:考虑到您是一家没有资金用于自己的服务器场的初创公司。哪种现有解决方案可以让您高枕无忧,任何突然增加的流量都不会导致一切崩溃。
我知道这不仅仅取决于硬件,因此我们计划至少拥有一个负载平衡器、内存缓存和少量数据库服务器。
是否可以在 AWS 上进行设置以在流量增加时自动添加实例和带宽?
您还可以给部署新手什么其他建议?谢谢。
ps:如果问题过于宽泛或反映对所提及主题缺乏经验,我会提前道歉,但这就是我问的原因。
【问题讨论】:
【参考方案1】:Heroku。因为你是一家初创公司,所以保持精简,它不会变得比几乎免费的更精简(使用 1 个测功机 + 小型共享数据库)。花时间构建你的产品,而不是基础设施。当您应该与客户交谈时,您不想安装补丁。 Heroku 也很灵活,允许您随着流量的增加而扩展“dynos”,因此不必担心在那里增长。不过,Heroku 不会为您自动扩展,您自己的服务器监控也是如此。 Heroku 插件也不错。
【讨论】:
所以您是说使用 AWS 会带来更多麻烦和更多成本? 当然。 AWS 是基础设施即服务,这意味着您可以访问硬件,仅此而已。由您来配置操作系统、安装软件和维护它。 Heroku 是平台即服务:它们通过为您处理所有系统管理员任务来增加价值。 绝对是 Heroku。使用 AWS,您必须深入了解安装服务、配置、保护服务器等以及成为 DBA 的细节。 Heroku 消除了所有这些,因此您可以专注于您的应用程序。 另外,Heroku 看起来确实有点贵。 DB 200 美元,3 个网络测功机,1 个工人测功机,一些附加组件,很快就达到了 400 美元。 嗯,金钱和时间之间总是存在紧张关系。有钱吗? - 支付专家费用并节省时间。有时间吗? - DIY和省钱。是的,Heroku 在高端确实变得昂贵。但希望您在需要 4 台测功机时已经证明了您的商业模式和赚取收入。如果有更好的选择,您以后可以随时离开 Heroku。只是好奇,您正在构建什么在启动阶段需要这么多资源?【参考方案2】:最近我们在 AWS 和 Heroku 之间做了一个很好的比较,我们决定迁移到 Heroku,这里是这个http://www.confiz.com/blog/tech-session/selecting-the-right-cloud-platform/的详细信息
【讨论】:
我不明白你为什么说你“决定迁移到 Heroku”,并链接到一个演示文稿,上面写着“建议的架构:两个(或更多)地理分布的 EC2 实例用于应用程序层和 Xeround数据库层”。请解释一下好吗? 此演示文稿已提供给客户(有点过时),因此演示文稿显示了建议的架构。 @Gull 给定的链接坏了!【参考方案3】:如果你使用 Python,可以试试Google App Engine。
一旦您越过了关于哪些功能可用(不可用)的学习曲线,将 Python 应用程序从一个平台迁移到另一个平台并不是 too difficult。 GAE 提供数据存储、memcache、blobstore 以及其他一些好东西,如 dJango 和 Jinja(模板)。值得检查Python 起始页,我也很快将其集成到 Facebook 和 Dropbox 中。
【讨论】:
我从一位非常精通 Python 和部署的开发人员那里听说,GAE 是一场噩梦。不过这不是最近的事情,也许在此期间情况发生了变化。比如听说ORM不可用,是真的吗? GAE 使用LevelDB,这是一个 noSQL 数据库。实现令人眼花缭乱的快速查询的一些限制。 GAE 太可怕了,我花了太多时间下载不在 GAE 中且不在我的应用程序逻辑上的库,在这个应用程序之后,我永远不会尝试在 GAE 上工作 Amazon EC2 需要 linux 系统管理员技能,GAE 需要大量 API 阅读(和理解)。在这两个平台上使用了 2 年多之后,当我需要更好地控制服务器(例如:URL 重写、视频和图像处理)和 GAE 用于快速应用时,我会选择 Amazon EC2。 您知道 GAE 也会对读写收费吗?那个heroku没有【参考方案4】:远离 Heroku。您可以从 Amazon 免费获得一年的 EC2。扩大heroku的成本非常高。他们的定价往往不明确,而且他们的客户服务总体上很糟糕。
【讨论】:
您能否提供详细信息、参考资料或示例来证实您的主张? 需要更多细节。我对他们的客户服务的体验非常好。他们的页面使定价非常清晰。 如果时间和金钱资源浪费在配置和维护像 EC2 这样的 IaaS 上,该项目可能永远无法扩大规模 :) Heroku 在后台运行 Amazon EC2,特别是 Ubuntu 10.04,我遇到了延迟问题等。如果您有 Linux 技能,请使用 Amazon EC2,或者您更喜欢(大部分)免费服务,请使用 Google App Engine。去年我从 Heroku 迁移了一些客户。 如果 CPU 使用率高超过几分钟,Amazon 会在微型实例上限制 CPU。这种微型实例不适合生产,除非是非常小的站点。【参考方案5】:适用于 Amazon EC2 的 BitNami 包括 Apache、mysql、PostgreSQL、SQLite、Python、Django、Git 及其所需依赖项等的即用型版本。它可以通过多合一的免费本机安装程序、虚拟机和云映像进行部署。也许值得一试。
【讨论】:
【参考方案6】:我的个人经验是,您通常应该从 Heroku 开始。让你的应用程序在野外找到适合的产品/市场或某种类型的牵引力。你会知道你要去某个地方,因为客户会导致扩展问题。在这种情况下,Heroku 将允许您以很少的开销进行扩展。并且在一段时间内,这种缩放不会在你的钱包里打你。
准备就绪后跳转到 AWS。你什么时候准备好?当您有足够的痛苦时,在钱包中,您需要对堆栈进行更多控制。您可以聘请 AWS devops 类型或自行了解它。
Heroku 和 AWS 都有自动扩展解决方案,但是 Heroku 的学习曲线相当平坦——这就是你要付出的代价——AWS 可以很快地变得广泛而陡峭。 Udemy AWS 课程或其他数百种在线资源将帮助您开始构建强大的 AWS 架构。
最后,虽然性能不应该是您最关心的问题,但请确保您在代码中使用了最佳实践。您的第一个用户不应该让您的系统爬行。如果她这样做了,AWS 也无济于事。
希望这在某种程度上有所帮助。
这是我的经验。出于这个原因,我的 saas 启动套件是为开箱即用地部署到 Heroku 而构建的。但是,启动套件也是容器化的。我知道您明确提到了 AWS,但是对于容器,您可以与基础设施无关。这值得考虑!
特德 [at] https://stacksimple.io
【讨论】:
【参考方案7】:查看我开始的这个博客系列,因为从财务角度来看,与 EC2 和 Digital Ocean 相比,我发现 Heroku 根本不具备可扩展性。将展示如何使用 Docker 将 Ruby 应用程序放在 Digital Ocean 上,这使您能够非常灵活地快速扩展和缩减 https://medium.com/@karimbutt/weaning-off-heroku-part-1-b7f123ae855f
【讨论】:
【参考方案8】:这在很大程度上取决于您是在寻找 PaaS、IaaS 还是 SaaS,以及您使用的是什么语言。
AWS 是具有多个组件和层的 IAAS/PAAS。 Heroku 是一种支持多种语言的 PAAS,主要支持 Java、Ruby 和 Node.js其他平台会根据您的需要发挥作用,您可能也想看看这个比较:https://dictativ.com/compare/paas
【讨论】:
以上是关于AWS vs Heroku vs 可扩展平台的其他东西?的主要内容,如果未能解决你的问题,请参考以下文章
获取VS代码Python扩展以连接到远程AWS EMR主节点上运行的Jupyter。
Windows 平台VS2015 编译Opencv 引入扩展库opencv_conrtib
IBM 区块链平台 VS 代码扩展 - 无法创建新的新 Fabric 环境/钱包
公有云中 Serverless 计算比较:AWS vs Google Cloud vs Azure
rackspace vs EC2 vs Heroku vs Engine Yard for ruby on rails [关闭]