Google SecOps SOAR cost vs self-hosted Shuffle

Google SecOps bundles SOAR with the SIEM on an ingestion-based package, while self-hosted Shuffle moves cost onto servers, migration and people. This page shows how to compare the two for your own environment.

On this page

Does self-hosting Google SecOps SOAR cost less than the cloud package?

Self-hosting Shuffle probably removes the SOAR part of your Google SecOps bill, but it does not remove cost. It replaces a bundled subscription with servers, migration work and staff who maintain workflows, and the SIEM stays on the bill unless its log ingestion moves too. Before a renewal or packaging change, separate what Google charges for ingestion from what you pay for SOAR alone, because Google bundles the two. Ask your account team for a quote that shows each component on its own line so you can see which costs disappear if only SOAR moves.

Shuffle's open-source edition includes all features, and its licensing is priced on app runs, meaning actions that actually execute in a workflow. Users, apps and workflows are unlimited, and triggers and skipped actions are not counted. Your SOAR cost therefore depends on how many workflow executions your playbooks perform, not on headcount. Run a count from your current playbook logs for a representative month and multiply it by the paid tier pricing you receive from Shuffle, if you need the paid limits for scaling or support. The single biggest variable is the number of automated actions per alert, which often matters more than alert volume itself.

Infrastructure is the cost most teams underestimate. Shuffle's install guide sets a minimum of 4 GB of RAM for its Docker setup, but it also says the default Docker Compose configuration is not scalable without changes. Production use with high availability, as described in Shuffle's configuration docs, means an OpenSearch cluster, more than one Orborus node and shared storage. Budget for those hosts, their backups and monitoring, and the encryption key used for saved app credentials, which must be protected because losing it breaks every saved authentication. The largest recurring cost is usually the engineer time needed to upgrade, patch and troubleshoot the platform, so count the internal hours you actually have before you commit.

Which cost components move when SOAR leaves Google SecOps

This table compares each cost component of Google Security Operations SOAR, sold on ingestion with the SIEM bundled, against the components of running self-hosted Shuffle. Read the recurring rows first, since they decide the long-term difference, and use the one-time rows to size the migration. Google SecOps package prices are not stated here, so request them in writing and compare them line by line with the Shuffle rows.

Cost componentGoogle SecOps SOAR (bundled)Self-hosted ShuffleOne-time or recurring
Software licensingIncluded in an ingestion-based package that also covers the SIEM, so SOAR cost is not priced separatelyOpen-source edition carries no license fee. Paid tiers are priced on app runs, the actions that execute in a workflow, while users, apps and workflows are unlimitedRecurring for paid tiers only
Ingestion and log volumeCharged on ingested data, which grows with every alert source connectedNot charged by ingestion. Volume only affects OpenSearch storage and compute you provisionRecurring
Servers and computeNot provided by you; hosted by GoogleHosts for the backend, frontend, Orborus and workers, sized to your workflow load and minimum 4 GB RAM per install guideRecurring (infrastructure) and one-time (initial build)
OpenSearch storageNot applicable to youOpenSearch is the database. Storage grows with execution history and must be sized and backed upRecurring
High availabilityDelivered by the providerRequires an OpenSearch cluster, shared files, several backends and more than one Orborus node, so extra servers and engineering timeOne-time design, recurring infrastructure
Implementation and integrationsVendor-side integrations; rebuilding playbooks is internal effortBuilding workflows, creating app integrations from OpenAPI specifications and configuring credentials, usually through a fixed-scope engagementOne-time
Support and upgradesIncluded in the service contract; confirm scope in writingUpgrades, patching and vendor support depend on your chosen tier or a retainer. Confirm what is coveredRecurring
Internal skills and workflow upkeepAnalysts maintain playbooks inside the platformEngineers maintain workflows, app containers and credential encryption keys, so staffing must be plannedRecurring
SIEM if only SOAR movesNot separable: SIEM and SOAR share one packageSIEM stays on Google SecOps or moves elsewhere, so the SIEM line remains and must be priced separatelyRecurring

What you still pay for the SIEM if only SOAR moves

Moving only automation to Shuffle leaves the SIEM cost in place. Google Security Operations is sold in ingestion-based packages that bundle the SIEM and the SOAR, so the invoice you receive does not separate them by default. If your logs keep flowing into Google SecOps for detection, search and retention, the ingestion-driven charge continues after the playbooks have moved. Before you model a saving, ask your Google account team for an itemized breakdown of the current package, showing which line covers log ingestion and retention and which covers SOAR capabilities such as playbooks, cases and remote agents. Then ask how the ingestion charge is calculated and whether it changes if the SOAR component is removed from the contract.

