This chapter covers
- What we mean by backend destinations and what types of destinations exist
- Backend destination options for handling logs, metrics, and traces
- What time series data stores are and what you can use them for
- Introducing columnar data stores and formats along with their use cases
- Considerations for selecting backend destinations
By now, you should know what major signal types exist (see chapter 2), where they come from (see chapter 3), and what options exist to collect and preprocess said signals (see chapter 4). In this chapter, we will dive deep into backend destinations, the targets or sinks for agents. Backend destinations, or backends for short, are the source of truth for your observability questions. They allow you to store and query signals and make them available to frontend destinations (see chapter 6).
Why do I make the distinction between backend and frontend? Well, there are a few examples that fall exactly in one or the other category. For example, Grafana is a pure frontend destination (sometimes also called the presentation stage) that queries backend destinations to visualize or alert on signals. The Cloud Native Computing Foundation (CNCF) project Cortex, on the other hand, is a pure backend destination (besides a rudimentary admin Web UI, you only have the API to ingest and query metrics).