Database migrations are some of the most dreaded initiatives in IT. Bring up the subject of migrations with any IT executive and one gets a strong visceral reaction. Too many careers have been wrecked by failed migrations. Clearly, conventional techniques using code conversion just don’t work.
Especially when it comes to migrating an enterprise data warehouse, horror stories abound. Failed migrations that collapsed after three years of hard work are quite common. Migration projects that cost over $20 million before they fell apart are the norm. But ask any IT leader off-the-record and you might learn about much costlier disasters.
As enterprises move to the cloud, modernizing on-prem data warehouses to cloud-native technology is a top priority for every IT executive. So, what is an IT leader to do? How can enterprises avoid migration disasters when moving legacy data warehouses to the cloud?
Over the past year, several vendors brought to market the concept of database virtualization. The principle is quite simple. A virtualization platform lets existing applications run natively on the cloud data warehouse. No or only minimal changes of SQL are required. So, how does database virtualization take the sting out of database migrations?
What is database virtualization?
Think of database virtualization as Hypervisor technology for database queries. The database virtualization platform sits between applications and the new destination data warehouse. Like any virtualization technology, it decouples two otherwise tightly bonded components. In this case, database systems and applications are abstracted from each other.
The database virtualization platform translates queries and other database statements in real-time. In effect, database virtualization makes a cloud data warehouse like Azure Synapse behave exactly like a Teradata or Oracle system. This is quite different from data virtualization. Data virtualization implements a new SQL dialect and requires all applications to be rewritten to this dialect first.
Compared to static code conversion, database virtualization is significantly more powerful. It can emulate complex constructs or data types. Even elements for which there is no equivalent in the new destination database can be emulated in real-time.
Applications originally written for one specific database can now run on a different database without having to change SQL. Instead of static code conversion with all its risks and challenges, database virtualization preserves existing applications. Instead of months of rewriting application logic, database virtualization makes the new database instantly interoperable with existing applications.
Virtualization separates migrating to cloud from application modernization
Database migrations typically fail because of an explosive increase in scope while the project is afoot. It starts as a simple mission where making existing applications work with a new database is the goal. However, once it becomes clear how extensive the rewrites will be, the scope of the project often changes.
Stakeholders may view the operation as a unique opportunity to modernize their application. If the application needs significant rewrite, they argue, why not make other important changes too? What started as a supposedly minimally-invasive operation turns now into full on open heart surgery.
In contrast, database virtualization lets applications move as-is. All changes are kept to the absolute minimum. In practice, the extent of changes to applications is around 1%. With cloud data warehouse technology evolving rapidly, we expect the need for even those changes will be further reduced in the future.
Database virtualization changes the above dynamics quite significantly: move first, modernize applications afterward—and only if needed. Once the enterprise is cloud-native, a few select applications may be candidates for modernization. Separating move and modernization is critical to controlling the risk.
Virtualization overcomes the dreaded 80/20-nature of migration
No other IT problem is so often underestimated. We attribute the error in judgement primarily to the fact that it is an incredibly rare operation. Most IT leaders have never planned, nor executed, a major database migration. If they could help it, they made database migrations their successor’s problem.
Once a rewrite project is underway, the initial progress can be exhilarating. Within just a few weeks, the “easy” SQL snippets are converted rapidly. Many just need substituting a few keywords and similarly trivial changes. In true 80/20 fashion, the first 80% take up only very little time and almost no budget. Then comes the last 20%. This is where hard problems are—and disaster strikes.
In contrast, database virtualization does not distinguish levels of perceived difficulty. Instead, progress is made uniformly. This is not to say there are no challenges to tackle. However, compared to code conversion, the effort needed to overcome those is typically an order of magnitude smaller.
Virtualization mitigates risks
Conventional migration is a high-risk undertaking. As we’ve seen, it starts with underestimating the effort needed. The limitations of rewrite-based approaches are impossible to know up front, despite best efforts. Yet, IT leaders are often asked to put their careers on the line in these projects.
Importantly, with rewrite-based approaches, IT is shouldering the responsibility mostly alone. They are tasked to complete the migration, and then the business gets to judge the outcome.
Compare this to database virtualization. From the get-go, applications can be tested side by side. IT signs up business units early on who can test drive their entire function using their existing tools and processes. Database virtualization promises to relieve IT from taking the risk of implementing something the business cannot use once complete.
On top of that, database virtualization comes with one rather obvious mechanism of risk mitigation. Until the old system is decommissioned, the organization can always move back to the old stack. Reverting back requires no special effort since all applications have been preserved in their original functionality.
Replatform IT to the public cloud
Major enterprises are about to replatform their IT to public cloud. However, so far only a fraction of on-prem systems and processes have been moved. The specter of database migrations is holding enterprises back as all critical workloads are tightly connected to database systems.
Database virtualization is therefore a powerful paradigm for IT leaders who are considering a database migration. While still a young discipline, database virtualization has proven its mettle with notable Global 2000 clients already. So far, its proof points are limited to enterprise data warehousing. However, little imagination is required to see how this technology could apply to operational databases as well.
Database virtualization should be viewed as a critical weapon in the IT leader’s quiver to attack migration challenges when an efficient way to migrate data to the cloud is called for.
About the Author:
Mike Waas, Founder and CEO, Datometry