Direct naar content

Vendor Lock-in Databases and Cloud Platforms: Mechanisms, Consequences, and Approaches

Vendor lock-in in databases and cloud platforms can lead to high costs, limited flexibility, and strategic dependency. This page discusses how hidden mechanisms—from licensing terms and proprietary APIs to data egress fees—lock organizations in, and it provides practical strategies, such as open-source solutions and a multi-cloud approach, to mitigate this risk and regain control over the IT environment.

Vendor Lock-in bij databases en cloud.

What is Vendor lock-in?

Vendor lock-in refers to the situation in which an organization becomes so dependent on a specific vendor that switching to an alternative becomes extremely difficult or costly. In the context of databases and cloud platforms, this can lead to unwanted dependencies, higher long-term costs, and a loss of flexibility.

This report examines the various ways in which vendor lock-in occurs in databases and cloud platforms. Special attention is given to less obvious or hidden lock-in mechanisms, such as licensing terms, proprietary APIs, managed database services with limited migration options, and encryption techniques that hinder migration. We further discuss the consequences of vendor lock-in—financial, operational, and strategic—how companies can prevent lock-in when choosing solutions, and how an organization that is already “stuck” can extricate itself.

Concrete examples of lock-in by major cloud providers (AWS, Azure, Google Cloud) and proprietary databases (Microsoft SQL Server, Oracle) are provided, as well as alternative strategies (open source and multi-cloud) to foster independence.

Read this report offline?

Would you like to read this report offline at your leisure or save it as a reference? Download the PDF version here.

Laat hier je mailadres achter en dan mailen wij je de downloadlink voor dit onderzoeksartikel in PDF

"*" indicates required fields

What is Vendor Lock-in in Databases and Cloud?

Vendor lock-in in databases and cloud means that a customer is effectively locked in with one vendor because switching is too painful or expensive. It involves a dependency on specific products or services from a vendor, whereby changing vendors requires significant adjustments in technology, costs, or both. In the cloud context, this means that an organization cannot easily move its data or applications to another cloud without encountering obstacles such as high switching costs, legal restrictions, or technical incompatibilities. In other words, the required adjustments (for example, redesigning applications, converting data, or rewriting integrations) raise the barrier so high that the customer is “stuck” with the original vendor.

Vendor lock-in, herkennen en onzichtbare vormenIn the case of databases, vendor lock-in can mean that a company is dependent on a proprietary database solution (e.g., Oracle or MS SQL Server) and that migrating to another database system is very complex due to unique SQL extensions, data formats, or integrated functions. Cloud providers often design their platform services in such a way that they are not interchangeable with those of a competitor, making applications that rely on those specific services difficult to run elsewhere.

The lack of standardization between cloud providers hinders the portability of applications and data. For instance, storage, APIs, and configurations in AWS do not match one-to-one with those in Azure or Google Cloud, so an application built for one platform will not work on another without significant modifications. This is the core of the lock-in problem: the customer loses the freedom to choose and becomes vulnerable to changes by the vendor.

Hidden Forms of Vendor Lock-in

Vendor lock-in is not always immediately apparent. In addition to the well-known dependency on technology, there can be subtler mechanisms that unconsciously lock an organization into a vendor. Below, we discuss some less obvious or hidden forms of lock-in:

Licensing Terms and Contractual Lock-in

Licensing and contractual terms can create a subtle form of lock-in. Some vendors use complex licensing policies to keep customers locked in. For example, Microsoft has implemented licensing terms for its software (Windows, Office, SQL Server, etc.) that discourage or make it more expensive to use that software on competing clouds. Recently, Google complained that Microsoft’s “complex web of licensing restrictions” prevents customers from choosing another provider during a cloud migration, ultimately locking them into the Azure ecosystem. Concretely, this means that a company with significant investments in Microsoft software may face restrictions or additional costs if it wants to move those workloads to, say, AWS or Google Cloud.

Cindy Beernink in haar element bij OptimaDataOracle is known for its contractual lock-in: Oracle’s contracts contain provisions that make reducing consumption barely worthwhile. For instance, an Oracle customer who drastically reduces its database usage (e.g., from 1000 to 100 licenses) may find that the annual support costs do not decrease proportionally – Oracle “reprices” the remaining licenses, so the customer ends up paying nearly the same amount. In other words, even if an organization uses fewer Oracle products, Oracle can, through contractual tricks, ensure that the bill remains almost unchanged, removing the incentive to leave. Such hidden clauses buried deep within contracts or license agreements ensure that customers are effectively locked in.

Furthermore, some vendors use audits and compliance pressure as a lock-in instrument. Oracle, for example, has a reputation for using software audits to push customers who are unwilling to agree to new contracts toward their own cloud. Oracle sees its cloud platform as the “ultimate lock-in tool”: when Oracle controls the contracts, hardware, software, and data, a customer can hardly leave. This illustrates how licensing terms and contracts are strategically used to bind customers.

Proprietary APIs and Services

Another form of lock-in lies in the use of proprietary APIs, data formats, or features that are available only from that one vendor. Cloud providers often offer unique services or APIs that provide a lot of convenience and functionality, but which are not standard elsewhere. When developers build their applications tightly around these vendor-specific APIs, a dependency arises: the code is written against the interfaces of that specific cloud provider. If one later wishes to switch, those integrations must be rewritten for the new environment—a time-consuming and error-prone operation.

For instance, every major cloud vendor has its own services (e.g., storage, messaging, databases) with unique APIs and semantics that are not directly compatible with alternatives. AWS, for example, offers services like DynamoDB (a NoSQL database with its own API) or proprietary functions in AWS Lambda and other serverless services. Applications that heavily utilize DynamoDB’s specific API calls, or AWS’s own infrastructure templates (CloudFormation), will require significant rework when migrating to Azure or Google Cloud because the equivalent services have different interfaces and parameters. This lack of interoperability makes moving very expensive or complex.

Database software can also include proprietary extensions that cause lock-in. For example, Microsoft SQL Server uses T-SQL and integrations (such as .NET integration, SSIS/SSAS) that do not work on other databases. If stored procedures and triggers have been written in SQL Server-specific dialects, then switching to an open-source database like PostgreSQL requires extensive reworking. Thus, commercial databases like Oracle and MS SQL often limit companies to their own ecosystem, making switching a challenge. The software is deliberately designed so that “it’s easy to get in, but hard to leave”—a conscious design principle of many vendors.

Limited Migration Options in Database-as-a-Service (DBaaS)

Managed database services in the cloud (Database-as-a-Service) offer convenience—the provider takes care of patches, backups, etc.—but they can also bring hidden lock-in. Because the provider fully manages the service, the customer sometimes has limited access to the underlying systems or data export capabilities. Migrating a large cloud database to another environment is particularly difficult when the data must first be extracted from the managed service and then reformatted for the new environment. Moving databases once set up is very difficult—especially if it involves migrating to a completely different platform where the data must be converted.

An example is Amazon Aurora (AWS’s managed database, which is compatible with MySQL/PostgreSQL but includes its own optimizations): although it is compatible, a dump or snapshot cannot always be loaded elsewhere 1:1 without performance loss or adjustments for functional differences.

Another example is Google Cloud Spanner, a unique global database: outside of Google, no equivalent product exists with the same characteristics, so migrating means essentially redesigning for an entirely different database system, which is highly complex.

