DescartesResearch / TeaStore

A micro-service reference test application for model extraction, cloud management, energy efficiency, power prediction, single- and multi-tier auto-scaling
https://se.informatik.uni-wuerzburg.de
Apache License 2.0
118 stars 136 forks source link
benchmark microservice model-extraction performance

TeaStore

The TeaStore is a micro-service reference and test application to be used in benchmarks and tests. The TeaStore emulates a basic web store for automatically generated, tea and tea supplies. As it is primarily a test application, it features UI elements for database generation and service resetting in addition to the store itself.

The TeaStore is a distributed micro-service application featuring five distinct services plus a registry. Each service may be replicated without limit and deployed on separate devices as desired. Services communicate using REST and using the Netflix Ribbon client side load balancer. Each service also comes in a pre-instrumented variant that uses Kieker to provide detailed information about the TeaStore's actions and behavior.

Check out our Getting Started Guide for information on how to use the TeaStore:

  1. Deploying the TeaStore
    1. Run as Multiple Single Service Containers
    2. Run the TeaStore using Docker Compose
    3. Run the TeaStore on a Kubernetes Cluster
    4. Run the TeaStore with helm templates
  2. Using the TeaStore for Testing and Benchmarking
    1. Generating Load
      1. LIMBO HTTP Load Generator
      2. JMeter™
    2. Instrumenting the TeaStore
      1. Docker containers with Kieker
      2. OpenTracing with Kubernetes and Istio
  3. Building and Customizing the TeaStore

Cite Us

The TeaStore was first published in Proceedings of the 26th IEEE International Symposium on the Modelling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS2018). If you use the TeaStore please cite the following publication:

@inproceedings{KiEiScBaGrKo2018-MASCOTS-TeaStore,
  author = {J{\'o}akim von Kistowski and Simon Eismann and Norbert Schmitt and Andr{\'e} Bauer and Johannes Grohmann and Samuel Kounev},
  title = {{TeaStore: A Micro-Service Reference Application for Benchmarking, Modeling and Resource Management Research}},
  booktitle = {Proceedings of the 26th IEEE International Symposium on the Modelling, Analysis, and Simulation of Computer and Telecommunication Systems},
  series = {MASCOTS '18},
  year = {2018},
  month = {September},
  location = {Milwaukee, WI, USA},
}

For an example of a large-scale TeaStore setup we refer to Microservices: A Performance Tester’s Dream or Nightmare? and the corresponding replication package.

@inproceedings{10.1145/3358960.3379124,
  author = {Eismann, Simon and Bezemer, Cor-Paul and Shang, Weiyi and Okanovi\'{c}, Du\v{s}an and van Hoorn, Andr\'{e}},
  title = {Microservices: A Performance Tester's Dream or Nightmare?},
  year = {2020},
  booktitle = {Proceedings of the ACM/SPEC International Conference on Performance Engineering},
  pages = {138–149},
  series = {ICPE '20},
}

The TeaStore in Action

The TeaStore is used as the demo application in the Cisco Full Stack Observability Workshop and as a case study in a number of scientific publications:

If your paper is missing from this list, open up an issue and we'll add it :)