# Google Cloud Pub/Sub vs Inngest

Canonical: https://inetgeek.com/compare/google-pubsub-vs-inngest/

Every value below is read from Google Cloud Pub/Sub's and Inngest's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Google Cloud Pub/Sub | Inngest |
| --- | --- | --- |
| Free tier | Yes | Yes |
| Pricing model | Three meters: throughput at $40 per TiB counting both publish and subscribe, storage at $0.27 per GiB-month for anything retained beyond a day, and data transfer when throughput crosses a zone or region boundary. Pub/Sub Lite is a separate product priced on reserved capacity rather than usage. | Per execution, where a step counts the same as a run, plus separate meters for events ingested, span data, scores and realtime connections. The pricing page ships a calculator because the execution count is not the run count. |
| Included per month | 10 GiB of throughput free per billing account per calendar month, then $40 per TiB. Throughput counts bytes written to a topic plus bytes read from a subscription, so a message published once and read once is billed twice. BigQuery and Cloud Storage subscriptions are $50 per TiB and the 10 GiB does not apply to them; import topics run $50 or $80 per TiB by source. | 50,000 executions a month on the free Hobby plan and 1,000,000 on Pro, pay-as-you-go to 20M. An execution is one function run or one step, so a run with two steps counts as three. |
| Maximum message size | Pub/Sub bills on bytes rather than message count; the pricing page states no per-message size ceiling and prices throughput and storage instead. | 4 MiB per step-returned payload; 32 MiB total function run state; 10 MiB hard cap per event batch. |
| Message retention | Retention is configurable and charged rather than granted: $0.27 per GiB-month for messages a topic is configured to retain, for snapshots, and for a subscription's backlog older than one day. A subscription's default retention is 7 days. | Queue depth rather than a time window: 100,000 queued items on the free plan and 1,000,000 or more on Pro. Trace retention is 7 days on Pro and 90 on Enterprise. |
| SOC 2 | Covered under Google Cloud's core SOC 2 Type II reports, issued quarterly for Google Cloud and Google Workspace products generally. | SOC 2 Type II compliant; report available on request via the trust center. |
| HIPAA | Pub/Sub is listed as a Covered Product under Google Cloud's HIPAA Business Associate Agreement. | HIPAA BAAs offered as an add-on for healthcare compliance (Enterprise column of the pricing table). |

## Where they differ

### Pricing model

- Google Cloud Pub/Sub: Three meters: throughput at $40 per TiB counting both publish and subscribe, storage at $0.27 per GiB-month for anything retained beyond a day, and data transfer when throughput crosses a zone or region boundary. Pub/Sub Lite is a separate product priced on reserved capacity rather than usage. ([source](https://cloud.google.com/pubsub/pricing))
- Inngest: Per execution, where a step counts the same as a run, plus separate meters for events ingested, span data, scores and realtime connections. The pricing page ships a calculator because the execution count is not the run count. ([source](https://www.inngest.com/pricing))

### Included per month

- Google Cloud Pub/Sub: 10 GiB of throughput free per billing account per calendar month, then $40 per TiB. Throughput counts bytes written to a topic plus bytes read from a subscription, so a message published once and read once is billed twice. BigQuery and Cloud Storage subscriptions are $50 per TiB and the 10 GiB does not apply to them; import topics run $50 or $80 per TiB by source. ([source](https://cloud.google.com/pubsub/pricing))
- Inngest: 50,000 executions a month on the free Hobby plan and 1,000,000 on Pro, pay-as-you-go to 20M. An execution is one function run or one step, so a run with two steps counts as three. ([source](https://www.inngest.com/pricing))

### Maximum message size

- Google Cloud Pub/Sub: Pub/Sub bills on bytes rather than message count; the pricing page states no per-message size ceiling and prices throughput and storage instead. ([source](https://cloud.google.com/pubsub/pricing))
- Inngest: 4 MiB per step-returned payload; 32 MiB total function run state; 10 MiB hard cap per event batch. ([source](https://www.inngest.com/docs/usage-limits/inngest))

### Message retention

- Google Cloud Pub/Sub: Retention is configurable and charged rather than granted: $0.27 per GiB-month for messages a topic is configured to retain, for snapshots, and for a subscription's backlog older than one day. A subscription's default retention is 7 days. ([source](https://cloud.google.com/pubsub/pricing))
- Inngest: Queue depth rather than a time window: 100,000 queued items on the free plan and 1,000,000 or more on Pro. Trace retention is 7 days on Pro and 90 on Enterprise. ([source](https://www.inngest.com/pricing))

### SOC 2

- Google Cloud Pub/Sub: Covered under Google Cloud's core SOC 2 Type II reports, issued quarterly for Google Cloud and Google Workspace products generally. ([source](https://cloud.google.com/security/compliance/soc-2))
- Inngest: SOC 2 Type II compliant; report available on request via the trust center. ([source](https://www.inngest.com/security))

### HIPAA

- Google Cloud Pub/Sub: Pub/Sub is listed as a Covered Product under Google Cloud's HIPAA Business Associate Agreement. ([source](https://cloud.google.com/security/compliance/hipaa))
- Inngest: HIPAA BAAs offered as an add-on for healthcare compliance (Enterprise column of the pricing table). ([source](https://www.inngest.com/pricing))

## Which should you choose?

Pick Google Cloud Pub/Sub if Google Cloud systems that want messaging without capacity planning — throughput is metered rather than provisioned, and 10 GiB a month costs nothing.

Pick Inngest if Multi-step workflows that need durable execution and retries between steps, rather than a bare queue you write a consumer for.

Consider something else: Google Cloud Pub/Sub — Throughput counts bytes both in and out, so a message read once is billed twice, and retention is a storage charge rather than an included window — the headline $40 per TiB is not the whole bill.

Consider something else: Inngest — Every step is a billable execution, so a three-step workflow costs three times what the run count implies, and the free plan allows five concurrent steps.

## Documented by only one

- Entry paid plan: Inngest: $99/month for Pro, described as a starting price with usage above the included allowance billed on top.
- Regions: Inngest: All customer data hosted on AWS databases located in the United States; no other region offered on the security page.
- Ingest price per GB: Google Cloud Pub/Sub: $40 per TiB, which is $0.039 per GiB, for standard publish and subscribe throughput in every Google Cloud region.
- Maximum delay: Inngest: Step sleeps up to 1 year on paid plans; the free plan supports sleeps up to 7 days.
- Concurrency: Inngest: 5 concurrent steps on the free plan, 100 or more on Pro, custom on Enterprise.
- ISO 27001: Google Cloud Pub/Sub: The Google Cloud Services ISMS holds an accredited ISO/IEC 27001 certification, audited by an independent third party.
- PCI DSS: Google Cloud Pub/Sub: Pub/Sub is listed among the individual Google Cloud products certified against PCI DSS via annual third-party audit.
- Encryption at rest: Inngest: All data in Inngest databases is encrypted at rest and in transit; optional encryption middleware lets you bring your own key.
- Customer-managed keys: Inngest: Bring-your-own-key via SDK encryption middleware that encrypts payloads client-side before they reach Inngest; not a server-side KMS option.
- Role-based access control: Inngest: SAML, RBAC and audit trails listed as Enterprise plan features.

## Questions this comparison answers

**Should I choose Google Cloud Pub/Sub or Inngest?**

Pick Google Cloud Pub/Sub if Google Cloud systems that want messaging without capacity planning — throughput is metered rather than provisioned, and 10 GiB a month costs nothing.
Pick Inngest if Multi-step workflows that need durable execution and retries between steps, rather than a bare queue you write a consumer for.