Likewise, Azure’s Cosmos DB (a multi-model database) has features and APIs (for SQL, MongoDB, Cassandra, etc.) that are fully available only in Azure; migrating such a service would require setting up multiple separate systems to achieve the same functionality.

Additionally, cloud providers may impose limitations on export tools or data formats. Some DBaaS solutions offer only proprietary backup formats that cannot be directly ingested by other systems, or there may be limits on how much data can be extracted from the service at one time. All of this hinders rapid migration. The result is that companies often must expend enormous effort to extract, transform, and load data from a cloud database into a new environment—during which time the old environment often must remain operational to avoid service disruption. The complexity of this process often leads organizations to postpone or abandon migration, thus effectively cementing the lock-in.

Encryption and Key Management by the Provider

Bescherm Je Database Tegen Cybercrime | OptimaDataData encryption is essential for security, but the manner in which encryption is implemented can inadvertently create lock-in. Many cloud providers offer cloud-native encryption services (such as AWS KMS, Azure Key Vault, Google Cloud KMS) where the keys are managed by the provider. If an organization fully trusts the vendor’s key management solution, it can become a barrier during migration. The reason is that data encrypted with keys managed by the cloud provider can often be easily decrypted only within that cloud. When the encrypted data is moved to another environment, the keys are needed to access it. If the provider does not allow the export of key material (or if it is contractually or technically difficult), the organization is stuck: the data becomes unusable outside that environment without re-encryption.

For example, if a company has stored all its data in AWS S3 with server-side encryption managed by AWS KMS, then during migration or multi-cloud usage, the data must be decrypted in AWS or the key materials must be transferred. However, many cloud providers do not allow the primary keys from their HSMs to be copied elsewhere due to security reasons. This means the organization must first decrypt (or re-encrypt with its own key) all the data within the original cloud before it can be safely transferred—a potentially gigantic operation for large datasets.

The use of cloud-native encryption and key management poses an obstacle to multi-cloud adoption. When the keys are managed by the provider and you lack direct control, it introduces risks and limits the data owners’ freedom to switch environments.

A best practice to counter this is Bring Your Own Key (BYOK) or managing your own key system, so that the organization always has access to the keys and can decrypt data outside the original cloud. Companies that overlook this risk may unknowingly find themselves in a situation where their encrypted data is effectively held hostage within the vendor’s environment.

Hidden Costs Such as Data Egress

Cloudprestaties versus -kosten. Hoe haal je de meeste waarde uit je investeringen?Cloud providers often use a “low entry” model where it is cheap or free to upload data, but withdrawing data can be expensive. These egress fees (charges for outbound data traffic) are a well-known, albeit sometimes underestimated, lock-in mechanism. Uploading data to the cloud is usually free, and even data transferred within the same region or between services of the same provider is often low cost or free. However, once data moves from the cloud to an external location or a different region, the provider typically charges a significant fee. This pricing model can impose high costs on companies that need to migrate large volumes of data or maintain a multi-cloud setup.

What makes this cost insidious is that it is not always apparent at first or does not seem high until the volume of data exchange increases. Organizations sometimes realize too late that a service architecture that moves data between clouds causes the bill to skyrocket. An internal document leaked from AWS showed how large these costs can become: Apple paid $50 million in data egress fees in one year, Pinterest over $20 million, and Netflix and Airbnb each over $15 million. These companies spend hundreds of millions annually on cloud services, so $15 million in egress might seem “negligible” in the overall picture. But for most organizations, such an amount would be a nasty surprise.

The reality is that once an enormous amount of data has accumulated in one cloud platform (“data gravity”), the costs to move it elsewhere become enormous—practically creating a financial lock-in.

Such a hidden cost can influence the decision to switch vendors: even if another cloud or solution is technically better or cheaper, the price tag for moving the data may be so high that, from a business perspective, it becomes unfeasible. It is rarely possible to buy out egress fees, and providers know that this encourages customers to leave the data where it is. It is important to recognize this mechanism as part of vendor lock-in.

How Lock-in Can Occur Unnoticed

Vendor lock-in often develops gradually and can ensnare companies without them realizing it. Initially, organizations typically weigh the immediate benefits and costs of a solution, but not always the long-term effects or the difficulty of later migration. Several factors contribute to lock-in without being immediately apparent:

Focus on Short-Term Functionality:

Companies often choose a cloud or database solution based on immediate needs—scalability, features, time-to-market. Cloud providers entice with integrated services that are very quick to deploy. For example, a development team might eagerly use a managed database, messaging queue, or AI service from a cloud platform to quickly deliver a project. Only later do they realize that this choice has tightly interwoven the project with that specific cloud, making migration complex. In the rush to innovate, portability is not always considered in the design.

Lack of an Exit Strategy:

Many organizations enter into a relationship with a vendor without establishing an exit plan in advance. They might sign a multi-year contract for a database platform or SaaS application without a clear scenario for how the data and functions could be relocated if needed. Once the service is running and becomes critical, the difficulty of undoing the dependencies becomes apparent.

Bundled Licensing and Discounts:

Vendors can encourage lock-in by offering attractive bundles and discounts that later discourage departure. For example, Microsoft offers hybrid benefits (such as the Azure Hybrid Benefit) where customers receive discounts if they use their existing Windows/SQL licenses in Azure. This appears advantageous, but it makes switching to another cloud less attractive since the discount would be lost. Similarly, combinations of software (e.g., Office 365 integrated with Azure AD) can become so interwoven in an organization that they are seen as one package.

Underestimating Hidden Costs:

As mentioned, factors like data egress fees or escalating licensing obligations may only become apparent over time. Companies that move data between clouds or from cloud to on-premises sometimes “forget” to account for these costs and are unpleasantly surprised. Because these costs only appear on the bill, the lock-in is effectively in place before it is recognized; organizations hesitate to change an architecture due to the financial consequences.

Vendor-Induced Habits:

De gang naar de cloud is onomkeerbaar. Een blik op cloudkosten, besparingen en databases met OptimaDataOnce embedded in a vendor’s ecosystem, teams become accustomed to the specific tools and services. Developers may specialize in AWS-specific services or Azure-specific technologies. This knowledge lock-in makes alternatives less likely to be considered. Organizations “grow into” the lock-in without an explicit decision: new projects are automatically deployed with the same cloud vendor because it is the path of least resistance (familiar tools, familiar environment), thereby increasing the dependency.

In summary, lock-in often does not occur due to a deliberate choice to commit, but rather through a series of small decisions and overlooked considerations. Only when a company contemplates change—for example, to save costs or alter strategy—does it become clear how deeply tied it is to one vendor. A common saying in the industry is that cloud lock-in is a risk easily overlooked in the excitement of cloud adoption. Recognizing this risk from the start allows organizations to make more conscious choices that do not later hinder migration.

Consequences of Vendor Lock-in

When an organization experiences vendor lock-in, it can have diverse consequences on financial, operational, and strategic levels. Here we discuss the main impacts:

Financial Consequences:

Database Performance TuningLock-in can severely weaken a customer’s negotiating position, potentially resulting in higher costs. Because the vendor knows that the customer has few alternatives without incurring significant effort, they may raise prices or withdraw discounts. Cloudflare notes that a vendor can implement significant price increases if they know customers are locked in, relying on the assumption that they cannot easily leave.