Repointing alert ingestion is the step that decides what you can cut. Shuffle does not read your SIEM alerts by default, so each detection source must be connected to Shuffle through a webhook or an app integration, and the existing SIEM-to-SOAR feed must be switched off or redirected. Confirm which log sources and detections still feed Google SecOps after the move, because any source you keep there continues to be billed under the SIEM side. List each alert type, its current destination and its volume, and decide per source whether it stays in Google SecOps, goes to a different SIEM, or moves to a self-hosted log platform that you run yourself.

A quote should price the SIEM and the SOAR as separate lines. Ask any vendor or implementation partner, including DeployOpen, to show SOAR platform costs, which for Shuffle include the servers, the OpenSearch database and the people who maintain workflows, apart from any SIEM or log management costs that remain on your side. If you intend to keep Google SecOps for detection, the quote should state that the SIEM invoice continues and should not net it against the automation savings. Keep a written record of the split, because it determines whether the project reduces your total spend or only changes its shape.

What moves the Shuffle total cost of ownership up or down

Self-hosted Shuffle has no per-user fee, so its total cost follows how much work the platform does, how many servers it runs on and who keeps it running. The cards below cover the drivers that move that total up or down, and the checks to make before comparing it with a Google Security Operations quote.

Workflow app runs

Shuffle's paid tiers meter a single unit: app runs, meaning actions that actually execute in a workflow. Triggers and skipped actions are not counted, and users, apps and workflows are unlimited. A high-volume alert pipeline that calls enrichment actions on every alert will consume runs far faster than a workflow that only fires on confirmed incidents. Ask the vendor how a typical alert maps to runs in your environment, and model that count before comparing with Google SecOps, which bundles SOAR with the SIEM.

Alert volume and workflow count

Alert volume drives both compute and run counts, while the number of workflows drives maintenance. Each workflow that touches a live queue needs testing, versioning and owner review when the source system changes its schema. Map your current Google SecOps playbooks to a count of Shuffle workflows, then group them by alert source. Confirm which sources send bursts of alerts, since those set the peak load your servers and Orborus nodes must absorb.

High availability design

Shuffle's configuration guidance for high availability calls for an OpenSearch cluster, optional Memcached for a shared cache, NFS for shared files when several backends run, and more than one Orborus node so workflows keep running if one fails. Each of these is an extra server or storage service to size, patch and back up. A single-host Docker Compose install is cheaper to run but is not a scalable build without changes, so the HA requirement often decides the architecture budget.

Deployment architecture and server count

Shuffle documents four architectures: a single server with Docker Compose, distributed Docker Swarm, a hybrid with Shuffle Cloud and a local Orborus that needs no inbound firewall ports, and Kubernetes with Helm charts. The hybrid option keeps the control plane in the cloud while execution stays on your network, which can lower server cost but changes what data leaves your boundary. Price each option by the servers, storage, load balancing and backup it needs, and confirm which one your data residency rules allow.

Custom apps and integrations

Google SecOps offers a catalog of prebuilt integrations, while Shuffle ships premade apps for security tools and lets you build more with the App Creator from OpenAPI specifications or the Python app SDK. Each custom app is code your team owns: it needs versioning, a container build, credential handling and updates when the vendor API changes. Count the integrations you use that are not in the premade catalog, because those are the ones that add build and maintenance hours to the total.

Skills already on staff

Internal staff time is often the largest cost in a self-hosted SOAR move, and it recurs. Someone must run OpenSearch, manage the encryption secret, patch containers and rebuild workflows after each change. Teams already running Kubernetes, OpenSearch or Python automation carry less of this load than teams starting from zero. Ask whether your staff can own the platform after go-live, or whether the work should go to a fixed-scope implementation partner with a retainer for upgrades and support.

How to build the comparison with your own numbers

