AWS Resources
The Performance Task Force needs dedicated resources to host carrier-io and FOLIO. Carrier-io is a suite of tools: Galloper, Loki, Traefik, InfluxDB, Grafana, Redis, Vault, pgHero, Jenkins that are CPU and memory intensive. These tools need to be run on an EC2 instance that is fast and has a lot of disk space. Carrier-io test services need a big volume disk space to store test execution data, especially profiled data. Eventually, the data would be backed up and archived on an S3 bucket so that one day if there's a need to bring up data for comparison we simply restore the backed up data.
PTF will start out with one carrier-io instance, but if there are many tests to run and if we don't want to wait to run tests, PTF will need a second carrier-io machine to do its job efficiently.
PTF also needs a dedicated FOLIO environment to run tests against. The software will need to be hosted on a production-grade compatible hardware in order for the test results to have any value. There is a likely a need to have a second FOLIO environment in which all modules are loaded with the Uber profiler so that they can profile the modules. When the tests are not running, we could stop the second FOLIO environment machines to save cost.
Resource | Type | Quantity | Use |
---|---|---|---|
EC2 | m5.2xlarge, 500GB volume | 1 | Hosts carrier-io suite: Jenkins, Grafana, InfluxDB, Redis, etc.. |
EC2 spot instance | t3.medium | 1 | Hosts load generator, executes JMeter tests. Runs on demand, during testing, torn down after each use |
S3 Bucket | 1 | Store backups of InfluxDB to archive test results | |
EC2 | m5.large | 8 | FSE - Hosting FOLIO modules |
RDS | db.r5.xlarge | 2 | FSE - Database of FOLIO testing environment, 1 reader and 1 writer |