A practical example is Oracle, which effectively maintains its support prices even with reduced license usage, resulting in a higher per-unit cost when the customer attempts to downscale. Additionally, a cloud provider may gradually reduce service discounts or let free credits expire, leaving the customer with a much higher bill while the switching barrier remains high.

There is also financial risk from unforeseen costs, such as the aforementioned egress fees or the expenses associated with dual-running (operating an old and new environment in parallel) if migration is attempted.

Furthermore, customers locked in often lose the ability to benchmark prices or obtain competitive offers. Since switching is practically ruled out, they are forced to accept the current vendor’s prices and conditions, potentially leading to a significantly higher Total Cost of Ownership (TCO) over the years compared to a competitive market.

Operational Consequences:

Operationally, lock-in can lead to reduced flexibility and an increased risk profile. The organization becomes highly dependent on the reliability and quality of a single vendor. If service quality declines or the vendor experiences outages, the customer is trapped and cannot quickly switch. A cloud outage at the provider results in immediate downtime for customers whose systems run entirely on that cloud. For instance, a major AWS outage in 2021 left services for countless companies—from Adobe to New York City’s subway system—crippled. A company with no alternative region or provider at hand could do little but wait for AWS to resolve the issue.

Moreover, lock-in can mean that a company is slower to adopt new technological possibilities. If a competing provider offers an innovative service that is better or more cost-effective, a “locked-in” organization cannot easily take advantage of it. Example: a certain VM configuration was more expensive on Google Cloud ($0.25/hour) than a comparable one on AWS ($0.204/hour), but a customer stuck on Google cannot simply exploit that price advantage. Thus, lock-in limits operational optimization: opportunities to improve performance or reduce costs via alternative vendors are missed.

Internally, it can also impact operations—for instance, through personnel specializing in one technology, reducing the diversity of knowledge, and increasing vulnerability if something changes. In short, the agility of the IT organization decreases.

Strategic Consequences:

On a strategic level, vendor lock-in can restrict an organization’s autonomy and long-term vision. A company tied to a single vendor essentially relinquishes control over a core aspect of its operations (IT infrastructure and data). This makes the organization vulnerable to strategic changes by the vendor: if the vendor decides to modify or phase out certain products, it has an immediate impact. For example, a cloud provider might decide to sunset (terminate) or change a service that the customer relies on, forcing the customer to make adjustments on short notice. Although the major hyperscalers (AWS, Azure, GCP) are unlikely to go bankrupt, it is not inconceivable that smaller specialized cloud providers might disappear. Even among large players, services may be discontinued or APIs altered, leaving a locked-in customer with no easy escape.

Edco WalletStrategically, the loss of bargaining power and freedom of choice is also detrimental. The organization may find it difficult to adjust its IT strategy—for instance, to adopt a multi-cloud approach or to comply with new privacy regulations by relocating data to a specific region/provider—if it is completely tied into the current setup. In extreme cases, a vendor may exploit the situation: Cloudflare’s overview mentions a scenario where a vendor, realizing the customer has no alternative, drastically raises prices. This not only affects finances but also strategic objectives—for example, digital transformation may be delayed because budgets are diverted to expensive legacy contracts, or expansion into new markets may be hindered if the provider lacks data centers there and migration is too complex.

Additionally, lock-in with a single cloud can conflict with compliance or risk-spreading strategies—regulators and best practices increasingly advise against a “single point of failure,” even on the vendor side. A company that hosts all its critical systems with one provider faces greater strategic risk than one that can switch between multiple vendors.

In summary, vendor lock-in leaves an organization vulnerable: financially (through higher costs and sunk cost effects), operationally (with reduced flexibility and increased dependency on the vendor’s performance), and strategically (through loss of choice and innovation opportunities). “Handing over mission-critical technology to an external vendor requires a great deal of trust” – and if that trust is betrayed or circumstances change, a locked-in organization finds itself backed into a corner.

Examples of Vendor Lock-in by Major Cloud Platforms

Below we discuss concrete examples of how the three largest public cloud platforms—Amazon Web Services, Microsoft Azure, and Google Cloud Platform—can cause or maintain vendor lock-in.

Amazon Web Services (AWS)

Data Egress and Ecosystem:

Logo Amazon Web Services - AWSAWS is known for its extensive ecosystem of services. A frequently cited lock-in aspect at AWS is the cost of data egress. As mentioned earlier, AWS charges high fees for data leaving its platform, which financially discourages customers from moving large amounts of data elsewhere. Major AWS customers like Apple, Netflix, and others collectively incur tens of millions of dollars per year in data outbound costs, clearly demonstrating that moving data out of AWS is an expensive proposition. This acts as a cost barrier to switching: a company with petabytes of data stored in S3 will think twice before moving it due to the direct egress costs.

Proprietary Services:

AWS also offers unique proprietary services that can lock in customers. For example, AWS DynamoDB, a NoSQL database-as-a-service with its own API and query model, ties companies to AWS as long as they use this database—there is no exact equivalent outside of AWS. Switching would require rethinking the database architecture, migrating data to an alternative (such as Cassandra or MongoDB), and rewriting all data access layers in the code. Similarly, AWS Lambda (serverless functions) is popular, but applications that heavily rely on Lambda and related AWS services (Step Functions, EventBridge, etc.) are strongly AWS-specific. To migrate these to, for instance, Azure Functions or Google Cloud Functions, one must recode the integration logic and triggers and account for differences in functionality. In short, the more AWS-specific building blocks one uses—think Aurora (AWS’s own database variant), Redshift (data warehouse), SQS/SNS (messaging), etc.—the more work is required to switch to another cloud. AWS makes it easy to get started (all services work seamlessly together in one console), but this integrated environment has to be rebuilt elsewhere during migration.

Example: A concrete scenario of AWS lock-in occurred around Amazon S3 (Simple Storage Service). S3 has its own API for object storage which became the de facto standard. Ironically, this is both a lock-in and later a standard: initially, applications using S3 were bound to AWS, but now some other storage solutions have implemented S3-compatible APIs to facilitate migration. Nonetheless, most S3 data remains physically stored at AWS, and due to egress costs and the sheer scale, it is difficult for customers to host it elsewhere.

AWS itself is aware of lock-in concerns and, for example, emphasizes that they support Bring Your Own License (BYOL) and run open-source tools (such as Kubernetes) effectively on AWS. This is meant to lower the barrier. Yet, in practice, a company deeply embedded in AWS (with dozens of services and millions of GBs of data) experiences significant lock-in, mainly due to the integrated nature of the environment and the high cost of moving out.

Microsoft Azure

Microsoft’s Licensing Ecosystem:

Azure benefits from Microsoft’s broader enterprise presence, which is partly where some of the lock-in originates. Many organizations have traditionally run on Microsoft products (Windows Server, Active Directory, SQL Server, Office 365, Dynamics ERP/CRM, etc.). Microsoft has smartly integrated these products with Azure, creating a holistic ecosystem. For example, Azure Active Directory is often the identity provider for Office 365; companies using that find it attractive to also use Azure for other workloads because of the integrated identity and security. This is convenient, but if one were to switch to another cloud, an alternative for AD integration or a complex federation setup would suddenly be necessary.

