1.4 Design and Architecture Considerations

Before you deploy virtualized solutions, you should understand common architectures as well as the benefits, caveats, pros, and cons of virtualization for servers and services.

1.4.1 Challenges of Server Virtualization

  • Server virtualization versus service virtualization

    • Operating system virtualization overhead

    • Disk space used, memory, and CPU

    • Maintenance (install, configure, upgrade)

    • Service virtualization has more dependencies

  • Multiple guests on the same host -- how to do quality of service

  • Hardware monitoring--on which level

    • Hardware monitoring with NCS means a service restart (faster)

    • Hardware monitoring with a virtual machine host means a server restart, with a potentially higher risk of corruption for the virtual machine.

  • Service monitoring--on which level

  • Consolidation--on which level

  • Resource migration--on which level

1.4.2 Cost of Server Virtualization

  • Server virtualization has more overhead than service virtualization because of emulation of server hardware (main board, NIC, and HBA).

  • Server virtualization has up to 80% performance loss when compared to native installation on hardware.

  • When do we realize the performance loss?

    • Only during high load I/O and not during normal work, such as GroupWise maintenance or database work.

    • During backup, restore, and data migration.

    • Whenever we have a high number of small I/O.

    • Because of the virtualization, higher latency and more CPU usage.

1.4.3 Challenges of Service Virtualization

  • Same patch level for all services is required on one host.

  • Dependencies exist between services on the same host.

  • It is impossible to run the same service twice on the same server (isolation).

    • Processes are not designed to run twice on the same server.

    • Running multiple instances can cause networking conflicts (ports).

1.4.4 Cost of Service Virtualization

  • Fewer physical servers and less hardware are required.

  • Less maintenance for the physical server’s OS is required.

  • One service can cause a server or other services to crash.

1.4.5 Fault Tolerance and Scalability

  • NCS is made to monitor hardware and to monitor services.

  • VMware is made to monitor hardware and servers. Doing the same thing on multiple layers results in sub-optimal architecture.

  • Creating multiple cluster nodes on the same virtualization host does not provide the same hardware fault tolerance as having the nodes on separate servers. However, if a guest server fails, you can fail over the resource to another guest server.

  • Creating multiple clusters within a virtualization environment allows you to maximize the use of your hardware, but it does not provide the same hardware fault tolerance as having clusters running on separate servers.

1.4.6 Planning Considerations

  • Performance

    • CPU and memory

    • Networks and storage

  • Fault tolerance

    • No single point of failure outside the hosts

    • Resource fail-over matrixes can help assure that you have provided a fail-over environment for each resource

  • Balancing workload

1.4.7 Full Virtualization versus Paravirtualization

  • Paravirtualization drivers for NIC and SCSI

  • Manageability

  • vMotion or virtual machine migration between hosts

  • Virtual disks versus raw disk mappings

  • PCI pass-through

1.4.8 Comparing Architectures

  • 20 services need to run on 4 physical servers

    • Advantages and disadvantages of these solutions

    • Installation, configuration, and change management

  • Just NCS hosting 20 resources

    • Does not have the overhead of a hardware virtualization layer

    • Has hardware and service dependencies

  • Just a hypervisor hosting 20 virtual servers

    • Maintenance overhead

    • Virtualization overhead

  • Hypervisor hosting 4 servers with NCS that has 20 resources

    • Advantages of both the NCS solution and hypervisor solution

The benefits of using both virtualization and NCS include:

  • Combines server and service virtualization in an intelligent way.

  • Balances the number of servers with the number of services.

  • Uses the same rules as NCS on physical environments.

  • NCS allows you to run fewer virtual servers to provide the same services and allows daytime maintenance.