Complete Feature Mapping: GCP to Azure¶
Comparative positioning note
This document is written from the perspective of Microsoft Azure, Cloud Scale Analytics, and CSA Loom. Any description of third-party or competing products, services, pricing, or capabilities is derived from publicly available documentation and sources believed accurate at the time of writing, and is provided for general comparison only. We do not claim expertise in, or authority over, any non-Microsoft product or service; the respective vendor's official documentation is the authoritative source for their offerings, which may change over time. Nothing here is intended to disparage any vendor — where a competing product has genuine advantages, we aim to note them honestly. Verify all third-party details against the vendor's current official documentation before making decisions.
The definitive feature-by-feature reference for mapping every GCP analytics and data service to its Microsoft Azure equivalent.
Audience: Platform architects, migration leads, and technical evaluators Last updated: 2026-04-30
Summary¶
This reference maps 55+ GCP services across 8 capability domains to their Azure equivalents. Each mapping includes migration complexity, the CSA-in-a-Box evidence path (where the pattern exists in the repository), and notes on gaps or limitations.
| Metric | Count |
|---|---|
| Total features mapped | 55 |
| Full parity (XS-M effort) | 42 |
| Partial parity (L effort) | 10 |
| Known gaps (XL or roadmap) | 3 |
Migration complexity key¶
| Rating | Description | Typical effort |
|---|---|---|
| XS | Drop-in replacement or native Azure capability | < 1 day |
| S | Minor configuration or adaptation required | 1-3 days |
| M | Moderate development; requires design decisions | 1-3 weeks |
| L | Significant development; architectural changes | 1-3 months |
| XL | Major initiative; phased delivery | 3+ months |
1. Storage¶
| # | GCP service | Description | Azure equivalent | Complexity | CSA-in-a-Box evidence | Notes |
|---|---|---|---|---|---|---|
| 1 | GCS buckets | Object storage with lifecycle policies | ADLS Gen2 containers + OneLake | S | csa_platform/unity_catalog_pattern/onelake_config.yaml | Hierarchical namespace on ADLS replaces flat GCS bucket model |
| 2 | GCS object lifecycle | Automatic tier transition (Standard/Nearline/Coldline/Archive) | ADLS Gen2 lifecycle management (Hot/Cool/Archive) | XS | Azure Storage policy via Bicep | 1:1 mapping of tier transitions |
| 3 | GCS object versioning | Version history for objects | ADLS Gen2 soft delete + versioning | XS | Azure Storage versioning | 1:1 for audit/recovery |
| 4 | GCS retention policy (WORM) | Immutable storage for compliance | ADLS Gen2 immutable storage (time-based) | XS | Azure Storage immutability | 1:1 compliance mapping |
| 5 | GCS signed URLs | Temporary authenticated access to objects | Azure Storage SAS tokens | XS | Azure Storage SAS patterns in Bicep | Direct analog |
| 6 | GCS dual/multi-region | Geo-redundant storage | ADLS Gen2 geo-replication + object replication | S | docs/DR.md, docs/MULTI_REGION.md | For DR and multi-region patterns |
| 7 | BigQuery managed storage | Proprietary Capacitor columnar format | Delta Lake on ADLS Gen2 | M | ADR-0003 docs/adr/0003-delta-lake-over-iceberg-and-parquet.md | Open format; requires export from BigQuery |
| 8 | Bigtable | Wide-column NoSQL (HBase-compatible) | Azure Cosmos DB (Table API) / Azure Data Explorer | M | N/A -- use Azure native | Cosmos DB Table API for HBase compatibility |
| 9 | Cloud Firestore | Document database (serverless) | Azure Cosmos DB (NoSQL API) | M | N/A -- use Azure native | Cosmos DB is the closest analog |
| 10 | Cloud Spanner | Globally distributed relational database | Azure Cosmos DB (PostgreSQL) / Azure SQL Hyperscale | L | N/A -- use Azure native | No exact analog; Cosmos DB PostgreSQL covers most patterns |
| 11 | Memorystore (Redis) | Managed Redis/Memcached | Azure Cache for Redis | XS | N/A -- use Azure native | Direct drop-in replacement |
| 12 | Cloud SQL | Managed MySQL/PostgreSQL/SQL Server | Azure Database for MySQL/PostgreSQL / Azure SQL | XS | N/A -- use Azure native | 1:1 managed database replacement |
2. Compute and warehouse¶
| # | GCP service | Description | Azure equivalent | Complexity | CSA-in-a-Box evidence | Notes |
|---|---|---|---|---|---|---|
| 13 | BigQuery SQL (warehouse) | Serverless SQL analytics | Databricks SQL Warehouses / Fabric Warehouse | M | csa_platform/unity_catalog_pattern/, ADR-0002 | Dialect differences documented in playbook Section 4.3 |
| 14 | BigQuery slots (autoscaling) | Compute unit allocation | Databricks DBUs / Fabric CUs | M | ADR-0010 docs/adr/0010-fabric-strategic-target.md | Slots map to DBUs; edition commitments map to reserved capacity |
| 15 | BigQuery partitioned tables | Date/integer/ingestion-time partitioning | Delta Lake partitioning | S | ADR-0003 | Partition column translates directly |
| 16 | BigQuery clustered tables | Automatic block co-location by column | Delta Lake Z-ordering | S | ADR-0003 | Cluster keys become ZORDER columns in OPTIMIZE |
| 17 | BigQuery materialized views | Auto-refreshing precomputed views | dbt incremental models + Delta Live Tables | M | domains/shared/dbt/dbt_project.yml | DLT for streaming refresh; dbt incremental for batch |
| 18 | BigQuery scheduled queries | Cron-based query execution | dbt jobs + ADF triggers + Databricks Workflows | S | ADR-0001 docs/adr/0001-adf-dbt-over-airflow.md | Simple schedules map to Workflows; cross-system to ADF |
| 19 | BigQuery BI Engine | In-memory acceleration for BI queries | Power BI Direct Lake mode | M | csa_platform/semantic_model/ | Direct Lake eliminates import; equivalent acceleration |
| 20 | BigQuery ML | CREATE MODEL + ML.PREDICT inline SQL | Databricks MLflow + ai_query() | L | csa_platform/ai_integration/model_serving/ | MLflow training notebooks replace CREATE MODEL; ai_query() replaces ML.PREDICT |
| 21 | BigQuery Omni | Cross-cloud query (S3, Azure Storage) | OneLake shortcuts + Lakehouse Federation | M | csa_platform/unity_catalog_pattern/onelake_config.yaml | Covers Azure-side read; true multi-cloud UX not fully matched |
| 22 | BigQuery INFORMATION_SCHEMA | Catalog metadata queries | Databricks information_schema + Unity Catalog system tables | XS | csa_platform/unity_catalog_pattern/ | Direct feature parity |
| 23 | BigQuery authorized views | Secure row-level filtered views | Unity Catalog row filters + fine-grained GRANTs | M | csa_platform/unity_catalog_pattern/unity_catalog/ | Row filters + column masks replace authorized view model |
| 24 | BigQuery table-valued functions | Parameterized SQL functions | dbt macros + Databricks SQL UDFs | M | domains/shared/dbt/macros/ | SQL TVFs map to dbt macros or UDFs |
| 25 | BigQuery stored procedures | Imperative SQL procedures | Databricks SQL UDFs + notebook jobs | M | domains/shared/notebooks/ | Imperative logic moves to notebooks |
| 26 | BigQuery search indexes | Full-text search on tables | Azure AI Search + Databricks Vector Search | M | csa_platform/ai_integration/rag/pipeline.py | AI Search provides richer search capabilities |
| 27 | BigQuery vector search | Embedding similarity search | Databricks Vector Search + Azure AI Search | M | csa_platform/ai_integration/rag/ | Vector search capabilities available in both Databricks and AI Search |
| 28 | BigQuery row-level security | Row-level access policies | Unity Catalog row filters | M | csa_platform/unity_catalog_pattern/unity_catalog/ | Policy functions translate to UC row filter functions |
| 29 | BigQuery column-level security | Policy tags on columns | Unity Catalog column masks + Purview classifications | M | csa_platform/csa_platform/governance/purview/classifications/ | Policy tags map to Purview classifications |
| 30 | BigQuery Analytics Hub | Dataset exchange / sharing | Delta Sharing + Purview data products | L | csa_platform/data_marketplace/ | Outbound via Delta Sharing; inbound via OneLake shortcuts |
| 31 | BigQuery streaming inserts | Real-time row ingestion | Event Hubs + Databricks Structured Streaming | M | ADR-0005 docs/adr/0005-event-hubs-over-kafka.md | Streaming insert becomes Event Hub producer |
| 32 | BigQuery Data Transfer Service | Scheduled data imports | ADF Copy Activity + schedule triggers | S | domains/shared/pipelines/adf/ | ADF supports all DTS source types |
| 33 | Dataproc (managed Spark) | Spark/Hive/Presto on managed VMs | Azure Databricks | M | ADR-0002 docs/adr/0002-databricks-over-oss-spark.md | Photon runtime provides better performance |
| 34 | Dataproc Serverless | Serverless Spark jobs | Databricks Serverless SQL + Jobs | S | ADR-0010 | Job-shaped serverless mapping |
| 35 | Dataproc Presto/Trino | Federated SQL query engine | Databricks SQL (Lakehouse Federation) | M | csa_platform/unity_catalog_pattern/ | Query federation via Lakehouse Federation |
| 36 | Dataproc Flink | Stateful stream processing | Azure Stream Analytics + Databricks Structured Streaming | M | ADR-0005, examples/iot-streaming/stream-analytics/ | ASA for SQL-first; Databricks for code-first |
| 37 | Dataproc Hive metastore | Catalog for Spark tables | Unity Catalog (primary) + external Hive MS | M | csa_platform/unity_catalog_pattern/unity_catalog/ | Bridge via external metastore; target is Unity Catalog |
| 38 | Dataproc autoscaling | Worker node auto-scaling | Databricks cluster autoscaling + serverless | XS | ADR-0002 | Serverless removes tuning burden |
3. ETL and orchestration¶
| # | GCP service | Description | Azure equivalent | Complexity | CSA-in-a-Box evidence | Notes |
|---|---|---|---|---|---|---|
| 39 | Cloud Composer (Airflow) | Managed Apache Airflow | ADF pipelines + Databricks Workflows | M | ADR-0001 docs/adr/0001-adf-dbt-over-airflow.md | GCP operators become ADF activities; Python operators become notebooks |
| 40 | Dataflow (Apache Beam) | Managed Beam runner (batch + streaming) | ADF + Databricks / Stream Analytics | L | domains/shared/pipelines/adf/ | Batch Beam pipelines map to ADF; streaming to ASA or Structured Streaming |
| 41 | Dataform | SQL transformation with dependencies | dbt | S | domains/shared/dbt/ | Very close conceptual mapping; Dataform SQLX to dbt SQL models |
| 42 | Pub/Sub | Managed message queue / event streaming | Event Hubs (Kafka protocol) / Event Grid | M | ADR-0005, docs/guides/event-hubs.md | Event Hubs Kafka endpoint for existing Kafka clients |
| 43 | Cloud Functions | Serverless event-driven compute | Azure Functions | S | csa_platform/functions/ | Direct replacement with same trigger model |
| 44 | Cloud Run | Serverless container execution | Azure Container Apps | S | N/A -- use Azure native | Container Apps provides similar auto-scaling model |
| 45 | Cloud Scheduler | Managed cron service | ADF schedule triggers / Azure Logic Apps | XS | domains/shared/pipelines/adf/ | ADF schedules or Logic Apps for cron-style triggers |
4. Business intelligence¶
| # | GCP service | Description | Azure equivalent | Complexity | CSA-in-a-Box evidence | Notes |
|---|---|---|---|---|---|---|
| 46 | Looker | Enterprise BI + semantic layer (LookML) | Power BI + dbt semantic layer | L | csa_platform/semantic_model/ | LookML views become Power BI tables; measures become DAX; see playbook Section 4.7 |
| 47 | Looker Studio | Self-service dashboards | Power BI Desktop / Service | S | examples/commerce/reports/ | Simpler migration than full Looker |
| 48 | Looker Explores | Ad-hoc data exploration UI | Power BI Explore + Q&A + Copilot | S | csa_platform/semantic_model/ | Copilot adds NL query capability |
| 49 | Looker embedding | Embedded analytics in custom apps | Power BI Embedded / Fabric Embedded | S | portal/react-webapp/src/ | Direct analog; license model differs |
| 50 | Looker Action Hub | Triggered actions from BI events | Data Activator + Event Grid + Power Automate | M | csa_platform/data_activator/ | Actions fire into Azure Functions / Logic Apps |
| 51 | Looker scheduled deliveries | Email/Slack report distribution | Power BI subscriptions + Power Automate | XS | portal/powerapps/ | 1:1 feature mapping |
5. AI and ML¶
| # | GCP service | Description | Azure equivalent | Complexity | CSA-in-a-Box evidence | Notes |
|---|---|---|---|---|---|---|
| 52 | Vertex AI Training | Custom model training | Azure ML / Databricks ML | M | csa_platform/ai_integration/ | Standard ML workflow; SKLearn/PyTorch/TF all supported |
| 53 | Vertex AI AutoML | Automated ML training | Azure AutoML / Databricks AutoML | M | N/A -- use Azure native | Comparable automated ML capabilities |
| 54 | Vertex AI Pipelines | ML pipeline orchestration | Azure ML Pipelines / Databricks Workflows | M | N/A -- use Azure native | Pipeline definitions require rewrite |
| 55 | Vertex AI Endpoints | Model serving (online prediction) | Azure ML Managed Endpoints / Databricks Model Serving | M | csa_platform/ai_integration/model_serving/ | Managed endpoint deployment pattern |
| 56 | Vertex AI Search | Enterprise search with RAG | Azure AI Search | M | csa_platform/ai_integration/rag/ | AI Search provides enterprise RAG |
| 57 | Vertex AI Agents | LLM-powered agents | Azure AI Agents / Copilot Studio | L | N/A -- use Azure AI Foundry | Agent framework is evolving rapidly |
| 58 | Gemini | Google's LLM family | Azure OpenAI (GPT-4o, o3, o4-mini) | M | ADR-0007 docs/adr/0007-azure-openai-over-self-hosted-llm.md | Model capability parity; different API surface |
| 59 | BigQuery ML | Inline SQL ML training + prediction | Databricks MLflow + ai_query() | L | csa_platform/ai_integration/model_serving/ | Loss of CREATE MODEL simplicity; gain of MLflow lifecycle |
| 60 | AI Platform Notebooks | Managed Jupyter notebooks | Databricks Notebooks / Azure ML Notebooks | S | domains/shared/notebooks/ | Direct replacement with richer collaboration |
6. Data governance¶
| # | GCP service | Description | Azure equivalent | Complexity | CSA-in-a-Box evidence | Notes |
|---|---|---|---|---|---|---|
| 61 | Data Catalog | Metadata catalog and search | Microsoft Purview Unified Catalog | M | csa_platform/csa_platform/governance/purview/purview_automation.py | Purview is significantly richer (classifications, lineage, glossary) |
| 62 | Cloud DLP | Sensitive data detection and masking | Purview sensitivity labels + UC column masks | M | csa_platform/csa_platform/governance/purview/classifications/ | Four classification taxonomies shipped (PII, PHI, Gov, Financial) |
| 63 | Cloud IAM | Identity and access management | Entra ID + Azure RBAC + Unity Catalog | M | csa_platform/multi_synapse/rbac_templates/ | See security migration guide for detailed mapping |
| 64 | Service accounts | Non-human identity | Managed Identities (user-assigned) | S | Azure RBAC patterns in Bicep | Managed identities eliminate credential management |
| 65 | Cloud KMS | Key management service | Azure Key Vault | S | Azure Key Vault in Bicep modules | Direct analog with HSM-backed options |
| 66 | VPC Service Controls | Network-level data exfiltration protection | Private Endpoints + NSGs + service firewalls | M | Bicep networking modules | Different model but equivalent protection |
| 67 | Cloud Audit Logs | Admin Activity and Data Access logging | Azure Monitor + diagnostic settings | M | Audit logger (CSA-0016 implementation) | Tamper-evident chain provides stronger AU-family evidence |
| 68 | Organization Policy Service | Org-wide policy constraints | Azure Policy + Management Groups | M | Bicep policy modules | Azure Policy is more granular |
7. Monitoring and operations¶
| # | GCP service | Description | Azure equivalent | Complexity | CSA-in-a-Box evidence | Notes |
|---|---|---|---|---|---|---|
| 69 | Cloud Monitoring | Metrics collection and alerting | Azure Monitor + Metrics | S | N/A -- use Azure native | Broader alerting (email, PagerDuty, Slack, Teams) |
| 70 | Cloud Logging | Centralized log aggregation | Azure Log Analytics | S | N/A -- use Azure native | KQL query language; richer analytics |
| 71 | Cloud Trace | Distributed tracing | Application Insights | S | N/A -- use Azure native | Part of Azure Monitor; OpenTelemetry support |
| 72 | Error Reporting | Application error tracking | Application Insights | XS | N/A -- use Azure native | Included in Application Insights |
| 73 | Security Command Center | Cloud security posture management | Microsoft Defender for Cloud | M | N/A -- use Azure native | Defender covers multi-cloud including GCP |
8. DevOps and CI/CD¶
| # | GCP service | Description | Azure equivalent | Complexity | CSA-in-a-Box evidence | Notes |
|---|---|---|---|---|---|---|
| 74 | Cloud Build | CI/CD build service | GitHub Actions / Azure DevOps Pipelines | S | .github/workflows/deploy.yml | Standard CI/CD; broader ecosystem |
| 75 | Cloud Deploy | Continuous delivery to GKE/Cloud Run | GitHub Actions + Azure DevOps Release | S | .github/workflows/ | Deployment pipeline patterns |
| 76 | Artifact Registry | Container/package registry | Azure Container Registry / GitHub Packages | XS | N/A -- use Azure native | Direct replacement |
| 77 | Cloud Source Repositories | Git hosting | GitHub / Azure Repos | XS | N/A -- use Azure native | GitHub is the standard |
Migration complexity summary¶
| Domain | XS | S | M | L | XL | Total |
|---|---|---|---|---|---|---|
| Storage | 5 | 2 | 3 | 1 | 0 | 11 |
| Compute and warehouse | 2 | 4 | 13 | 3 | 0 | 22 |
| ETL and orchestration | 1 | 3 | 2 | 1 | 0 | 7 |
| Business intelligence | 1 | 3 | 1 | 1 | 0 | 6 |
| AI and ML | 0 | 1 | 5 | 2 | 0 | 8 |
| Data governance | 0 | 2 | 5 | 0 | 0 | 7 |
| Monitoring and operations | 1 | 3 | 1 | 0 | 0 | 5 |
| DevOps and CI/CD | 2 | 2 | 0 | 0 | 0 | 4 |
| Total | 12 | 20 | 30 | 8 | 0 | 70 |
Known gaps¶
| Gap | Description | Mitigation |
|---|---|---|
| BigQuery ML inline simplicity | CREATE MODEL + ML.PREDICT in a SELECT is simpler than MLflow | Databricks AI Functions + ai_query() closes most gaps |
| BigQuery Omni cross-cloud UX | Unified query console across clouds | OneLake shortcuts + Lakehouse Federation covers reads; not fully unified |
| LookML-as-code maturity | LookML version control more mature than Power BI TMDL | Gap narrowing with Power BI Git integration + Tabular Editor |
Last updated: 2026-04-30 Maintainers: CSA-in-a-Box core team Related: Why Azure over GCP | TCO Analysis | Migration Playbook