Additionally—as mentioned earlier—Microsoft uses licensing terms to make Azure more attractive and to disadvantage competitors. Customers with large on-premises licensing portfolios (Windows, SQL) face restrictions or extra costs if they want to use those in AWS/GCP, while Microsoft offers them favorable conditions in Azure (e.g., the Azure Hybrid Benefit provides up to 40% savings when you use your existing Windows/SQL licenses in Azure). This price difference through licensing is a form of lock-in: it creates a financial disadvantage for moving outside Azure. Google, for example, has accused Microsoft of using these licensing constructions to hinder multicloud deployments.

Proprietary Azure Services:

Like AWS, Azure also has unique services. Azure CosmosDB is a multi-model database available only as a PaaS in Azure. A company that intensively uses CosmosDB (for example, for global data distribution with SLAs) would have to replicate this functionality with multiple products (such as a combination of MongoDB/Cassandra for a document or key-value store, plus additional layers for global distribution) if it were to leave for another cloud—a complicated operation. Azure SQL Database (the cloud variant of SQL Server) enables migration to and from SQL Server itself (since it uses the same engine), but many companies also use Azure-specific services around Azure SQL, such as Azure Functions, Logic Apps, or Power BI integrations. This combination makes the overall solution less portable.

Example:

Microsoft’s lock-in can sometimes be subtle. Consider the integration of the Power Platform/Power BI with Azure data services: organizations that build their business logic in PowerApps and Power Automate using Azure SQL or Azure Storage in the background create a stack that leans heavily on Microsoft. If they later decide to switch, for instance, to AWS, they would have to rebuild those low-code apps on AWS equivalents or custom solutions—something few organizations plan for.

Azure further distinguishes itself with in-depth enterprise contracts. Many large companies have an Enterprise Agreement (EA) with Microsoft that covers licenses, Azure credits, support, and often Office 365 as well. Such bundling can strengthen the lock-in effect: while the customer may get a good overall price, unbundling (for example, keeping Office 365 but canceling Azure in favor of AWS) can lead to a loss of volume discounts. Strategically, a company then weighs whether it wants to break that synergy.

Google Cloud Platform (GCP)

Innovation Versus Standardization:

Google Cloud exhibits somewhat different lock-in dynamics. Google positions itself as a proponent of open source (having initiated, among others, Kubernetes) to alleviate lock-in concerns, yet it also offers unique services. A prime example is Google BigQuery, a serverless data warehouse. BigQuery has its own SQL variant and storage architecture that is extremely scalable. Companies using BigQuery enjoy fast analytics, but if they ever wish to move to another platform, they must export enormous amounts of data and adjust their analytical workloads (SQL queries, procedures) to the target system. The cost to extract petabytes of data from BigQuery and host it on another data warehouse solution (such as Snowflake on a different cloud, or Redshift on AWS) is very high—both in terms of egress fees and the effort required to make queries compatible. This makes BigQuery, in practice, a sticky product; companies prefer not to undertake such a migration project.

Unique Services:

Another example is Google Cloud Spanner, Google’s proprietary globally distributed relational database with strongly consistent transactions. Cloud Spanner is technologically unique; outside of Google, there is no equivalent managed service (only open-source lookalikes like CockroachDB that companies would have to set up themselves). If a company relies on Spanner for its global transactions, migrating to another environment is almost tantamount to reinventing the wheel or significantly sacrificing database capabilities. This represents a fairly direct lock-in: choosing Spanner essentially implies a long-term commitment to Google Cloud, unless the company is willing to build an entirely new database infrastructure.

Price Example: On the VM front, Google often offers different hardware (for example, its own TPUs for AI or special instance types). A case in point is that a certain VM type on Google Cloud was about 20% more expensive than an equivalent one on AWS. A customer running exclusively on GCP cannot exploit this price difference—they are forced to pay the higher price, which is a cost disadvantage compared to multi-cloud users who could cherry-pick the cheapest comparable service. This illustrates that lock-in at GCP, as elsewhere, can mean potentially leaving money on the table because you are not free to choose the best/cheapest service from multiple providers.

App Engine History: For illustration, in the early years of GCP, Google App Engine (GAE) was a PaaS that allowed developers to deploy applications without managing infrastructure, but with very specific APIs (for datastore, memcache, etc.). GAE was long seen as a lock-in risk: code written for App Engine’s services had to be rewritten if one wished to run outside of GAE. Google partly mitigated this by later supporting standard environments (e.g., standard Python/Java runtime without custom APIs) and by encouraging Kubernetes as an alternative. Yet, the example shows that even Google’s early cloud offering could firmly lock in customers if they chose convenience at the expense of portability.

Google tries to address customer concerns with open-source-based services (e.g., GKE for Kubernetes, which makes moving workloads to another Kubernetes cluster relatively easy) and multi-cloud tooling (Anthos, a management layer for multi-cloud Kubernetes). This strategy is partly driven by the awareness that customers fear lock-in and prefer flexible solutions. Still, those who heavily invest in specific Google Cloud services (BigQuery, Spanner, Cloud ML APIs, etc.) face a considerable effort to replicate them elsewhere. In practice, such organizations often remain with Google unless compelling reasons force a migration.

Examples of Vendor Lock-in in Proprietary Databases

Here we examine two classic examples of database software known for vendor lock-in: Oracle Database and Microsoft SQL Server.

Oracle Database

Oracle is notorious for its lock-in effects in enterprise IT. Many large companies run (or have run) their critical systems on Oracle databases and applications. Oracle’s lock-in manifests in several ways:

Application and Technology Ecosystem:

Over the years, Oracle has acquired many enterprise applications (PeopleSoft, Siebel, Hyperion, JD Edwards, etc.) and typically positions them to run best—or exclusively—on Oracle’s own database. Even if an Oracle application could technically run on another database platform, the licensing terms often stipulate that an Oracle Database license is required as a backend. This means that customers using, for example, an Oracle ERP package (such as E-Business Suite or PeopleSoft) are virtually forced to use Oracle’s database as well. The application thereby serves as a lock-in lever for the database. If an organization wishes to phase out Oracle Database, it must also replace or migrate the associated applications—a massive undertaking that goes far beyond merely migrating the database. Consequently, many companies continue using Oracle Database not because the database itself is irreplaceable, but because their application landscape is intertwined with it.

Contractual Obligations and Pricing Policy:

As discussed earlier, Oracle locks in customers through contracts. A notable example is the repricing mechanism: if a customer reduces the number of licenses, Oracle may raise the price of the remaining licenses so that the total bill remains unchanged. This discourages departure; you end up paying almost as much for less product, plus you incur migration costs—an unattractive trade-off for many companies, prompting them to remain with Oracle. Furthermore, Oracle is known for increasing its annual maintenance and support fees and rarely reducing them voluntarily. Customers who have used Oracle for decades experience ever-rising maintenance fees, regardless of whether the software is outdated. The alternative—canceling support—is risky, so they continue paying. Oracle’s highly profitable support model (reportedly around a 94% margin on support) is enabled by the fact that customers are locked in and have few choices.

Audit Pressure and Cloud Lock:

Oracle uses software audits (via Oracle LMS) as a means to force extra licenses or cloud subscriptions. If an audit reveals that a customer is not 100% license-compliant (which can happen easily in Oracle’s complex licensing models), Oracle often pushes for a settlement that involves purchasing Oracle Cloud credits or services. Oracle has openly stated that it considers its cloud as the ultimate lock-in: if they can move customers to Oracle Cloud (for instance, through attractive bundles or pressure during contract renewals), then they control not only the software but also the infrastructure, making departure even more difficult. A well-known example is the case of the city of Denver, where Oracle, following an audit, forced the city into a cloud purchase that it had not planned.

Migration Complexity:

Although Oracle is a SQL database like others, over the years it has accumulated many unique extensions, PL/SQL code in applications, specific data types, and tuning mechanisms that complicate migration. Organizations with thousands of stored procedures in Oracle face a major rewriting effort when migrating to, for example, PostgreSQL or SQL Server. This is not unique to Oracle, but in Oracle’s case the burden is often heavier because the systems have been in use for a long time and are deeply integrated.

Consequence:

Oracle customers often need a multi-year plan to break free. As one consultant remarked, “Oracle is very difficult to migrate away from; I work with several clients on 3-5 year plans to completely eliminate Oracle.” This illustrates how strong the lock-in is—it takes years of strategic effort and perseverance. Many companies therefore do not even attempt it. On the other hand, recent trends show that new companies are choosing Oracle less frequently, and existing organizations are looking at open-source alternatives (PostgreSQL, MariaDB) for new applications. However, their legacy Oracle environments often persist unless there is a compelling business case for migration. Oracle’s strong lock-in is thus a combination of technical, contractual, and commercial leverage that it has acquired over its customers.

Microsoft SQL Server

Microsoft SQL Server (MSSQL) is widely used, particularly in Windows environments. Although Microsoft SQL is not as expensive as Oracle and Microsoft generally follows a different approach, there are still lock-in aspects:

Dependence on Windows/.NET:

Traditionally, SQL Server ran only on Windows Server (it is now also available on Linux, but a large part of the install base remains on Windows). Companies running a complete Microsoft stack (applications built in .NET, authentication via Active Directory, reporting with SQL Server Reporting Services, etc.) have an integrated environment. The barrier to switching to an open-source database is not only migrating the data, but also adapting applications (e.g., changing ADO.NET connection strings, transaction handling, rewriting stored procedures in T-SQL). This integration makes MSSQL part of a suite of Microsoft technologies. Migrating to something like PostgreSQL often means redesigning or at least testing applications for compatibility (e.g., rewriting T-SQL to PL/pgSQL). Microsoft relied on this integration to keep customers within its ecosystem: with everything needed available from Microsoft—from development tools (Visual Studio) to the database—there was little reason to look externally.

Licensing Costs and Editions:

SQL Server is commercial and license-bound (per core licensing, often combined with Windows licenses). Although Microsoft has become more flexible (e.g., SQL Server licenses can under certain conditions be transferred to Azure and even other clouds), the lock-in lies in the cost dynamics: many organizations have invested in licenses and CALs, etc. That money becomes a sunk cost. While technically possible, switching to an open-source database means those expensive SQL licenses remain unused, which deters some companies; they want to continue capitalizing on that investment. Microsoft also offers Software Assurance programs and bundles that include SQL Server, encouraging customers to stay within the Microsoft family.

Feature lock-in:

SQL Server has specific features such as SQL Server Integration Services (SSIS), SQL Server Analysis Services (SSAS), and Reporting Services (SSRS) that companies use in their data warehouse and integration processes. If an organization heavily relies on SSIS for data integration between systems, switching to another database is not enough—it also requires finding an alternative ETL solution and migrating all SSIS packages. The same applies if one uses SQL Server-specific features such as CLR (custom .NET code in the database) or its advanced security/role model. These features are not available one-to-one in, say, MySQL or PostgreSQL, so functionality is lost or alternatives must be implemented during migration. This makes the organization less inclined to switch, thereby extending its reliance on SQL Server and renewing licenses.

Cloud Enticement (Azure):

Microsoft holds a unique position in that it sells both the software (SQL Server) and its own cloud (Azure). In recent years, we have seen that Microsoft directs lock-in toward Azure: SQL Server customers are enticed to move to Azure SQL Database or Azure SQL Managed Instance (the PaaS variants). This is, in itself, a migration but within the Microsoft family. Microsoft promises reduced management overhead and good compatibility there. However, once on Azure’s database service, cloud lock-in applies again (as described earlier for Azure). For Microsoft, it is less problematic if someone “leaves SQL Server” as long as they switch to Azure SQL, because they remain a customer within the same ecosystem.

Example:

A mid-sized company aimed to reduce costs by migrating part of its SQL Server databases to an open-source alternative. During analysis, it turned out that many stored procedures were written using Microsoft-specific T-SQL and that there were integrations with a SharePoint system and Excel reports via ODBC. This migration was ultimately abandoned because the reworking of the procedures and reconfiguring all the connections posed too much risk and cost compared to the potential savings. This practical example shows that the deep integration of SQL Server in business processes forms a lock-in: although alternatives exist (PostgreSQL, MariaDB), “getting off” is difficult without disruption.

Thus, the lock-in of Microsoft SQL Server is mainly due to its ecosystem (integration with other MS products) and the technical adaptation costs. A positive note is that SQL Server has a somewhat lower exit barrier than Oracle, partly because Microsoft is investing in cloud compatibility and open-source (SQL Server now runs on Linux, supports containers, etc.). Moreover, good migration tools (e.g., AWS Schema Conversion Tool or Azure Database Migration Service) are now available to help convert SQL Server databases to PostgreSQL.

Microsoft SQL customers therefore have slightly more options to escape compared to classic Oracle customers, but significant investment in migration is still required.

Strategies to Prevent Vendor Lock-in

Open-Source Alternatives and Multi-cloud Strategies

An effective way to avoid or reduce vendor lock-in is to embrace open-source solutions and/or a multi-cloud strategy. Open-source software and open standards often provide more freedom because they are not owned by a single vendor and can be supported by multiple parties. Multi-cloud means deliberately working with more than one cloud provider to spread dependencies. Below we discuss how these approaches help maintain independence.

Open-source databases and standards

Why open-source?

Open-source databases (such as MySQL, PostgreSQL, MariaDB, MongoDB, Cassandra, etc.) are freely available and can be implemented by anyone, whether on-premises or with various cloud providers. Because the source code is open, there are usually multiple vendors or communities that offer support. This promotes vendor competition and gives users more choice. For example, PostgreSQL is an open-source database offered as a managed service by many clouds (AWS RDS, Azure Database for PostgreSQL, Google Cloud SQL) and can also be run on your own hardware or by other service providers. If an organization uses PostgreSQL, it is not locked into one specific provider – it can relatively easily create a dump or replica to move to another environment, since the software works the same everywhere. There are even multiple commercial providers of PostgreSQL services; if one vendor fails, finding an alternative with minimal migration effort is feasible. This inherent openness protects an organization against unexpected licensing changes or policies from a single provider. Open-source licenses guarantee that users can continue to use the software regardless of vendor decisions, preventing a situation where, for example, a vendor suddenly changes the rules and corners the customer.

No Licensing Costs and Broad Support:

