Pyroscope deployment modes
You can deploy Pyroscope in one of two modes:
- Monolithic mode
- Microservices mode
The deployment mode is determined by the
-target parameter, which you can set via CLI flag or YAML configuration.
The monolithic mode runs all required components in a single process and is the default mode of operation, which you can set by specifying
-target=all. Monolithic mode is the simplest way to deploy Pyroscope and is useful if you want to get started quickly or want to work with Pyroscope in a development environment. To see the list of components that run when
-target is set to
all, run Pyroscope with the
In microservices mode, components are deployed in distinct processes. Scaling is per component, which allows for greater flexibility in scaling and more granular failure domains. Microservices mode is the preferred method for a production deployment, but it is also the most complex.
In microservices mode, each Pyroscope process is invoked with its
-target parameter set to a specific Pyroscope component (for example,
-target=distributor). To get a working Pyroscope instance, you must deploy every required component. For more information about each of the Pyroscope components, refer to Architecture.
If you are interested in deploying Pyroscope in microservices mode, we recommend that you use Kubernetes.