What is Dual Run?
Dual Run is a Google Cloud service for validating mainframe migrations. Per the documentation, it lets you run workloads simultaneously on your existing mainframe and on the modernized Google Cloud application to compare their behavior. This enables real-time testing of migrations and gathering data on performance and stability before cutting over to production. The service also supports automation to replay actual, recorded live events from the production mainframe system against the modernized application.
Dual Run distinguishes between two comparison modes. Batch comparison transfers files from the mainframe via FTP/HTTPS or the Mainframe Connector into a Cloud Storage bucket, supports EBCDIC formats and UNLOAD output, and compares them against the modernized application’s outputs, yielding full match, partial match, or missing record results. Per the documentation, this mode is generally available (GA).
Online comparison uses so-called interceptors to capture network traffic between the mainframe and the modernized application in real time, for the HTTP(S) SOAP, HTTP(S) REST, MQ, and TN3270 protocols. A “dualizer” consumes recorded transactions from a queue such as Pub/Sub, sends them to the secondary system, and compares the responses; requests, responses, and results are stored in Cloud Storage, with comparison data additionally streamed to BigQuery. Per the documentation, this mode is in preview under the Pre-GA Offerings Terms.
Dual Run runs on Google Cloud foundational services such as GKE, Cloud Storage, Artifact Registry, BigQuery, Pub/Sub, and Cloud SQL; depending on the comparison mode, it also uses Managed Service for Apache Spark, Workflows, and Cloud Run (batch) or Secret Manager, Cloud Monitoring, and Cloud Trace (online). Per the documentation, data access stays entirely with the customer; Google has no access to the processed data. Access to Dual Run is not self-service. It happens via a demo request or by contacting mainframe@google.com.
Core Features
- Batch comparison (GA): File-based comparison of mainframe and modernized outputs via Managed Service for Apache Spark, with flexible field, tolerance, and filter configuration.
- Online comparison (Preview): Real-time comparison of transactions over HTTP(S), MQ, and TN3270 using interceptor and dualizer components.
- Config Manager: A central interface and Apache Superset-based dashboards for configuring workloads and reviewing comparison results.
- Env Checker: Verifies that all necessary Dual Run components are correctly configured and running.
- Customer data ownership: Per the documentation, Google has no access to the compared data.
Typical Use Cases
Low-risk validation before production cutover
Before the final cutover, the modernized application runs in parallel with the mainframe to detect functional discrepancies early.
Securing batch processing
Daily reports and database logs are compared between the mainframe and modernized application to identify discrepancies in file outputs.
Comparing online transactions in real time
For interactive applications such as bank transactions, live transactions are captured via interceptors and replayed against the modernized system to compare response behavior and performance.
Accelerating the migration timeline
Automated, continuous testing with real production data shortens test cycles compared to manual parallel acceptance testing.
Benefits
- Non-disruptive validation, since production mainframe operations continue during testing.
- Data ownership stays entirely with the customer, per the documentation.
- A unified monitoring dashboard for comparing the legacy and target systems.
- Two comparison modes for different workload types: batch (GA) and online transactions (preview).
Integration with innFactory
As a certified Google Cloud Partner, innFactory supports you in adopting Dual Run: designing the comparison architecture for batch and online workloads, connecting it to your existing mainframe interfaces, and evaluating comparison results to de-risk your migration.
Contact us for advice on your mainframe migration.
Typical Use Cases
Frequently Asked Questions
What is Dual Run?
Dual Run is a Google Cloud service that, per the documentation, lets you run workloads simultaneously on your existing mainframe and on Google Cloud and compare their behavior. This allows real-time testing of migrations and gathering data on performance and stability before cutting over to production.
How do batch and online comparison work?
In batch comparison, files are transferred from the mainframe via FTP/HTTPS or the Mainframe Connector into a Cloud Storage bucket and compared against the modernized application's outputs; per the documentation, this mode is generally available (GA). In online comparison, so-called interceptors capture network traffic between the mainframe and the modernized application in real time, and a "dualizer" replays recorded transactions via Pub/Sub to the secondary system and compares the responses; per the documentation, this mode is in preview under the Pre-GA Offerings Terms.
How much does Dual Run cost?
No public pricing page was found. Per the documentation, you are billed for the Google Cloud resources used, including GKE, Cloud Storage, Artifact Registry, BigQuery, Pub/Sub, and Cloud SQL, plus Managed Service for Apache Spark where needed. Access to Dual Run happens via a demo request or by contacting mainframe@google.com.
Who has access to the compared data?
Per the documentation, data access stays entirely with the customer; Google has no access to the processed data. Requests and responses are stored in Cloud Storage, and comparison data is also streamed to BigQuery.
Note: All product information on this page has been compiled with care, but is provided without guarantee and may be outdated or incomplete. Cloud services evolve rapidly — features, pricing, SLAs, and availability change frequently. Authoritative and up-to-date information can only be found on the official product page of Google Cloud (official documentation). This page does not represent an offer by Google Cloud.
