我在Twilio开发了一个应用程序,我想从云端运行。我尝试了解AWS和Google App Engine,但在此阶段我很困惑:
我有两个问题希望能得到你的帮助:
1)如何将我的脚本和数据库存储在云端?现在,一切都在我的本地机器上运行但我想将脚本和数据库传输到另一台服务器并在一天的预定时间运行我的应用程序。最好的方法是什么?
2)如何编写批处理文件以在云中的预定时间运行我的应用程序?
我知道这没有代码,但我真的希望有人可以指出我正确的方向。我花了很多时间试图了解这一点,但仍然不确定。 Tks in adv。
更新:应用程序是一个Twilio应用程序,可以调用人员,脚本只是应用算法以某种方式进行调用,数据库是一个mysql数据库,提供要调用的人员的详细信息。
答案 0 :(得分:1)
在不了解应用程序是什么,数据库是什么或者您希望运行的脚本是什么的情况下,很难提供准确的答案。
我可以给你一些在这种情况下可能有用的想法。
OpsWorks(http://aws.amazon.com/opsworks/)是一种用于管理应用程序的托管服务。您可以定义堆栈(Web,工作人员,数据库等多个层)以及在每个层的实例生命周期中应该运行的主厨配方(启动,关闭,应用程序部署或堆栈修改)。 )。然后,您可以使用在特定日期和小时内向每个图层添加实例的功能,以按照您的请求实现在预定时间运行的功能。
在这样的解决方案中,你可以让你的一些实例(比如DB)一直打开,甚至每天使用厨师食谱来引导它们,从快照开始恢复并在关机时创建快照。
您使用的另一个AWS服务是数据管道(http://aws.amazon.com/datapipeline/)。它旨在定期在数据源之间移动数据,例如从MySQL数据库移动到数据仓库服务Amazon Redshift。但您可以使用它来触发脚本并运行您希望的随机shell脚本(http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-shellcommandactivity.html),并安排它在各种条件下运行,例如每小时/每天或特定时间(http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-concepts-schedules.html)。
答案 1 :(得分:1)
这里的一个简单路径就是在AWS中创建EC2实例,并将运行应用程序所需的组件放在那里。这里有一个彻底的步骤:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html
基本上,您将创建一个EC2虚拟机,您可以将其用于大多数用途,就像任何其他Linux服务器一样。您可以在其上安装MySQL,将脚本复制到那里并运行它。当然,您的代码所需的任何容器或支持库也需要安装。
您不会说出您在本地使用的操作系统,但如果它是Mac或Linux,您应该能够按照几乎相同的过程让您的脚本在您在本地使用的EC2实例上运行机。
当您了解AWS时,您可以使用复杂的服务进行部署,架构流程,数据库服务等。但只是从虚拟机开始运行脚本应该非常简单。
答案 2 :(得分:1)
我最近开发了一个使用Ruby on Rails作为后端的Twilio应用程序,发现Heroku设置和启动非常简单。虽然Heroku的成本比AWS高,但我发现使用Heroku节省的时间超过了这个。作为早期创业公司,我们希望将时间花在开发重要功能上,而不是“浪费”时间来优化我们的AWS云。
然而,虽然我相信Heroku是早期网站/初创公司的理想选择,但我相信一旦公司达到一定规模,我就会重新评估托管。在某些时候,将资源用于优化AWS云解决方案在经济上是可行的,因为从长远来看,它将比Heroku更便宜。