7

我可以在 EC2 实例上安装任何类似 AWS Heroku 的东西吗?

例如:

  • heroku 创建应用
  • git 推送

但对于 AWS。

4

3 回答 3

6

好吧,现在有了!它被称为AWS Elastic Beanstalk(截至 2013 年 3 月仍处于测试阶段)

运行初始设置后,进一步的部署应该很简单git aws.push

编辑:Werner Vogels(AWS 首席技术官)对 AWS 的部署可能性进行了很好而广泛的概述:

在此处输入图像描述

于 2013-03-03T01:21:14.300 回答
1

在彻底回答您的问题之前,我需要谈的话题很少;所以,请多多包涵。

一点见解

关于您的两个示例,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(用于部署),其余的由您决定。

于 2012-08-01T23:31:01.237 回答
0

如果您有固定数量的实例有意义而不是使用 Elastic Beanstalk 使用自定义 git 部署,如文章中所述:http: //www.jeffhoefs.com/2012/09/setup-git-deploy-for-aws-ec2 -ubuntu 实例/

在 EC2 实例上设置 GIT 存储库的主要思想。当您想要部署某些东西时,只需将您的更改推送到安装在 EC2 实例上的远程存储库。

与 Elastic Beanstalk 相比,我认为这种方法具有以下优势:

  1. 您无需为存储应用程序版本的 S3 存储桶付费;
  2. 您可以完全控制应用程序部署步骤。
于 2013-03-04T13:05:41.297 回答