Open-source databases typically do not impose licensing fees per core/user. This not only eliminates direct costs but also a whole category of lock-in: there are no license audit risks or contractual penalties that prevent migration. Additionally, open data formats and protocols often lead to better interoperability. For instance, MySQL and PostgreSQL largely adhere to SQL standards. Although each system has its own extensions, core functionalities are interchangeable, and tools exist to migrate data between these systems. Open-source projects also have active communities that share migration scripts, conversion tools, and best practices for migrating from proprietary systems. All of this lowers the barrier to switching to open source and reduces lock-in.

Concrete Alternatives:

PostgreSQLFor companies locked into Oracle or SQL Server, mature open-source alternatives exist: PostgreSQL is frequently mentioned as a substitute for Oracle due to its robust feature set (transactions, procedures, JSON support, etc.), and MariaDB/MySQL can often replace SQL Server depending on needs. For specialized solutions, Oracle RAC (clustering) can be compared to PostgreSQL Patroni or MariaDB Galera clusters; Oracle Data Guard (replication) has open counterparts, such as PostgreSQL streaming replication; Microsoft’s SSAS cubes can partly be replaced by open-source BI solutions in combination with PostgreSQL, etc. It is rarely a one-to-one match, but increasingly open-source stacks achieve 80-90% of the functionality of expensive proprietary systems. Almost everything Oracle does can nowadays also be done by other databases for most use cases—unlike 30 years ago when Oracle was uniquely required. This means that new companies can almost always choose an open or non-Oracle solution without sacrificing much, thereby avoiding future lock-in.

Vendor-Agnostic Services:

Using open-source software does not mean that everything has to be hosted on-premises. All major clouds offer managed open-source databases (such as AWS RDS for MySQL/Postgres/MariaDB, Azure Database for PostgreSQL/MySQL, Google Cloud SQL, and MongoDB Atlas’s multi-cloud service). These services can be used for convenience while still providing the comfort that if the relationship with that cloud ends, the database itself can run elsewhere. For example, if you use AWS RDS for PostgreSQL and for any reason decide to leave AWS, you can create a backup and restore it on a PostgreSQL server on Azure or on-premises. The data and SQL code remain the same; any differences are mainly operational (configuration, extensions) but not in data access. This greatly reduces lock-in compared to an AWS-native database like Aurora or DynamoDB. The same applies to open-source caches (Redis, which can run outside a single cloud) or open message brokers (Kafka vs. a cloud-specific queue). In fact, more and more companies are opting for an “open core” approach—using open technology but sometimes via managed services—to get the best of both worlds: operational relief without being fully dependent on the vendor’s proprietary, closed technology.

Standards and Containerization:

How to run Postgres on Docker part 1In addition to open-source databases, following open standards and containerizing applications is another way to maintain independence. Docker and Kubernetes have become key technologies here. By running applications in containers (including databases if desired), they can be executed on any cloud or on-premises cluster that supports Kubernetes. This prevents cloud-specific dependencies at the VM or PaaS level. Infrastructure as Code tools like Terraform, which support multi-cloud environments, also help avoid using proprietary formats (instead of AWS’s CloudFormation, for example). Equally important is using open data formats (e.g., Parquet, JSON, CSV for data exchange) rather than vendor-specific formats. Keeping data in broadly usable formats and clearly defining your data model so that your data isn’t “held hostage” in one system. For example, instead of keeping all analytics data solely in BigQuery, an organization might also store the raw data in an open format (e.g., as Parquet files in Google Cloud Storage), ensuring it remains readable outside of BigQuery.

Open-source choices can even reduce lock-in for software beyond databases. Consider using Linux containers instead of Windows-only executables, or using open authentication protocols (OAuth, SAML) instead of a proprietary identity solution. All these choices create optionality: the freedom to change vendors when needed.

Multi-cloud and Hybrid Cloud Strategy

Multi-cloud means that an organization uses multiple cloud providers simultaneously for its IT landscape. This can range from distributing different workloads across various clouds (e.g., analytics on Google Cloud, frontend on AWS) to running the same application in parallel on two clouds (for redundancy or cost optimization). A hybrid cloud combines public cloud usage with on-premises or private cloud infrastructure. Both approaches aim to reduce dependency on a single vendor.

How does multi-cloud help against lock-in? The most direct advantage is increased negotiating power: if a company has expertise and deployments on multiple clouds, it can more easily shift workloads. Should one provider raise prices or experience technical issues, critical components can be moved to another provider (or used as leverage in contract negotiations). Moreover, multi-cloud forces an organization to design in a more cloud-neutral way. They are more likely to use general solutions that work in all environments or build an abstraction layer to accommodate implementation differences. This often results in better portability of the software.

Fallback and Risk Reduction:

Multi-cloud can serve as a fallback strategy. For example, a company might primarily run its application on AWS while maintaining a cold or warm standby on Azure. In the event of a major outage or due to political/regulatory reasons to leave AWS, there is already a foothold elsewhere. This reduces the downtime risks associated with vendor issues and makes the organization less vulnerable in a lock-in scenario such as “if AWS goes down, the company goes down.” By testing and becoming familiar with multiple clouds, the door remains open for migration if strategic necessity arises.

Flexibility and Optimal Choice:

A multi-cloud approach can allow an organization to always choose the “best of breed” services from each cloud. For example, one might decide to use Google’s AI service (if it is better suited for a particular purpose), but opt for AWS S3 for storage and Azure Logic Apps for SaaS integration. By not doing everything with one provider, one avoids having to accept suboptimal choices simply because one is locked in. This was previously illustrated with price differences: multi-cloud users could switch to the cheapest comparable service. Of course, it is not trivial to continually optimize in this way, but the option exists, which pressures vendors to remain competitive.

Complexity and Trade-offs:

It must be noted that operating in a multi-cloud environment also introduces complexity. It is not a “silver bullet” against lock-in without cost. One must train personnel on multiple platforms, set up security and network integration between clouds, and possibly accept performance penalties due to distribution. Some companies consciously choose not to adopt multi-cloud because they find that the benefits do not outweigh the complexity (the so-called focus argument). Instead, they mitigate lock-in by having a plan, but not necessarily going multi-cloud from the start. For example, building on one cloud while incorporating portability requirements into the design so that future migration remains feasible.

Many large enterprises now adopt a multi-cloud strategy precisely to avoid putting all their “eggs in one basket.” A survey by Thales indicates that many organizations use multiple CSPs to avoid lock-in. For instance, a company might choose primary cloud A, secondary cloud B for certain workloads, and perhaps some SaaS from third parties, thereby creating a diversified landscape. This spreads risk and power.

Supporting Tools:

CloudNativePG - Support door OptimaDataThere are increasingly more solutions that make multi-cloud easier. Think of Terraform or Pulumi for infrastructure that transcends individual providers, Kubernetes for application orchestration that runs on any cloud, Anthos (by Google) or Azure Arc for managing multi-cloud/Kubernetes clusters, and independent vendors like HashiCorp or Red Hat offering platform-agnostic tools. These resources form a “layer above the clouds,” rendering the underlying cloud less directly visible to the application. A good other example is Cloudflare, which positions as a layer for performance/security on top of all clouds, so that a company is not dependent on the features of any single cloud. This enables companies to switch backend clouds more easily without their customers noticing.

Data Portability and Backups:

