Virtualization has been a hot topic in IT in recent years. It’s moved swiftly from desktop to server to applications and now can found in Virtual Desktop Infrastructure. Plus, there’s database virtualization. Let’s take a quick look back to prepare us for looking forward. What does the future hold for database virtualization?
Desktop and Server Virtualization
Virtualization started on the desktop—with VMware Workstation you could easily build multiple test environments without needing to reimage physical systems. From there virtualization grew to the server level. VMware introduced its bare-metal hypervisor as a part of the VMware ESX server line. This, in combination with a new wave of multi-core x64 processors from Intel and AMD, gave server virtualization the performance and scalability needed to handle server consolidation for all types of production workloads. Microsoft was a late comer to the server virtualization market, but the Hyper-V 2.0 virtualization platform that ships with Windows Server 2008 R2 has finally put them in a position comparable with VMware’s.
The next wave in virtualization came at the application level. SoftGrid, which was later acquired by Microsoft and renamed Microsoft Application Virtualization (App-V), pioneered in this space. Application virtualization takes place between the application and the host OS. The application doesn’t directly interact with the system registry. Instead, it works with a copy of that registry and file system. The level of interaction with the physical file system is usually configurable. Application virtualization is primarily intended for desktop applications because it facilitates central management and application deployment. It isn’t intended for server applications such as SQL Server or Exchange Server. Nowadays there are two basic types of virtualized applications: one that uses an agent on the host system like Microsoft’s App-V and one that rolls the virtualization support into the executable and runs with no agent like VMware ThinApp. In case you were wondering, yes, you can combine either desktop or server virtualization with application virtualization.
Virtual Desktop Infrastructure
The latest evolution in virtualization is virtual desktop infrastructure (VDI). Here desktop systems use the Remote Desktop Protocol (RDP) or another remote display protocol to connect to a virtual machine (VM) running the appropriate desktop OS on a backend Hyper-V or ESX server. Typically a connection broker sits between the client systems and the backend virtualization server directing the client requests to the correct VM. VDI provides centralized desktop management but also has high infrastructure requirements.
As you can see from this whirlwind tour, virtualization is gaining momentum, and the train’s unstoppable.
ISVs continue to find ways to change and adapt virtualization to different scenarios. The future of database virtualization was a big topic of conversation at the 2009 PASS Summit. Today, database virtualization is done (if it’s done at all) at the server level. However, the real future in database virtualization might well be in virtualizing the database itself. In this scenario, the server might or might not be virtualized. Instead the virtualization would take place at the database level; the database could be moved between different SQL Server instances in response to changing workloads. As the database is moved the other database server elements such as server properties, logins, permissions, files, and log could be moved right along with the database. When virtualization takes place at the database level and not at the server level, the databases would be transparently moved between servers with no downtime for the applications and end users. The potential advantages of this situation include more granular control over the workload that is carried by each server as well as more control over the response time that is delivered by the applications using each database. Under conditions of low utilization individual databases or groups of databases could be moved to servers with lower capacities, and under higher workloads databases could be moved to servers with higher capacities. The virtualization itself might be managed by SQL Server using something like the Resource Governor that we see today.
Whether this type of database virtualization will come to pass is anyone’s guess, but it’s certainly within the realm of possibility. In any event, clearly virtualization technology is not only here to stay it’s also growing in new directions, and it’s enabling more efficient operations as well as providing a foundation for the dynamic datacenter—even for applications like SQL Server, which not so long ago many people believed couldn’t be virtualized.
Do you have any thoughts on virtualization and SQL Server? Are you looking forward to database virtualization? Drop me a line at firstname.lastname@example.org.