Skip to content

Installation_Guide_Architecture

Kevin McGoldrick edited this page Apr 7, 2020 · 6 revisions

Contents | Preface | Introduction | Architecture | Environment | Standalone | Deployment | Configuration

Architecture

Intuit Tank is designed as a multi tier, service based application. It is designed to be run in a cloud environment where access to certain cloud-based services is assumed.

Cloud Services Used

  • EC2 Elastic Compute Cloud (EC2) is the service that is used to create compute resources to drive load (agents). There are several parts of this service used.

    • Instances are the actual compute resources used to run load.
    • Security Groups are used to control access to and from the agent instances and the controller instance.
    • AMIs are used as the templates for instantiating new resources.
    • Load balancers are used to distribute load to the controller.
    • Elastic IPs are used to bind specific IP addresses to agent instances and can be used in firewall rules to allow access from agents to the datacenter.
    • Volumes are used for persisted data that is not stored in S3.
  • S3 Simple Storage Service is used to store document-based items such as data files and response time reports.

  • CloudWatch Metrics Agent custom metrics, Response time and count metrics are sent (live) during the execution of a test. They can be charted and used in dashboards in the AWS Console.

  • CloudWatch Logs Agent logs are sent (live) during testing. Logs can be parsed and charted in dashboards along with metrics.

  • AWS X-ray OpenTracing collected on the controller to identify and troubleshoot the root cause of performance issues and errors.

  • RDS Relational Data Service (Mysql) is used to store the meta data about the projects including scripts, filters, and project configuration used by the controller.

  • IAM Identity and access management is used to control access and permissions to cloud resources.

Most of the above services can be replaced using local services if need be.

Contents | Preface | Introduction | Architecture | Environment | Standalone | Deployment | Configuration