你如何在自己的ami中管理应用程序?

时间:2012-07-09 06:49:22

标签: amazon-ec2

我们有一些爬虫用于从互联网收集数据。 EC2 spot是我们应用的一种非常便宜的解决方案。

在我们的示例中,我们可以通过以下步骤设置抓取工具:

  1. 从AMAZON快速启动模板启动ami
  2. 安装依赖库
  3. 将抓取工具发送到实例
  4. 为我们的抓取工具设置启动器,让它在启动完成后运行
  5. 将实例设为ami
  6. 但是当抓取工具需要更新时,我们需要重复步骤3。 它会影响其他设置,例如自动缩放中的'ami-id' 或其他现场实例请求脚本。

    'ami'中的应用程序管理是一个部署问题,因此我们需要建议使其尽可能简单。现在,有另一种方法来管理它。我们使用源代码管理工具,部署步骤如下:

    • 来自源代码仓库的3 git clone。
    • 3.1从源代码编译应用程序
    • 3.2删除以前的版本
    • 3.3安装最新版本
    • 4启动程序在唤醒爬虫之前始终从最新版本重建爬虫。

    新方法可防止ami-id更改,但每次都必须签出源代码。最后,获取源需要更多时间(源每天都在增长)

    你如何在ami上管理你的工件? 我不确定总是从源头构建是最好的选择。 它只能克服一些部署问题,但在爬虫程序实例运行后没有解决有关更新的问题。

1 个答案:

答案 0 :(得分:1)

好吧,如果你的抓取工具没有在每天的每个小时更新,那么我认为你应该write some script即你将使用你的想法以前和新的,这样写脚本到检查从您的服务器(如果当前版本是最新的)然后go normal抓取,如果更旧,那么move to the GIT Clone stuff,如果您不经常修改抓取工具,则可以获得有效的性能。

以上实际上你将在大多数时间内减少重建,因为当你描述重建过程时,你必须无缘无故地执行这些步骤

希望这有助于你