【问题标题】:Code-Test-Code cycle in Amazon Cloud (AWS)Amazon Cloud (AWS) 中的代码-测试-代码循环
【发布时间】:2013-09-16 02:18:53
【问题描述】:

我是 Amazon AWS 的新手,想在 Node.js 中创建一个基于云的 REST API。

通常我会在开发程序的同时对其进行测试。这意味着我编写了一些测试,然后编写使这些测试成功运行的代码。因此,在典型的编程会话中,我可能会运行测试或应用数十次。

  1. 当我在本地执行此操作时,它既简单又快速。但是如果我想在亚马逊云上做整个过程呢?这个代码-测试-代码循环是怎样的?每次进行更改时是否应该将代码上传到 AWS?然后针对某个服务器地址运行它?

  2. 我在文档的某处读到,当我运行任务几分钟(例如 15 分钟)时,亚马逊会将其四舍五入到 1 小时。因此,如果在一个典型的开发会话中,我在一小时内运行我的程序 100 次,我最终会支付 100 小时的费用吗?如果是,那么避免这些巨额成本的解决方案是什么?

【问题讨论】:

    标签: javascript node.js amazon-web-services


    【解决方案1】:

    当我在本地执行此操作时,它既简单又快捷。

    您可以继续这样做。云端部署不需要云端开发。

    但是如果我想在亚马逊云上完成整个过程呢?

    当我这样做时,通常在本地编辑代码,将我的 git 目录同步到服务器并重新启动服务。超级快。

    大多数人在本地开发,偶尔在真实的 AWS 服务器上进行测试,以确保他们没有破坏任何假设(即在启动/安装时忘记了某些东西)。

    Vagrant 之类的工具可以帮助您将服务器安装与开发环境分开。

    随着您的成长(并且您有更多的钱),您会想要启动登台/QA 服务器。这些不必一直运行,只要发生变化即可。 (即让 Jenkins 启动它们。)但是从一开始就将所有事情自动化是不值得的。在正确构建(完全自动化等)之前,确保构建正确的东西(人们想要的)

    那么,如果在一个典型的开发会话中,我在一小时内运行我的程序 100 次,我最终会为 100 小时付费吗?

    仅当您每次都启动一个新实例时。通常,您希望在同一台服务器上继续编辑-上传-运行直到它正常工作,然后偶尔终止并重新启动该服务器以确保您没有搞砸启动过程。

    【讨论】:

    • 1.因此,如果我正确理解它,只有当我重新启动服务器(或实例)时,我才会为整个小时付费? 2.也就是说如果我使用rsync上传我的代码并重新启动我自己的程序,我不必每次都支付整个小时的费用?
    • 您只会在新服务器启动时以及该服务器启动时间的每小时周年纪念日时被收费。无论您做什么(重新启动、重新启动、上传、下载.. )。但是,如果您终止它,您将不会获得一小时未使用的分数。因此,通过终止+重新启动来测试您的应用程序将变得昂贵。但是让它运行是按小时收费的。因此,您可能会发现您在晚上关闭它以节省资金,但让它在午餐时间运行以节省几分钟的启动时间。
    • 只是为了明确“重新启动”或“关闭”是“终止”,对吧?
    • 没有。只有关闭 (halt -p) 才是终止。重新启动不会终止它:您可以保留相同的硬件和相同的 IP 地址等。执行 AWS stop/start 基本上是终止,因为您使用新 IP 等在新硬件上启动备份.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2017-09-06
    相关资源
    最近更新 更多