Does a “Shared Nothing Architecture” make vmware’s vmotion high availability unnecessary?
This month we are in the middle of a data center consolidation and architecture clean up for a new customer that has “gotten by” on vmware free edition, open source distributions of Linux at their Data Center and a few Amazon EC2 instances in the cloud for some time…
When putting together the budget for their technology roadmap, we stopped to reassess what version of vmware we needed to purchase. We are big fans of having vcenter to do hardware alerts, virtual guest and other monitoring natively, so we definitely need a paid license of vmware. We always recommend purchasing an Essentials or Accelerator “kit” which is a bundled package of vcenter server, usually allowing 6 physical CPU’s and 32GB to 96GB per CPU vRam entitlement in vmware vsphere ESXi 5. In our vmware deployments our license (and budget) decision is based on these questions:
1. Does the customer have a Storage Area Network (SAN)? Will they be purchasing one? Does the budget exist for one? Do they need one?
2. Does the customer need vmotion? Will there be a single virtual server that needs high availability (HA) from vmware? Can we do HA via Exchange or SQL server clustering (less expensive than doing it using vmotion and a SAN)?
3. Does the customer need other vmware “enterprise” kit features such as distributed virtual switches and Distributed Resource Scheduler (DRS)?
4. Can the customer make do with a simple, affordable vmware essentials license for 3 or so servers (every 6 physical CPU’s) if only plan to deploy 3 servers each with 2 cpu’s in vmware now?
This link from vmware’s site is a quick reference on the different essential and accelerator kits available -
While our initial instinct was to purchase a vmware Accelerator Enterprise kit (about $20,000), we evaluated how a “shared nothing architecture” will effect the customer’s needs for single virtual guest server high availability. A shared nothing architecture is a system where every server has its own copy of the data and replicates add’s/delete’s/updates/changes to one or more nodes, such as the data nodes in a MySQL cluster.
Facts and observations:
1. The customer does not currently own a Storage Area Network Device (SAN), so even with a high end vmware Accelerator Enterprise kit, their applications can’t survive the failure of a physical server. Without a centralized SAN, applications and databases need to move to a “share nothing” model, where entire copies of the applications and databases are clustered or replicated to mulitple guest servers, each running on different physical vmware hosts.
2. Does the customer need single virtual guest server high availability if their database is going to be running on a MYSQL 7.2 Cluster with each database replicated to multiple data nodes, all with their own online copy of the data?
3. The cost for a decent SAN that can store 5 TB now and 10 TB within 24 months and a vmware Accelerator Enterprise kit license would run about $90,000. This does not include the annual recurring renewal costs for a SAN warranty and vmware software upgrade support fees (about $15,000 per year for both).
4. The customer has legacy Intel based servers, 2 to 4 years old with very basic drives and performance crunches effecting the business. We feel their budget would be best spent on some very very fast servers using high capacity eMLC solid state drives in a raid-5 or raid-10 and Intel E5-2670 processors to increase performance.
Designing the customer’s high availability, we took into account how well database clustering works now with MySQL 7.2, jdbc or ado.net connectors in the applications pointed to 2 different database server targets or a single target comprised of multiple servers in a load balancer pool. Its hard to justify spending dollars to build out the vmware/san model if its not needed to gain high availability.
For most of our customers, vmotion and Storage Area Network sans are really best used in a “shared disk” environment, where a single virtual guest with a single copy of the data “MUST BE ONLINE AT ALL TIMES”. This is common design, where legacy applications can not be easily replicated or ran on clustered database servers, etc.
After careful consideration, we decided to recommend only the vmware Essentials license for the budget ($600) and use the $19,400 or so we saved on a vmware Acclerator Enterprise kit towards some really well built out servers that will make much more of an impact on the customer’s application performance, while providing high availability.
In summary, high availability of applications and databases can be provided by a distributed, shared nothing architecture in software, allowing the failure of one or more cluster member servers without effecting production. This design allows CTO’s, system architects and technology integrators to re-evaluate whether vmware based high availability is required, which can lead to a huge savings in the enterprise!