Amazon Appliance Workflow - earthcubeprojects-chords/chords GitHub Wiki
Developer
This is described for a Ruby on Rails environment, but other website frameworks could be used.
- The website application (e.g. Ruby project) is hosted on GitHub.
- Amazon OpsWorks is used for server configuration and deployment. Amazon has a good video on the following OpsWorks process.
- Create a new stack. The default Linux O/S with Ruby and MySQL will work. (S3 could also be used for testing).
- Add a layer for a Rail App Server.
- Add an App. (Specify the GitHub path to fetch the application code). The application contains an empty
- Create a "golden" instance of the stack. This instance will appear in your instances list on the EC2 dashboard.
- Create an AMI (image) of the running instance. Give this image a name that includes a version number, e.g. "CHORDS Server v0.9.1".
- (Later) The golden instance can be updated with new application code, using the "update" button in the OpsWorks Apps page.
User Setup
- The user creates an instance of the AMI (e.g. CHORDS Server v0.9.1).
- The instance is given an application specific name, such as "CHORDS UMich HydroNet".
- The IP address of the CHORDS server is available in the instance details.
- (Probably should select a more permanent storage choice than the default ESD).
- The user browses to the CHORDS server, and logs in via the home page.
- Forms are available to configure the CHORDS server for data organization and ingest.
- Other pages are used to monitor and control the system.
- (Desirable) There is some way for the user to easily create a more memorable IP alias. Perhaps this can be done when the instance is created.
Data Access
- HTTP queries to the same IP are used to submit data to the CHORDS server.
- HTTP queries to the same IP are used to fetch data from the CHORDS server.
- The CHORDS server can provide simple tabular listings of selected data. File downloads can be specified and dynamically created.
- (Desirable) How can we incorporate push delivery?