Cloud SaaS
Multi-tenant deployment operated entirely by Varolio, hosted in the EU
Cloud SaaS
Cloud SaaS is Varolio's multi-tenant deployment model. A single environment, operated entirely by Varolio, serves multiple customers; tenants are isolated logically at the application layer and share the same managed infrastructure in Varolio's AWS account.
Cloud SaaS removes operational burden: no cloud account to provision, no networking to configure, no upgrade cycle to schedule. Customers get the same release cadence and operational telemetry that Varolio uses internally.
Region and environment
Cloud SaaS is hosted on AWS in eu-central-1 (Frankfurt) — the platform is EU-resident by default. The production environment has its own VPC, EKS cluster, and secret store, with externally managed services: Supabase (PostgreSQL), Elastic Cloud, Redis, and Temporal Cloud (workflow orchestration). LLM inference runs against Vertex AI's europe-west3 (Frankfurt) endpoint as the primary provider.
Tenancy and isolation
Tenant isolation is enforced at the application layer on every request:
- Database and search queries are filtered by
workspaceId. A query that does not carry a workspace scope is rejected at the API boundary. - Object-storage keys are namespaced per workspace. Cross-tenant key access is not possible because the API never issues a key for a workspace other than the caller's.
- Integration credentials (Microsoft 365, Gmail, WhatsApp, CRM connections) are stored per tenant, encrypted in AWS Secrets Manager, and resolved at runtime for the requesting workspace only.
- Access control is JWT-based with account-, workspace-, and inbox-scoped RBAC. The admin surface runs separately from the user-facing application.
Public surface
| Hostname | Purpose |
|---|---|
app.varolio.io | Main user web application (Studio) |
api.varolio.io | Platform API (engine) |
mcp.varolio.io | MCP server for AI-tool access |
The API edge is fronted by AWS WAF (AWS managed rule groups — IP reputation, common rule set, known bad inputs, SQLi — plus per-IP rate limiting) in front of an internet-facing Application Load Balancer that enforces client-side TLS with an ACM certificate. Traffic then flows to the Istio ingress gateway inside the EKS cluster.
Encryption
| Layer | Cloud SaaS |
|---|---|
| Supabase (PostgreSQL) at rest | AES-256, provider-managed |
| Elasticsearch at rest | AES-256, provider-managed |
| S3 buckets | SSE-S3 (AES-256) |
| Application-layer secrets and integration credentials | AWS Secrets Manager, synced to the cluster via the Secrets Store CSI driver |
| In transit | TLS 1.2+ at every external hop |
Operational ownership
| Area | Owner |
|---|---|
| AWS account, VPC, EKS, data stores | Varolio |
| OS and node patching | Varolio (EKS-managed node groups) |
| Application code and releases | Varolio (GitOps-driven rolling deploys) |
| Database backups | Varolio |
| Secret rotation | Varolio |
| Monitoring, alerting, on-call | Varolio |
| Customer user accounts and roles | Customer |
| Customer SSO configuration | Shared — customer provides IdP (OIDC), Varolio configures |
| Integration credential authorization | Customer (authorizes OAuth scopes / provides credentials) |
AI and embedding providers
LLM calls and embedding generation use the default AI providers documented on the Application Architecture page: Google Vertex AI (Gemini, primary), with Anthropic Claude via Amazon Bedrock as secondary. Customers who need inference to run against their own model deployment should look at BYO Data Store.
Upgrade cadence
Every change to production goes through the same release pipeline: a passing CI suite, peer-reviewed pull-request approval, and GitOps-driven deployment. Deploys are rolling updates — the API tier runs with multiple replicas so customer requests are not interrupted during a deploy, and rollback to the previous revision is available if a regression surfaces.
When to choose a different model
- Choose Dedicated Cloud if you need single-tenant isolation and a choice of region, with Varolio still operating everything.
- Choose BYO Data Store if your content data and search index must live on infrastructure you control.
- Choose Cloud-Prem if the entire platform must run inside a cloud account you own.