Outpost Concepts

Models

  • Tenants: A tenant represents a user/team/organization in your product.
  • Destination Types: The type of destination where events will be delivered. For example, webhook, Hookdeck, or AWS SQS.
  • Destinations: A destination is a specific instance of a destination type. For example, a webhook destination with a specific URL.
  • Events: An event is a piece of data that represents an action that occurred in your system. For example, a user signed up or a payment was processed.
  • Topics: A topic is a way to categorize events and is a common concept found in Pub/Sub messaging. For example, a user.created event might be categorized under the user topic.

Architecture

Outpost is deployed with three services:

  • API Service: captures events and exposes the necessary APIs to configure tenants and destinations.
  • Delivery Service: is responsible for delivering events to tenants' destinations and contains adapters for each destination type. It must be configured to operate over one of the supported message queues, such as SQS and Pub/Sub.
  • Log Service: enables storing and retrieving events, their status, and their responses.

Outpost Architecture

Runtime Requirements

API Service & Delivery Service

Log Service

Required for log storage.

Tenant Destination Types

Event destination types that belong to Outpost tenants and where events are delivered to.

If there is an event destination type that you would like to see supported, open a feature request.

Benchmarks

(Planned)