A practical part of an anti-lock-in strategy (whether open source or multi-cloud) is always ensuring that you have your own backups and data exports. Keep internal backups of all cloud data so that you always have the option to host the data elsewhere. Even if a cloud offers a service, it can be wise to have an independent data pipeline (e.g., regular exports of database dumps to another location). This ensures that, should you need to migrate quickly (for example, if a cloud goes offline or a dispute arises), the data is available. Moreover, this practice shows an organization how portable its data truly is and whether the format is usable elsewhere—if not, adjustments can be made in time.

Summary

Open-source alternatives offer more technical and contractual freedom (no rigid licenses and better interchangeability), while multi-cloud strategies provide tactical and strategic freedom (spreading dependency and the option to choose among providers). Combining both—using open technology and not being tied to a single infrastructure—is the desired approach for many organizations to minimize future vendor lock-in. Naturally, organizations must find a balance between efficiency and flexibility, but the trend is clear: independence is becoming increasingly important for staying agile in a rapidly evolving IT landscape.

How to Prevent Vendor Lock-in When Choosing Solutions

Prevention is better than cure. Companies selecting new database or cloud solutions can take proactive measures to avoid or limit vendor lock-in. Here are some best practices to consider during the selection process:

Assess Portability in Architectural Design:

When designing systems, ask yourself: “How would we migrate this if needed?” Choose standardized technologies, programming languages, and protocols that are not unique to one vendor whenever possible. For example, if you are considering a serverless architecture, look at options such as Kubernetes/Knative (open) alongside proprietary function services. Use abstraction layers in the software architecture so that switching databases or messaging systems does not require reworking the entire system. By considering lock-in risk as a criterion (alongside costs and features), you avoid making decisions based solely on short-term benefits.

Thorough Evaluation and Proof-of-Concept:

We recommend carefully evaluating cloud services and ideally conducting a proof-of-concept before committing. Test not only whether the service meets functional requirements but also how easily you can extract data and whether the application could run on an alternative platform. Many vendors offer tools for data ingestion, but what about export? Try running a prototype on two platforms to identify potential bottlenecks. This exercise also forces the vendor to demonstrate how open they really are.

Pay Attention to Licensing and Contract Terms:

Ensure that legal and procurement departments are alert to clauses that may reinforce lock-in. For example: How long are you bound? What are the costs for early termination? Are there restrictive conditions regarding data extraction or the use of licenses elsewhere (as seen in some Microsoft contracts)? Ideally, negotiate for flexibility: annual termination rights, exit clauses where the vendor must assist with data migration, or price retention on remaining licenses if you downscale. Although not every vendor will agree, such conditions signal that you are aware of lock-in. Some cloud providers (like AWS) market themselves with pay-as-you-go models without long-term contractual obligations, which is more favorable for avoiding lock-in. Avoid unnecessarily long commitments unless there are substantial benefits.

Ensure Data Portability:

Database support partnerKeep your data as much as possible in your own hands. This means using data formats and databases that you can export and import yourself. Make periodic backups of cloud data to an external storage medium or a secondary location. By standardizing this practice, you become less dependent on the provider’s continuity. Also, set requirements with the vendor—for example, that at the end of a contract, all data is provided in a readable format (some cloud/SaaS vendors offer a “data dump” service upon termination—ensure this is documented). The advice is to model your data “platform-free”: do not store important records solely in a proprietary tool; instead, mirror them to your own database or data warehouse so that you always have access to the raw data.

Limit the Use of Unique APIs Unless Necessary:

Be cautious about directly using vendor-specific APIs in your application code, unless the benefits clearly outweigh the potential loss of flexibility. Sometimes a proprietary service is so useful that few alternatives exist—and that is acceptable—but document these dependencies and investigate whether wrappers or open-source equivalents exist. For example, you can use a “mediator” layer: instead of having all your applications directly call the cloud service’s API, have them call an internal service that you control, which in turn makes the calls (a principle promoted by integration platforms such as DreamFactory). If you ever wish to replace that backend, you only need to adjust the mediator rather than every individual application.

Opt for Open-Source or Multi-vendor Solutions Where Possible:

As discussed, using open-source software provides more options later. For example, if you are choosing a data warehouse, consider a cloud-agnostic product like Snowflake (which runs on multiple clouds) instead of something tied to one cloud. Alternatively, consider open-source Hadoop/Trino infrastructure managed in-house if that is suitable. The key is to consider with every choice: will I be free to run this elsewhere in the future? If not, are you prepared to accept the consequences? Sometimes the answer is yes (for instance, a niche SaaS that you really need), but then it is a conscious trade-off.

Invest in Internal Knowledge and Skillset:

An organization with strong internal IT capabilities and personnel who understand multiple platforms is less likely to fear migration. Vendor lock-in is exacerbated if all expertise resides with the vendor or its partners. By training your team in open standards—and ideally employing staff with experience in various environments (for example, multi-cloud experience)—you make your organization more resilient. Then switching is not seen as an impossible task, because alternatives are already familiar.

Plan an Exit from Day One:

We nemen snel contact met je op.This is a mantra in modern IT governance: when entering a new technology relationship, define an exit strategy. This does not mean you intend to leave quickly, but it forces you to consider the question, “What if we want to leave in three years?” If you do not receive a clear answer from the vendor or your architect, that is a red flag. Document how you would revert the decision in an emergency (technically or commercially). This plan can remain on the shelf as long as everything goes well, but if circumstances change, you have a starting point instead of panicking.

By taking these measures, companies can reduce the chance of being involuntarily locked into a single solution. It comes down to making deliberate choices, keeping alternatives open, and not blindly following the attractive sales pitches of vendors. When your relationship with a vendor is truly equal—because you can leave if necessary—that vendor will treat you as a more respected customer. This not only prevents lock-in but also forces a healthier collaboration.

How an Organization Can Break Out of an Existing Lock-in

Suppose an organization is already in a vendor lock-in situation—for example, years of dependency on Oracle or a single cloud platform. What steps can be taken to loosen this grip? Although challenging, it is certainly not impossible. Here are some strategies to break free:

Analyze the Lock-in Components:

First, clearly map out why you are locked in. Is it due to technical dependencies (e.g., proprietary databases, formats, or code that must be rewritten), contractual obligations (ongoing contracts, expensive licensing models), or operational reasons (the team only knows one system, there is no infrastructure elsewhere)? Often it is a combination. Break down and quantify these aspects. For example: “We are dependent on Oracle because: a) our ERP runs solely on Oracle, b) we have 1000 PL/SQL procedures, c) the contract has 2 years left with high penalties, d) DB admins only know Oracle.” For each, an approach must be determined (migrating or replacing the ERP, converting procedures, waiting out or renegotiating the contract, training/hiring for alternative DB knowledge).

Seek or Create Alternative Solutions:

Similar to an escape plan, you need an alternative technical platform that meets your current requirements. Palisade Compliance states that you must have a replacement solution that satisfies your business requirements. That alternative can be an open-source system, a different vendor, or a combination. The most important factor is that it is convincingly better or cheaper for your goals, otherwise the migration will falter halfway because no one is motivated to switch to something inferior. For example, a company locked into Oracle Database might choose PostgreSQL as an alternative because it saves costs and provides sufficient functionality. Or an organization on AWS using DynamoDB may decide to switch to MongoDB Atlas on a multi-cloud basis because it is more flexible. This is step one: prepare the technical replacement. Sometimes this means running both systems in parallel for a period—the new alongside the old—to prove that it works.

