Amazon ec2 开发和生产服务器的标准实践?

Amazon ec2 开发和生产服务器的标准实践?,amazon-ec2,client-server,restful-architecture,Amazon Ec2,Client Server,Restful Architecture,好的,首先,我对使用服务器和RESTful客户机是个新手。我目前正在做的是开发一个RESTful客户端api,当我艰难前行时,我意识到有时api会由于代码不同部分的错误而完全失败。我正在AmazonEC2服务器上与Django合作 我的问题是:在设置一种在不经常导致故障的情况下使用api的方法时,什么是好的实践?我曾经考虑过使用一个变量,根据请求是否是测试来引导流程通过客户端,但这仍然不能解决可能出现的更大问题 建议,线索和阅读材料是感激的。我环顾四周,征求了一些人的意见,但我还是相当迷茫。在这

好的,首先,我对使用服务器和RESTful客户机是个新手。我目前正在做的是开发一个RESTful客户端api,当我艰难前行时,我意识到有时api会由于代码不同部分的错误而完全失败。我正在AmazonEC2服务器上与Django合作

我的问题是:在设置一种在不经常导致故障的情况下使用api的方法时,什么是好的实践?我曾经考虑过使用一个变量,根据请求是否是测试来引导流程通过客户端,但这仍然不能解决可能出现的更大问题


建议,线索和阅读材料是感激的。我环顾四周,征求了一些人的意见,但我还是相当迷茫。在这一点上,最简单的选择似乎是创建一个完整的重复环境进行测试(因此是一个全新的服务器),并且只有在开发稳定时才推动更改。不过这看起来效率很低。

restful系统应该使用入口点URI,并从返回的表示中发现其他URI。此外,URI结构对客户端应该是不透明的,因此应该可以定义两个URI,如

http://acme.com/prod/api

客户端应该接受其中一个URI,只要服务器在表示中返回的URI尊重目标环境,那么一切都应该正常工作


超媒体和不透明URI的概念旨在使客户端不知道任何特定的服务器实现,因此您尝试实现的目标变得非常简单。

实际上,拥有多个环境(通常是开发/登台/生产环境)的做法可能是最常见和最安全的。但是我如何设置它呢?我是否应该使用相同的配置创建一个全新的服务器实例来进行开发?我看到一些人说本地工作,另一些人说纯粹为了测试而使用另一个服务器实例是一种方式,我对此感到有点茫然。这取决于您的环境/堆栈,但是有很多工具来管理开发环境。我在开发框中使用了很多东西。我正在研究这一点,谢谢你的指导。好的,这种方法肯定是有意义的,但是当修改共享功能时,什么是最好的方法呢?每个端点的所有功能都是重复的,其中一个是“dev”功能吗?说得清楚一点,假设有一个共享的Python脚本,那么最好是为dev调用制作一个副本,然后将其推送到prod端?根据我在网上看到的情况,这似乎是一种方法,但在Python环境中,很难控制可能会破坏它的整体的东西。这就是virtualenv的目的吗?
http://acme.com/dev/api