Architecture - presidential-innovation-fellows/recalls-api GitHub Wiki
The proposed architecture for this API is to use a combination of the AWS API Gateway and AWS Lambda funcitons to proxy requests to the underlying datasets and munge/aggregate their responses. This will (hopefully) allow for automatic capacity handling and not require any dedicated infrastructure (i.e. EC2 instances), thereby being very cost effective.
Resources:
- https://aws.amazon.com/blogs/aws/amazon-api-gateway-build-and-run-scalable-application-backends/
- http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started.html
- http://docs.aws.amazon.com/lambda/latest/dg/gs-amazon-gateway-integration.html
The entry point to the API (api.recalls.gov, perhaps?) will most likely use API Umbrella as a front-end to handle authentication, caching, usage reporting, etc.
Considerations:
- auth keys to underlying data sets (when required, e.g. for openFDA)
- one global to this project?
- auto-register one per unique api.data.gov user for each underlying dataset (maintain internal mapping)?
- data downloads
- FDA updates weekly: http://www.fda.gov/%20Safety/Recalls/EnforcementReports/default.htm