This sequence turns your current Google SecOps bill and automation inventory into a three-year comparison that separates the SIEM from the SOAR, sizes a self-hosted Shuffle deployment, and prices the migration and upkeep your team would carry.

  1. Split the current Google SecOps invoice

    Ask your Google Cloud account team or finance contact for the invoices or order documents for the last twelve months, and separate the charges that buy SIEM capability (ingestion, retention, detection content) from those that buy SOAR capability (automation, case handling, remote agents). Where the contract bundles both, record the contract line items and the metric each one is billed on, and ask Google in writing how it allocates the bundle between the two. Done when you have one table with a SIEM column, a SOAR column and a bundled column, each with a source document reference.

  2. Inventory playbooks, blocks and connectors

    Export the playbook and block definitions and list every connector in use, following the export steps in the Google SecOps documentation or GitSync if your team already uses it. For each playbook, record the trigger, the number of actions, the external systems it calls, and how often it runs. Mark anything that depends on a remote agent or a custom Python integration, because those need rebuilding rather than copying. Done when every playbook has a row and every connector maps to a named system you already run.

  3. Estimate monthly app runs against the Shuffle metric

    Shuffle prices its enterprise tiers on app runs, which count actions that actually execute in a workflow. Triggers and skipped actions are not counted, and users, apps and workflows are unlimited. Using the run frequencies from your inventory, estimate executions per workflow per month, then multiply by the actions that run each time, with a separate line for peak alert volume. Confirm with Shuffle how the open-source edition and the paid tiers apply the limits in your version, since the limits are enforced in current releases. Done when you have a monthly run estimate with a low, expected and peak case, each labeled as an estimate.

  4. Size the self-hosted servers and high availability

    Start from the documented minimum of 4 GB of RAM for a Shuffle install and the Docker Compose default, which the install guide says is not scalable without changes. For production, the configuration documentation recommends an OpenSearch cluster, optional Memcached, NFS when several backends run, scaled backend and frontend, and more than one Orborus node. Your team or implementation partner should convert your run estimate and retention needs into node counts, CPU, memory and storage, then cost them against your cloud or data center rates. Done when you have a server bill of materials with the node count for each role and the high availability option you chose.

  5. Price the rebuild and migration work per playbook

    Assign each inventoried playbook a complexity class based on its action count, custom code and connector changes, then agree an effort figure per class with the implementation partner. Add a fixed line for the work outside playbooks, including repointing alert ingestion from the SIEM, reconnecting credentials, configuring single sign-on, and testing against a parallel run. Note that Shuffle encrypts saved credentials with the SHUFFLE_ENCRYPTION_MODIFIER secret, so the key must be handled as a migration item. Done when each playbook has a line item, the fixed work is listed, and the total is traceable to a written scope.

  6. Add recurring maintenance and upgrade time

    Self-hosting moves recurring work onto your team: patching the host, OpenSearch and Shuffle, testing each release before promotion (the docs recommend the latest Docker tag for stable use and nightly only for experiments), maintaining app containers, rotating secrets, and keeping workflows current as external APIs change. Estimate the hours per month for a platform owner and for workflow maintenance, and state who covers on-call for the automation itself. Ask any retainer provider what is covered for upgrades and testing. Done when recurring hours and their owners appear as a separate annual line.

  7. Compare three-year totals with a retained SIEM

    Build one three-year table with the current Google SecOps SOAR cost on one side and the Shuffle costs on the other: one-time migration and setup, recurring infrastructure, recurring maintenance, and any Shuffle paid tier. Keep the SIEM line in the Shuffle scenario, because moving only SOAR leaves your ingestion and detection charges in place. Run a low, expected and peak scenario, and label any illustrative sample figures as illustrative. Done when the table shows both scenarios with every assumption cited, and you have a list of quote questions for Google, Shuffle, and any implementation partner.

Which Shuffle deployment changes the cost profile

The single server model runs the frontend, the Go backend, the OpenSearch database and Orborus on one host with Docker Compose. It is the lowest-cost starting point and the easiest to reason about, but Shuffle's install guide states that the default Docker Compose setup is not a scalable build without changes and needs a minimum of 4 GB of RAM. Your cost is the host, its storage and backups, and the time of whoever installs and patches it.

  • Infrastructure: one virtual machine or server sized above the 4 GB minimum, plus disk for OpenSearch and backups.
  • Recurring labor: OS patching, Docker image upgrades and OpenSearch maintenance fall to one administrator.
  • Availability risk: a single host means a failed node stops workflow execution, so budget for restore testing.
  • Scaling cost: moving beyond this model requires redesign, which is a one-time project cost.
  • Staffing: one platform engineer can usually run it, but nobody else is covering incidents.

Before you commit, ask your implementation partner to confirm what changes the vendor's configuration docs require for your expected workflow volume.

Costs teams forget on each side

The license line is only part of the comparison. Moving SOAR off Google Security Operations and onto self-hosted Shuffle shifts costs into infrastructure, key management, identity, parallel running and analyst time, and some of those costs only appear after cutover. The cards below list the items most often missing from the first budget.

OpenSearch sizing and backups

