Skip to main content

Bring Your Own Cloud

Speedscale Bring Your Own Cloud (BYOC) keeps captured request and response pairs (RRPairs) in destinations you control. Choose direct storage when captures, replay inputs, and reports must live in your object storage. Choose collector export when you want to send captured traffic through OpenTelemetry to a storage or observability backend.

Already have captured traffic? Import it into proxymock for analysis, dependency mocking, and replay.

info

BYOC requires a Speedscale Enterprise plan and Speedscale API connectivity for registration, configuration, and operational telemetry. It is not a self-hosted or air-gapped Speedscale platform. Contact support@speedscale.com to enable BYOC on your account.

Choose a path​

SetupCapture and storageReplay
Direct storageNamespaced Kubernetes capture; the Forwarder writes directly to S3, S3-compatible storage, GCS, or Azure Blob.Stage a local snapshot and run a namespaced cluster replay; artifacts stay in customer storage.
Collector export on KubernetesCaptured traffic goes from the Forwarder to your OpenTelemetry Collector, then to your chosen destination.Import stored traffic and replay locally with proxymock.
Collector export on ECS/Fargategoproxy captures ECS traffic; the Forwarder and collector deliver it to your bucket.Import stored traffic and replay locally with proxymock.

Direct storage​

This path requires namespaced.enabled: true and namespaced.forwarder.primaryTransport: byoc. The classic operator does not support direct storage. No OpenTelemetry Collector is needed for storage.

Operator chart v2.5.1169 exposes namespaced.forwarder.byoc.provider with s3, gcs, and azureblob providers. S3-compatible services use the s3 provider with a customer endpoint.

Capture uses proxymock cluster capture inject --sidecar. Replay uses proxymock cluster replay start --namespaced --snapshot-source local, which prevents a Cloud upload if local staging fails. Captured RRPairs live under <PREFIX>/records/rrpairs/.

Start with direct storage on Kubernetes, then verify storage and replay.

Collector export on Kubernetes​

Each named Forwarder exporter sends captured traffic as OTLP logs to your collector with its own filter and DLP configuration. You can also add collector export alongside direct storage.

The classic operator enables capture through workload annotations; a namespaced installation uses proxymock sidecar injection. The default S3 and GCS collector layouts use the byoc/ prefix. Azure Blob and observability destinations require backend-specific retrieval recipes for replay.

Start with Kubernetes collector export after completing the checks below.

Collector export on ECS/Fargate​

goproxy sends captured traffic to a Forwarder task. A collector in that task writes to S3 using the ECS task role. Tenant configuration comes from Speedscale; secrets come from AWS Secrets Manager.

Follow BYOC on ECS/Fargate to configure Cloud filtering before starting capture, verify an S3 object, and import the capture for a local replay.

Before you capture​

  1. Prepare your tenant. Use the dashboard or speedctl for tenant values, filters, and DLP configuration IDs. Direct storage can use local Forwarder rule files; named collector exporters fetch their own filter and DLP configurations from the tenant.
  2. Prevent Cloud export before capture. Direct storage uses primaryTransport: byoc. Collector export needs a drop-all Cloud filter assigned to the Forwarder's filterRule, or SPEEDSCALE_FILTER_RULE on ECS. The default standard filter sends RRPairs to Cloud. Keep the named exporter's own filter configured to retain traffic.
  3. Choose where to redact. Configure DLP before export for each destination. Direct storage uses a tenant configuration ID or local Forwarder files; collector export uses each named exporter's DLP configuration ID. proxymock import --dlp-config redacts local imports without changing bucket objects. See DLP and local rules.
  4. Keep replay in your data boundary. Use a local-source namespaced replay for direct storage, or import and replay locally for collector export. Dashboard and Cloud replays upload snapshots to Speedscale Cloud.

What you operate​

You operate destination credentials, workload identity, encryption, retention, network policy, and access controls. Collector export also requires you to operate the collector. Plan access to customer storage separately from the required Speedscale API route.

Typical workflow​

  1. Complete your selected setup, including Cloud export configuration.
  2. Enable capture on one workload and send a known request.
  3. Verify the deployment and inspect the captured request in your destination.
  4. Run a replay and inspect its results. See traffic import for bucket access or troubleshooting for a failed check.