Address Contractual Hindrances:

If unfavorable contracts exist, you must devise a legal and commercial plan. For instance, when does the contract expire? Can you negotiate an earlier termination or a reduction in usage at a lower cost? With some vendors (such as Oracle) you must be very strategic: you might want to reduce usage as much as possible first and then terminate the contracts at natural points to avoid repricing. Developing an “Oracle cost reduction plan” was, for example, necessary to avoid falling into their traps. This often requires specialized knowledge (some companies hire consultants familiar with the vendor’s licensing tricks). The key is not to blindly trust the vendor during this process—their sales team will not help you pay less. Sometimes it pays off to seek alternative support (e.g., third-party support instead of staying with the vendor for maintenance, such as RiminiStreet for Oracle support). This allows you to continue using the product without being locked into the vendor, at least as an interim solution.

Phased Migration with Priorities:

Avoid trying to switch everything in one giant step (unless absolutely necessary, such as when a provider shuts down). Determine which components are relatively easy to migrate and which will yield the most benefit. Start with those to build momentum and achieve results. For example, migrate a few non-critical Oracle databases to PostgreSQL first to gain experience and save costs, while leaving the challenging ERP database for last. Alternatively, launch a new project on the new cloud instead of the old one, so that the footprint of the locked-in environment does not grow further and the new platform can prove itself. This “two-track” approach (keeping the old environment running while gradually phasing it out as new components are built elsewhere) is often the only feasible way in large organizations—a big-bang migration is too risky.

Data Extraction and Conversion:

Begin early by securing your data. Extract copies of all data from the locked-in systems in a neutral format. This may initially serve as backups, but it also provides an opportunity to test the migration process. For databases, create exports/dumps and try loading them into the new system to identify any issues (encoding, schema differences, etc.). For applications, ensure you have reports or exports of the most critical transactional data. This can often be done in parallel with production, building a “dataset” that you can compare post-migration to verify that nothing is lost.

Revise Application Code and Dependencies:

Often the crux of a lock-in situation lies in the application layer (e.g., code using specific database syntax or integrations with vendor-specific APIs). This requires a dedicated effort from development teams to refactor code to become more neutral. Sometimes it helps to introduce an abstraction layer on top of the vendor API in the old environment, which can then be redirected to the new environment. For instance, you could build your own database access layer that currently calls Oracle, and later have that same layer communicate with PostgreSQL. This way, not every component needs to be rewritten—only that layer. Breaking apart monolithic applications that are completely tied to one platform into components that can potentially run elsewhere is also beneficial. To illustrate, suppose you have a large app on AWS that uses SNS/SQS (queuing) and RDS (database). Perhaps you can decouple the queuing to a Kafka cluster that is cloud-agnostic while addressing the database later. This gradually reduces dependency.

Organizational Will and Resources:

Last but not least, commitment from management and teams is required. Breaking vendor lock-in is often more a management and cultural challenge than a purely technical one. It is easy to continue on the same path (“we’ll just write another check, as we do every year”); it takes determination and perseverance to embrace the pain of change. Often a clear motivation is needed: for example, exorbitant costs that are no longer sustainable, a strategic desire for independence, or risks (e.g., end-of-life of a product). Clearly communicate the “why” within the organization to build support. Establish a project team or program responsible for the migration, and provide them with the budget and authority. Palisade referred to fortitude as an essential factor: realize that you can expect resistance from the vendor (they will try to keep you) and that setbacks will occur. However, with a step-by-step plan and early successes, the organization can remain motivated. Many companies have already succeeded in breaking free from lock-in—consider major names that have shed Oracle or moved to multi-cloud—and it is certainly possible.

Seek Help When Needed:

Database supportThere are consulting firms and tools specialized in migrations (e.g., AWS’s Database Migration Service for database conversion, Google’s Database Migration Service, or third parties for Oracle EBS migration). Utilizing these tools can shorten the migration timeline and reduce errors. External advice for license negotiations (e.g., Palisade for Oracle) can also save millions or secure better conditions. Hiring expertise often pays off by enabling a faster and smoother project.

If the above steps are executed carefully, an organization can gradually untangle itself from a vendor’s grip. This is typically a multi-year process, not something that happens overnight. However, each subsystem that is successfully decoupled reduces lock-in and provides immediate benefits: cost savings, improved performance, or simply the peace of mind of no longer being completely dependent. The end result—even if you do not completely leave the old vendor—is often a position in which you can choose rather than be forced. You might continue to use certain services from the old vendor, but then out of choice and with alternatives available. That in itself is a victory.

Conclusion

Vendor lock-in is a real risk in the world of databases and cloud platforms. Without preventive measures, organizations can inadvertently end up in a situation where they are limited by their technology vendors, with all the associated financial, operational, and strategic drawbacks. This report has shown that lock-in takes many forms—from clear technical dependencies to subtle licensing and pricing constructs—and how important it is to recognize these early.

Fortunately, companies are not powerless. By consciously designing with open standards, opting for open-source alternatives, and potentially adopting a multi-cloud strategy, organizations can spread out their dependencies and maintain flexibility. Preventing lock-in begins with the choices made today, with an eye on tomorrow. And for those already locked in: a well-thought-out plan, a phased approach, and strong will can open the door once again. It requires investment and sometimes courage to go against the established order, but the reward is independence and regaining control over one’s own IT environment.

In short, vendor lock-in does not have to be an inevitable fate. With insight, precaution, and action, organizations can shift the balance of power back in their favor and navigate the cloud and database landscape more freely—now and in the future.

Sources:
1. MasterBorn – “What is cloud vendor lock-in?” (explanation of dependency and obstacles when switching) – masterborn.com
2. Cloudflare – “Vendor lock-in and cloud computing” (explanation of the concept and migration difficulties of databases) – cloudflare.com
3. CIO Dive – “Google accuses Microsoft of vendor lock-in” (example of licensing terms binding customers to Azure) – ciodive.com
4. Palisade Compliance – “Moving off Oracle – 3 must-haves” (Oracle lock-in via applications and contracts; repricing on license reduction) – palisadecompliance.com
5. Reddit (r/sysadmin) – discussion “Companies with Vendor Lock-in” (difficulties in migrating away from Oracle, multi-year plans needed) – reddit.com
6. Mactores Blog – “Move to Open Source DB from Oracle or MS SQL” (confirms that migrating from commercial DBs like Oracle/MS SQL is challenging; advantages of open source) – mactores.com
7 AWS Whitepaper – “Unpicking Vendor Lock-in” (emphasizes the importance of no long-term contracts; pay-as-you-go facilitates exit) – docs.aws.amazon.com
8. Thales Blog – “Cloud shared responsibility – keys” (multi-cloud to avoid lock-in; cloud-native encryption complicates multi-cloud) – cpl.thalesgroup.com

Do you want to know more about vendor lock-in and how OptimaData can support you?

Our core values

Thomas Spoelstra

Teamlead en Senior Database Reliability Engineer
Thomas Spoelstra - Teamlead en Senior Database Reliability Engineer
01 05

Interesting blogs

Database blog

Frequently asked questions about vendor lock-in