Shuffle stores its data in OpenSearch, and its configuration docs recommend an OpenSearch cluster for high availability. Someone has to size the cluster, patch it, monitor disk and decide how snapshots are taken and where they go. Ask who owns that work, whether it sits in your existing platform team's scope, and how restores are tested before go-live.

The encryption modifier secret

Shuffle encrypts saved app credentials and API keys in OpenSearch with AES-256, keyed by the SHUFFLE_ENCRYPTION_MODIFIER secret. If that value is lost or changed, every saved app authentication breaks, and each integration must be re-entered by hand. Store the value in your secrets manager, include it in backup scope and document the rotation procedure before the first workflow goes live.

SSO setup for the platform

Shuffle supports SAML single sign-on and OpenID Connect, with per-tenant enforcement. Google SecOps users are already managed through your identity provider, so the Shuffle integration is new work with its own test cycle, role mapping and break-glass account. SAML is being deprecated on Shuffle Cloud in favor of OpenID Connect, so confirm which protocol your self-hosted build and identity provider will use before you start.

Parallel running during cutover

Until the new workflows match the old ones, alerts usually need to flow into both systems. That means paying for Google SecOps while Shuffle runs, plus the servers and staff time to compare outcomes. Ask your vendor how long the SIEM and SOAR contract will overlap with the new platform, whether a shorter term is available and what happens to licensing if you stop ingesting early.

Case history left behind

Playbook exports carry automation logic, not the cases that Google SecOps SOAR has stored. Open cases, analyst notes, attachments and closure reasons may not come with the playbooks at all. Decide whether historical cases are archived for retention purposes, how long Google SecOps stays readable for lookups and who signs off that the archive meets your record-keeping rules.

Analyst time on a new case model

Shuffle organizes work around workflows, executions and apps, which differs from the case queue and playbook model analysts use today. Each analyst needs time to learn the new interface, and your first incidents on the platform will take longer. Budget training hours, plan for a reduced queue during the learning period and record which workflows are still being refined so reviewers know what to expect.

Questions buyers ask before comparing SOAR costs

Can a small security team run Shuffle on its own?

Yes, a small team can run Shuffle alone if it has people who can operate Docker or Kubernetes, maintain OpenSearch and write workflows. The simplest architecture is a single server with Docker Compose, and the install guide lists a minimum of 4 GB of RAM. The default Compose setup is not scalable without changes, so plan for that work. Check the high availability requirements early. The configuration docs recommend an OpenSearch cluster and more than one Orborus node, which adds operational load. Confirm the staffing model with a written inventory of who patches, backs up and responds when a workflow stops.

How long does a SOAR migration take, and what drives it?

The duration depends on the scope of the work, and no published timeline is available for this comparison. The main drivers are the number of playbooks and blocks to rebuild, how many integrations need a Shuffle app or a custom app, how alert ingestion from your SIEM is repointed, and how much testing your change process requires. Single sign-on, data retention rules and any air-gapped constraints also add steps. Ask any implementation partner for a written schedule tied to a defined inventory, and make sure it lists the dependencies that could move the dates.

Is the open-source edition of Shuffle enough for our workflows?

Shuffle states that all features are available in the open-source edition, and its paid tiers differ in feature limits, scaling and support. Since version 2.1.1, the limits between the open-source and enterprise editions are actively enforced, so confirm the exact limits against your planned usage before you design around them. Licensing is measured by app runs, meaning actions that actually execute in a workflow, while users, apps and workflows are unlimited. Estimate your expected run volume from current alert handling, then review the Shuffle pricing article with your vendor before committing.

What skills does a self-hosted Shuffle deployment require?

The work needs infrastructure skills for Docker or Kubernetes, Linux administration and a working knowledge of OpenSearch for the database layer. Automation work needs people who understand your incident response and detection processes, since workflows encode those decisions. Custom integrations need OpenAPI literacy for the App Creator or Python with the Shuffle app SDK. Identity work covers SAML and OpenID Connect configuration. Many teams split these roles across security engineering and platform engineering. Document which person owns each area so that knowledge does not sit with one individual.

Is Shuffle Cloud cheaper than running Shuffle ourselves?

The available facts do not show which option costs less for your environment, so compare both with the same workload. Shuffle offers a hosted service at shuffler.io and a hybrid model, where Shuffle Cloud runs with a local Orborus that needs no inbound firewall ports. Self-hosting shifts cost toward servers, storage, staff time and upgrades. Cloud shifts cost toward subscription and run volume. Data residency requirements may decide the question before price does. Ask for both options in writing, with the same app run estimate, retention period and support level.

