Figure 1 shows a SaaS-based solution architecture of Granulate. The Granulate agent collects profiling metrics and performance telemetries before sending to the Granulate Cloud. The data is encrypted at transit and rest, and is logically separated between clients. An Extract, Transform, Load (ETL) process continuously runs against this profiling data to build an optimization configuration based off the client data. This configuration once created is stored within Granulate's S3 bucket for the agent to pull from to define where to optimize and what optimizations to load.