SQL Server consolidation and virtualization - hot topic in the industry
I have no doubt in stating that Virtualization has become hot topic in the industry now a days, that is leading to consolidate your Database platform using available technologies. The main interest in getting this up is that virtualization can lower overall IT costs which is the priority for any Enterprise, but at the same time one should not ignore about managing such a platform with better application performance.
So what is the server consolidation and next question will be any benefit to the production environment?
There will be a benefit to the production environment for the smaller applications, where you can virtualize the server resources that will save space in data center rack/floor space and also those physical servers that are under-utilized can possibly be combined into a single server. So best plan is to deploy a single server (Virtual) to employ virtual environments without sacrificing functionality or performance. Consolidating servers reduces the overall footprint of power consumption within your data center. Also the another sweet word for your Finance department is save cost on the licensing in particular to SQL Server 2005 within the virtualization enviornment as referred for SQL2008 too.
If you have found that set of physical servers are under-utilized say only 15% of the available resources then consolidating those servers into Virtual environment is a best bet without compromising the legendary requriement for those applications. This will enable a centralized administration in having multiple virtual environments running on a single server, it becomes easy to administer, from a single location, environments that use Remote Desktop or System Center Virtual Machine Manager (Introducing System Center Virtual Machine Manager). Recently I have had an advantage for high availability provision within our environment within this setup as it provides a separate disaster recovery and that too with SQL Server 2005, this environment can use any strategy, such as database mirroring, active or passive clustering, replication, and log shipping. I have also setup a standards document within my environmen to setup a Test/Development environment using Virtual Servers concept as they can be easily created, destroyed, and reused for different testing scenarios, say if you have a training based work within your environment then having such a virtual server based is much beneficial.
So the next step is whether to see this virtualization can benefit your organization, you must consider all aspects of the overall environment, including hardware performance, licensing costs, deployment, administration, maintenance, and more. As most applications use an underlying database, I don't say you need to virtualize the SQL Server which is a compelling scenario. Say if you are using VMware then better to refer http://sqlserver-qa.net/blogs/tools/archive/2007/03/27/sql-server-2005-on-vmware.aspx blog as well. Both options (Virtual Server & Vmware) offer organizations and IT professionals greater flexibility and are licensed in a cost effective manner from Microsoft. Consider both options as you move forward with your applications to reap the benefits of the improved flexibility in your development, test and production environments.
Unless it is requird and performed thorough testing I wouldn't recommend to seperate the current SQL Server platform into Virtualization from the physical enviornment. One of the Technet article refers that "Running multiple SQL Server instances in a physical environment isolates each instance at the application level, it is up to each SQL Server instance to isolate system resources, data, and security from the others". Multiple SQL Server installations that each run inside a virtual environment are completely isolated from each other as if each were running on a separate physical server; this provides isolation at the operating system level. Do not forget the disk space and application performance as each virtual machine runs a virtual instance of Windows, each one manages paging to disk, just as physical environments do. So the load on the physical server that uphold these Virtual Servers will need to be resource-ful enought with a type of hardware that will run virtual environments efficiently.
I was referred on MSDN article about licensing with Virtual SQL Server 2005 instances, that are well-suited for medium and low throughput applications, such as training environments. Virtual environments decouple applications and data from the underlying hardware. This enables a virtual machine to be copied from one server to another very easily.
· Licensing Model – Choices are:
· Per Processor – Enables a company to purchase one license for each physical processor that is installed on the server. Multi-core processors are counted as single processors for the purpose of licensing. With the Per Processor licensing model, it does not matter how many users or devices connect to the server. For physical SQL Server 2005 instances, you need one license for each processor. For virtual SQL Server 2005 instances, you need only a single license for each virtual environment because each can access only one virtual processor.
· Server/CAL – Enables a company to purchase one license for an instance of SQL Server, regardless of the number of processors, and one Client Access License (CAL) for each user or device that will connect to the SQL Server instance. This is true for physical and virtual SQL Server 2005 instances.
· SQL Server 2005 Edition – SQL Server 2005 Enterprise Edition has licensing advantages over the Standard and Workgroup editions. If you are using Enterprise Edition and the Per Processor licensing model, licensing all physical processors in the server requires no additional licenses for virtual SQL Server 2005 instances. For example, if your organization uses a server that contains four physical processors with SQL Server 2005 that is licensed for four physical processors, but also uses six virtual machines (each containing one or more instances of SQL Server 2005), you only need four Per Processor licenses. On the other hand, if you are using Standard Edition or Workgroup Edition, in the same scenario you would need six Per Processor virtual licenses as well as the four physical processor licenses, for a total of ten.
· Virtualization – Dictates how instances of SQL Server will be used. Choices are:
· Multi-Instance – Multiple physical instances of SQL Server 2005 are running in a physical environment or multiple virtual instances are running in a virtual environment. Multiple instances within a single environment (either virtual or physical) only need to be licensed the same as if a single instance were running in that environment.
· Virtual – One or more virtual instances of SQL Server are running in a virtual environment.
There is a lot of confusion about licensing the physical server as the SQL Server needs per processor license, in case you have the Virtualized SQL Server platform then ensure to have all available physical processors are licensed, Enterprise Edition does not require additional SQL Server 2005 licenses for virtual machines.
So consider the requirement and need for the applications than can benefit from cost & power within your servers, better to virtualize them and it may not be right solution for a high throughput applications and database applications that must be highly scalable.