This repository has been archived by the owner on Mar 14, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
TACO Technology Selection Post WC Review
Justin Coyne edited this page Apr 24, 2018
·
10 revisions
This page reviews our technology selections for the TACO prototype at the end of the work cycle. See the documentation and motivating factors for our original technology selections here: https://github.com/sul-dlss-labs/taco/wiki/TACO-Technology-Selection-Info-Page
Technology | Pros | Cons | General Notes |
---|---|---|---|
AWS dynamodb |
|
||
AWS ECS (elastic container service) | Deploys are easier than ElasticBeanstalk | We need aggregated logging, because we can't SSH into the container to check the logs | |
AWS kinesis |
|
||
AWS s3 | |||
CircleCI |
|
Complicated to understand how it works. | |
Docker | Can spin up containers locally, exactly the same way they work in production. | ||
Functional Reactive Programming (FRP) backend for processing | Encapsulates change: update the backend without having to change the frontend | Need a better logging infrastructure to understand what triggered a backend event. | |
Go (golang) |
|
Need to build lots of the tooling ourselves. | |
go-swagger framework | Keeps the code honest | Doesn't support Open API Spec 3 features | It would work even better if we had a static schema. |
Swagger 2.0 (REST API Specification) |
- The need to store empty strings, nulls, and empty arrays is related to the requirements for Updating a resource's metadata - i.e., someone may pass in an empty array to indicate a required deletion of the existing values in that array in the DynamoDB database record for that resource.
- TACO API & Service Design
- Development Guide
- TACO Internal Steps
- Identifier schema
- Data Modeling & MAPs
- Data Expectations of TACO
- Auth & Permissions
- Benchmarking Goals & Scenarios
- Workflows & Robots Replacement Analysis