Your application or service routes all service calls through Spike, and it passes on the requests to the destination services. Along the way, Spike can perform a series of actions:

  • Automatically gathers statistics on the services calls, including uptime, response time, data payload sizes, and more.

  • Simulate errors in the backend service, by returning 400s, 500s, or arbitrary errors. Use this to test whether each component handles errors properly.

  • Simulate slow or broken responses in any backend.

  • Errors and slowdowns can be trigger at any point in the architecture. One can trigger an error in a service two or three levels deep, for example, to see if the intermediary systems all behave correctly.

  • Responses can be saved and played back offline later. Use this to quickly create mock data for QA and development, in cases where a backend is flaky.

  • Spike can capture and retain all service responses for later inspection and debugging. If you notice a system failed several hours ago, simply load up the service responses and see what went wrong. Or, "rewind" all the data back to when the system was last working, so your teams can continue with development and testing while the problem gets fixed.

  • See timelines of service calls, to see which services are called in parallel and which are in series. This is invaluable to maximizing performance of your system.

  • Generate a graph showing the entire system architecture. See how all the components talk to each other, and identify bottlenecks and chatty nodes.

Spike is easy to set up.