When Both Ends Are Cloud but Your Data Can't Touch the Internet: Architecting Secure SaaS-to-SaaS Integration with Workato ☁️🔒
A deep dive into architecture patterns, best practices, and implementation strategies for enterprise-grade integration using Workato's On-Prem Agent.
There's a common assumption in the integration world: if your source and target are both SaaS applications, the integration should be straightforward — cloud-to-cloud, no fuss. But what happens when your enterprise cybersecurity policy mandates that no data can traverse the public internet, even between two cloud-native platforms?
This is exactly the scenario I recently worked through with a global manufacturing customer integrating SAP Rise with Reltio MDM — both SaaS, both cloud-hosted, and yet the data path between them needed to stay entirely within a private network backbone. The solution? Workato's On-Prem Agent (OPA) deployed inside the customer's secure Azure VNet, connected via Azure ExpressRoute and Private Link.
In this article, I'll walk you through the use case, the architecture decisions we made, and the best practices that emerged — with the hope that it saves you time and missteps on similar projects.
The Use Case: MDM Integration in a Zero-Trust Enterprise
The Players:
The Constraint: The customer operates under strict cybersecurity policies mandating that all data flows remain within private cloud backbones — no public internet traversal, period. They use Azure ExpressRoute to maintain a private connection between their on-premises infrastructure and Azure, and demand the same level of control for SaaS-to-SaaS data movement.
The Volume: Millions of master data records for the initial load, followed by ongoing real-time change data capture (CDC) for transactional updates.
Why Use an On-Prem Agent When Everything Is SaaS?
This is the question that trips up most architects. The conventional wisdom says: cloud source + cloud target = cloud agent. And in most cases, that's right — it minimises infrastructure overhead and simplifies operations.
But conventional wisdom doesn't account for zero-trust network policies. Here's the decision framework:
Use a Cloud Agent when:
Use an On-Prem Agent (OPA) when:
In our customer's architecture, the OPA sits inside an Azure VNet that connects to SAP Rise via ExpressRoute and to Workato's cloud platform via Azure Private Link. The OPA communicates with Reltio over a private AWS-to-AWS path. At no point does master data leave a private network backbone.
Architecture Pattern: The Secure SaaS-to-SaaS Bridge
Key Architectural principle: The OPA initiates a persistent outbound-only WebSocket (WSS) connection to Workato's cloud over port 443. No inbound firewall ports need to be opened. This is critical for enterprise security teams — the OPA only talks outward, and Workato manages the orchestration queue from its side
Best Practices: Lessons from the Field
1. Right-Size Your OPA Infrastructure — Then Scale Horizontally
Minimum (dev/test): 2 CPUs, 4 GB RAM Production (high volume): 4 CPUs, 8 GB+ RAM per agent
There's no universal sizing calculator because memory consumption depends on recipe design — payload sizes, batch dimensions, in-memory transformations. The rule of thumb: scale out, not up. Deploy multiple OPAs in an Agent Group for high availability and load distribution.
Workato handles load balancing natively on the backend. Workload distributes evenly across all agents in a group, and if one agent fails, others pick up from the cloud queue. No F5, no NGINX, no customer-side load balancer configuration needed — just install multiple agents on separate VMs using the same setup key.
2. Never Join Large Datasets in the Integration Layer
This is the single most common performance anti-pattern I see. Workato processes data in-memory on the agent. Attempting to join two 50,000+ row arrays inside a recipe will consume massive RAM and can cause Out-Of-Memory (OOM) errors.
Instead, push the join down:
Think of Workato as an orchestration and transport layer, not a data processing engine. Heavy transformations belong in the systems designed for them.
3. Design Separate Pipelines for Bulk and Real-Time
Don't try to use the same recipe design for your initial load and your ongoing sync. These are fundamentally different workloads:
Initial/Bulk Load:
Transactional/CDC Load:
4. Lock Down Network Security Without Compromising Function
Enterprise security teams often push back on integration platforms because they fear open ports and uncontrolled egress. Workato's OPA architecture addresses this elegantly:
This gives the security team a tight, auditable perimeter: outbound-only, to known IPs, over private links, with encrypted transport.
Similar Scenarios Where This Pattern Applies
This architecture isn't unique to SAP + Reltio. The same pattern — OPA in a secure VNet bridging two SaaS platforms over a private backbone — applies whenever you encounter:
The pattern generalises: whenever compliance or policy demands private-only data paths between cloud-native systems, the OPA + Private Link architecture is your go-to.
Implementation Strategy: A Phased Approach
For teams embarking on a similar project, here's the phased rollout I recommend:
Phase 1 — Foundation (Weeks 1–3)
Phase 2 — Initial Load (Weeks 4–6)
Phase 3 — Real-Time Sync (Weeks 7–9)
Phase 4 — Hardening (Weeks 10–12)
Key Takeaways
The integration landscape is evolving. SaaS-to-SaaS is the norm, but "everything in the cloud" doesn't mean "everything over the public internet." Understanding when and how to deploy hybrid connectivity patterns — even between two cloud-native systems — is becoming a critical skill for integration architects.
I'd love to hear from others who've tackled similar challenges. What patterns have worked for you? Drop your thoughts in the comments.
#Workato #iPaaS #IntegrationArchitecture #MDM #SAPRise #Reltio #OnPremAgent #PrivateLink #CloudSecurity #EnterpriseIntegration #DataIntegration #BestPractices