Platform dependencies per cloud platform

Modern applications are built from ready-made building blocks of a cloud platform. Every building block is a dependency. Some are easy to replace with an alternative outside the platform. Others are so proprietary that transferring them amounts to rebuilding.

This page is a reference for the inventory behind an exit strategy: which platform-specific services does a solution use, and which of those have a realistic alternative? The tables are not an argument against platform services; they make dependencies visible, so that choosing them is a conscious choice. The assessment per component is indicative. The deeper a component is woven into the architecture, the greater the actual dependency. The tables are a snapshot (July 2026); cloud services change.


Microsoft Azure

ComponentRole in the applicationLayerAlternative outside Azure?
Azure App Serviceruns the web applicationPaaSyes, reasonably (container or VM)
Azure Functionsloose, event-driven codePaaSlimited (bindings are proprietary)
Azure SQL Databaserelational databasePaaSyes (T-SQL is portable)
Cosmos DBNoSQL databasePaaSlimited (only via compatibility APIs)
Azure Blob Storagefile storagePaaSyes (S3-like alternatives)
Azure Service Busmessage queuePaaSlimited
Azure Event Grid / Event Hubsevent distribution and streamingPaaSlimited
Logic Appsno-code workflowsPaaSno
API ManagementAPI gateway, throttling, keysPaaSyes (Kong, NGINX)
Azure Key Vaultsecrets and certificatesPaaSyes (Vault)
Microsoft Entra IDauthentication and authorisationPaaSyes, but invasive
Azure Virtual Networknetwork topologyIaaSyes
Application Gateway / Front Doorload balancing, WAF, TLSIaaSyes
Azure Firewall / NSGsnetwork filteringIaaSyes
Azure Monitor / Application Insightslogging and telemetryPaaSyes
Bicep / ARM templatesinfrastructure definitionno, Azure-specific

The heaviest dependencies typically sit with Cosmos DB, Logic Apps, Entra ID and Bicep/ARM.


Amazon Web Services (AWS)

ComponentRole in the applicationLayerAlternative outside AWS?
Elastic Beanstalk / App Runnerruns the web applicationPaaSyes, reasonably (container or VM)
AWS Lambdaloose, event-driven codePaaSlimited (triggers and integrations are proprietary)
Amazon RDS / Aurorarelational databasePaaSyes (RDS: standard engines; Aurora more limited)
DynamoDBNoSQL databasePaaSno practical equivalent
Amazon S3file storagePaaSyes (the S3 API is the de facto standard)
SQS / SNSmessage queue and pub/subPaaSlimited
EventBridge / Kinesisevent distribution and streamingPaaSlimited (Kafka is an alternative to Kinesis)
Step FunctionsworkflowsPaaSno
API GatewayAPI gateway, throttling, keysPaaSyes (Kong, NGINX)
Secrets Manager / KMSsecrets and keysPaaSyes (Vault)
IAM / Cognitoauthentication and authorisationPaaSyes, but invasive
Amazon VPCnetwork topologyIaaSyes
ALB / CloudFrontload balancing, CDN, TLSIaaSyes
Security Groups / AWS WAFnetwork filteringIaaSyes
CloudWatchlogging and telemetryPaaSyes
CloudFormation / CDKinfrastructure definitionno, AWS-specific

The heaviest dependencies typically sit with DynamoDB, Step Functions, the Lambda integrations and CloudFormation/CDK.


Google Cloud

ComponentRole in the applicationLayerAlternative outside Google Cloud?
Cloud Run / App Engineruns the web applicationPaaSCloud Run: yes (containers); App Engine: limited
Cloud Functionsloose, event-driven codePaaSlimited (triggers are proprietary)
Cloud SQLrelational databasePaaSyes (standard engines)
Firestore / Bigtable / SpannerNoSQL and distributed databasesPaaSno practical equivalent
Cloud Storagefile storagePaaSyes (S3-compatible API)
Pub/Submessages and eventsPaaSlimited (Kafka as an alternative)
WorkflowsworkflowsPaaSno
Apigee / API GatewayAPI gatewayPaaSyes (Kong, NGINX)
Secret Manager / Cloud KMSsecrets and keysPaaSyes (Vault)
Cloud IAM / Identity Platformauthentication and authorisationPaaSyes, but invasive
VPCnetwork topologyIaaSyes
Cloud Load Balancing / Cloud CDNload balancing, CDN, TLSIaaSyes
Cloud Armor / firewall rulesnetwork filteringIaaSyes
Cloud Monitoring / Cloud Logginglogging and telemetryPaaSyes
Deployment Managerinfrastructure definitionno, Google Cloud-specific

The heaviest dependencies typically sit with Firestore/Spanner, Workflows and Deployment Manager.


How to use these tables

  • For the inventory behind an exit strategy: which components are in use and which of those have no realistic alternative? That determines what is needed to continue the service elsewhere.
  • As a design choice: those who deliberately select components with an alternative, within a single platform, build the exit strategy into the architecture. A platform-independent infrastructure definition (for example Terraform) reduces the dependency on platform-specific templates. The underlying services remain platform-bound.
  • When setting up a deposit: a deposit is only complete when, alongside the source code, the infrastructure definitions, the configuration and a description of the platform services used are recorded as well. For solutions with heavy platform bindings, CloudSecure® arranges the continuity of the entire running cloud service.

Exit strategy and digital sovereignty → Cloud escrow or CloudSecure? →