testgrinder Architecture
An overview of SMPC testgrinder architecture
Last updated
Was this helpful?
An overview of SMPC testgrinder architecture
Last updated
Was this helpful?
Major elements of a SMPC testgrinder deployment include:
tg-app servers - one or more testgrinder application servers
tg-bot servers - script runners dynamically launched by tg-app
MongoDB database
two S3 buckets
SMTP server for sending emails out
(optional) integration
(optional) integration
testgrinder is a application written in the programming language. It consists of two major components - the application server tg-app, and the script runner tg-bot, both built on top of Ubuntu linux. SMPC testgrinder consists of two AMIs (tg-app and tg-bot) on the AWS Marketplace. testgrinder uses as its database.
At the core of testgrinder deployment is one or more testgrinder application servers (tg-apps). They are responsible for interacting with the users and managing the script runners (tg-bots).
If you are deploying testgrinder for evaluation, one tg-app server is adequate. For production, a more robust deployment utilizing at least two tg-app severs managed by an Auto Scaling Group is advisable.
When a run is kicked off in testgrinder, tg-app will launch (and later terminate) one or more tg-bot servers to handle scenario execution.
You will need to provide two S3 buckets for testgrinder. One for storing screenshots and videos generated during runs, and the other for storing testgrinder project user files.
You will need to provide testgrinder with an SMTP server which it will use for sending out emails. It can be Amazon SES (Simple Email Service).
You may choose to integrate your deployment of testgrinder with the following optional services:
Both tg-app and tg-bot are equipped with for monitoring their health and attempting repair if need be. You may choose to receive email notifications whenever monit detects an abnormal situation or takes an action to remediate it.
testgrinder uses MongoDB as its database. tg-app comes with a MongoDB database preinstalled, which is adequate for testgrinder evaluation, but not advisable for production use. For production use, either provide your own instance of MongoDB, or sign up for one at .
- for aggregation of logs generated by tg-app and tg-bot instances
- for bug reports