What does a Tracecat comparison add to the Shuffle decision?

Tracecat is an alternative to evaluate alongside Shuffle when you want case management, webhook-driven workflows and AI agents with tools in one self-hosted platform. Its core is licensed under AGPL-3.0, and it documents deployment with Docker Compose, AWS ECS Fargate, Kubernetes and an air-gapped Kubernetes option. Its architecture uses Temporal and PostgreSQL, which changes the skills and backup plan. Multi-tenant workspaces, Git version control and single sign-on are Enterprise features under a separate license. Tracecat 1.2.0 was released on October 16, 2026, so check current features against the Tracecat repository before you decide.

How are Shuffle upgrades handled after go-live?

Shuffle recommends the latest Docker tag for stable releases and the nightly tag only for experimental changes. Shuffle v2.3.0 was published on GitHub on September 28, 2026, which shows how quickly releases move. Treat upgrades as a change with its own test cycle: pin the version, apply it to a staging copy of your workflows and credentials, then promote it. Watch the encryption secret, because losing or changing SHUFFLE_ENCRYPTION_MODIFIER breaks saved app authentications. Ask whether any upgrade, testing or monitoring support is included in the quote, or whether it needs a separate retainer.

When should we ask for a fixed-scope quote?

Request a fixed-scope quote once you have an inventory of playbooks, integrations, alert sources, identity requirements and high availability targets. DeployOpen does not publish a price list. A quote follows from a written scope that sets out deliverables, timelines and responsibilities before any work starts. Ask the provider to state what is one-time, such as migration and hardening, and what recurs, such as support, upgrades and continuous testing. Compare each proposal against the same inventory so that differences reflect the work, not the assumptions.

What to ask for in a fixed-scope quote

DeployOpen works from a written scope, with deliverables and timelines agreed before any work starts, and it does not publish a price list. A quote follows from that scope, so the scope is where your cost control really sits. Ask for the inventory first: every Google SecOps SOAR playbook and block, every connector and custom integration, and the list of alert sources feeding them. Require a migration line per playbook, stating whether it is rebuilt as a Shuffle workflow, retired, or deferred, along with the apps or app creator work each one needs. Without that breakdown, two quotes cannot be compared fairly.

Next, ask how the target architecture is handled. Shuffle's documentation recommends an OpenSearch cluster, a shared cache, shared file storage when several backends run, and more than one Orborus node for high availability, so the quote should say which of these are in scope and which are your responsibility. Ask who owns the `SHUFFLE_ENCRYPTION_MODIFIER` secret, where it is stored, and how it is backed up, because losing or changing it breaks every saved app authentication. Also confirm how SSO is configured, whether through SAML or OpenID Connect, and how backups and restore tests are performed and evidenced.

Finally, ask for handover and post-delivery terms. The quote should list the documentation delivered (runbooks, workflow inventory, architecture diagrams and recovery steps) and who receives training. Confirm whether ongoing support, upgrades and continuous testing are a separate retainer or excluded, since Shuffle releases move quickly and each upgrade is a maintenance cost. Check the Shuffle install guide for current minimum requirements so hosting costs are included in your own budget, not left as an assumption.

How DeployOpen scopes a fixed-scope Shuffle implementation

DeployOpen is a Chainscore Labs company that plans, implements, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure. For a move from Google SecOps SOAR to Shuffle, the work starts with a written scope that separates the SOAR workload from the SIEM you keep.

How we scope

  • Most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
  • The written scope lists which playbooks, integrations and alert sources move, and which stay on Google SecOps.
  • We ask for your current Google SecOps package and ingestion volumes so the cost comparison matches your real setup.

How we build

  • We plan the Shuffle deployment on Docker, Docker Swarm or Kubernetes, sized to your environment and approved architecture.
  • We rebuild priority workflows in Shuffle and wire integrations through the App Creator or premade apps, then test each one.
  • We configure SSO, the encryption secret for saved app credentials and high availability settings as part of the build.

How we hand over

  • Deliverables include architecture notes, workflow documentation, configuration records and a runbook for your operations team.
  • We document which Shuffle app runs and workflow execution counts your licensing model will meter, so costs stay predictable.
  • We agree a handover session in the written scope and confirm which artifacts your team owns after the engagement ends.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers, separate from the fixed-scope build.
  • We can keep Shuffle upgraded and backed up on a retainer, with the frequency and coverage set in the written agreement.
  • Ask us to confirm which support tasks your team keeps in-house and which we cover before you sign.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.