我可以在 EC2 实例上安装任何类似 AWS Heroku 的东西吗?
例如:
- heroku 创建应用
- git 推送
但对于 AWS。
好吧,现在有了!它被称为AWS Elastic Beanstalk(截至 2013 年 3 月仍处于测试阶段)
运行初始设置后,进一步的部署应该很简单git aws.push
编辑:Werner Vogels(AWS 首席技术官)对 AWS 的部署可能性进行了很好而广泛的概述:
在彻底回答您的问题之前,我需要谈的话题很少;所以,请多多包涵。
关于您的两个示例,Heroku 使用了许多不同的技术来实现它作为服务平台提供的简单程度。其中一项技术包括: Heroku 的专有工具带,它提供了一组命令行工具——允许开发人员与他们的应用程序交互——以及与 Heroku 提供的许多工具交互——例如多种不同语言的终端访问. 工具带本身依赖于另外两种技术:Ruby 和 Git;它与安装一起预先打包。
现在,当您创建 Heroku 应用程序时,您实际上是在 celedon cedar 运行时堆栈上创建了一个 git 存储库(默认情况下);然后将此存储库添加为远程存储库。这可以让你立即运行git push heroku master
。幕后还有很多事情发生:例如,当你推送时,你的提交会被一个 git pre-receive 钩子拦截,该钩子通过一个 slug 编译器运行你的应用程序,并将其预先打包以在 dyno 流形上分发;然而,我离题了。有关更多高级主题的更多信息,请查看:https ://devcenter.heroku.com/ ;这里有大量信息可供阅读。
现在,让我解释一下雪松堆栈,因为这主要是您的问题所关心的。Celedon 雪松是众多雪松中的一种。但是,这是当前的默认设置(出于多种原因)。这个多语言运行时堆栈目前提供六种 Web 语言(在撰写本文时),在 Ubuntu(11.04 稳定版,我相信)上运行。所有这些技术都在 AWS EC2 计算环境之上运行。
所以最后回答你的问题:你需要安装一个合适的操作系统,比如:Ubuntu;一组语言,例如:Ruby、Python、Node.js 等;Git(用于部署),其余的由您决定。
如果您有固定数量的实例有意义而不是使用 Elastic Beanstalk 使用自定义 git 部署,如文章中所述:http: //www.jeffhoefs.com/2012/09/setup-git-deploy-for-aws-ec2 -ubuntu 实例/。
在 EC2 实例上设置 GIT 存储库的主要思想。当您想要部署某些东西时,只需将您的更改推送到安装在 EC2 实例上的远程存储库。
与 Elastic Beanstalk 相比,我认为这种方法具有以下优势: