The values and procedures to be followed while designing VMware vSphere
Designing VMware vSphere is really challenging; to avoid any bottleneck, we need to learn and understand how it is really done by experienced architects and VMware itself. In the following section, we will discuss the values and procedures that need to be followed while designing VMware vSphere.
As you are aware, inputs for each design have to come from the PPP framework in order to achieve the desired success, including decision-influencing factors. This helps us to satisfy the functional requirements and performance benchmarks.
Start your design by focusing on the business drivers, and not the product features. The products could be the best in the world, but no good for your use case irrespective of any conditions. For example, if you have been asked to design your VMware vSphere-based Hadoop clusters, the driving factors for your design decision would not include fault tolerance. However, for a business-critical application, fault tolerance will be vital and, if that business-critical application needs more than one CPU, then we would not be able to use VMware vSphere Fault Tolerance to continue its uptime. On the design document, the feature looks good, but it doesn't work in the real infrastructure. The following diagram illustrates values of virtualization and its subcomponents:
As we make decisions that will form a VMware vSphere design, one value to be considered most is readiness.
Readiness is all about integrating different components together: uptime and system reliability, downtime, redundancy, and resiliency. In a nutshell, a mechanism that avoids crashes and maintains performance.
Values should have a close relationship with each other. With regard to the PPP framework of design, the value of readiness typically has the greatest effect on product decisions.
In some cases, the functional requirements explicitly call for readiness; for example, a functional and performance requirement may demand that the vSphere design must provide 99 percent readiness to meet any demand. In this case, readiness is explicitly noted by the requirement gathering and therefore must be incorporated into the design.
In some other cases, the functional requirements may not explicitly state readiness demands at 99 percent. In these cases, the designer should include an appropriate level of availability as per the projected target state.
To accommodate both cases in the design document, always come up with an assumption section. An assumption section can offer justification for the vSphere designer's decisions within the broader business framework of functional performance requirements, design consideration, and constraints. When readiness isn't explicitly stated, the designer can provide an assumption that the infrastructure will be made as ready as possible within the cost limitations of the statement of work.
Performance is often called for in the performance requirements, and it can affect decisions in the product and people phases. For the product phase, it can affect all manner of design decisions, starting from the type of the server's hardware to the kind of network storage devices planned. With regard to the performance demand, it's mostly seen as a Service Level Agreement (SLA) that expresses performance metrics, such as response times per request, transactions per second in the network, and the capacity to handle the maximum number of users.
If there is no performance requirement explicitly defined, the designer of a vSphere infrastructure should consider performance as a key component for its design decisions.
The KA key stage is to review and agree the performance metrics and make sure they have been documented on a
low-level design, as well as ensuring that the specified components are validated against the gathered requirements. The key components that need to be considered and validated are as follows:
- For hardware or CPU, the designer should consider options such as Hardware Assisted Computing Virtualization, Hardware Assisted I/O Memory Managed units Virtualization and Hardware Assisted Memory Managed units Virtualization.
- For Network adapters, the designer should consider the following; such as Checksum Offload, TCP Segmentation Offload (TSO), the ability to handle high-memory DMA (that is, 64-bit DMA addresses), the ability to handle multiple Scatter Gather elements per Tx frame, Jumbo frames (JF), and Large Receive Offload (LRO). When using VXLAN, the NICs should support offload of encapsulated packets.
- For memory, the designer should consider factors such as NUMA, paging size, memory overhead, and memory swapping.
- For storage, the designer should consider options such as vSphere Flash Read Cache (vFRC), VMware vStorage APIs for Array Integration (VAAI), LUN Access Methods, virtual disk modes, linked clones, and virtual disk types.
- For network, the designer should consider the following such as Network I/O Control (NetIOC), DirectPath I/O, Single Root I/O Virtualization (SR-IOV), SplitRx Mode, and Virtual Network Interrupt Coalescing.
The designer should consider that the management pane has a key component that should be documented in a design document. Manageability is a key factor that works on support and operations. As a part of the support, managing infrastructure is most essential; hence, manageability is integrated from various factors:
- Reachability from one infrastructure environment to another environment, from one location to another location
- Usability, scalability, and interoperability
- Access, manipulation, scripting, and automating common administrative tasks
- Obtaining statistics from guest operating systems
- Extending the vSphere Client GUI to vCLI
- Monitoring mechanisms to manage server hardware and storage
- Performance monitoring mechanisms and obtaining historical data
Recovery after a disaster is a key design principle that should be considered. With traditional disaster recovery procedures, the IT team have to identify a way for budgets to support the solution and make decisions about exactly which systems will not be sheltered. This process made ease via virtualization and along with a arrival of disaster recovery offerings via private and public clouds. Resiliency services and business continuity services are now ease for administer to manage, in turn makes huge disaster recovery protection for all applications.
To protect critical data and systems, only a few tools are available in the market today, especially to query real-time data replication and failover. It is critical for vSphere designers to understand that these tools are required for the appropriate infrastructure, and it is very important for designers to know exactly which systems and data need to be protected along with the type of protection that they are demanded, defining the metrics become one of the main design essentials for vSphere.
To start with, the first key metric is the Recovery Point Objective (RPO). For any data protection tool, RPO defines how much data could be lost in the recovery procedure. In case a single disk drive in the RAID 5 array undergoes failure, then there is no associated data loss. This is called as RPO of zero. At worst case scenario is that the entire disk in an array undergoes failure. In this situation, if a business demands data restoration from the last good known tape backup, the RPO time for this would be 12 to 24 hours. Essential of defining RPO of VMs is highly demanding, along with an integrating of tools in the design document.
The next serious metric is
Recovery Time Objective (RTO). Used along with RPO, RTO measures the time taken for the entire recovery process up until the time where the end user can reconnect to their applications.
For example, if a production server fails and reaches a state where the server should be reimaged using the same tape backup solution, the RTO could be hours or days. This is will depend on time taken to repair the existing hardware or build the new hardware, followed by installing the host, guest OS and followed by applications deployment time . Hence, integrating this information on your design document is essential.
Once recovery objectives such as RPO and RTO have been finalized, most organization discovers that a traditional tape backup alone is not enough to meet their objective of high availability for many critical applications, Therefore, many organization will implement integration of different solutions such as data replication and application high availability attached with guest OS virtualization.
Security is yet another key principle that has to be incorporated into virtualization design. VMware has its own product for security—VMware vShield Endpoint (VSE). VSE offers endpoint protection by command of magnitude and divests anti-threat agent processing inside VMs that reside on ESXi and safe virtual appliance brought by VMware partners. VSE improves amalgamation ratios, performance, rationalizes antivirus deployment, monitoring for threats, and make sure compliance by logging antivirus and anti-malware activities which are accomplished in the virtual infrastructure.
Virtualization security is a key component of design. While the IT team needs to implements its own security practices and security governance in the phase of virtualization, the clear impact is that security can be really advantageous. Virtualization improves security by assembly it more fluid and context-aware solution. Which means security is more precise to manage, and cost effective to deploy than traditional security software.
Virtualization security empowers datacenter admins with the authority of automation on provision VMs. These VMs are fully wrapped with security policies that follow desktops when users move across from one system to another system.
With the accurate processes and products, virtualization has the authority to make datacenters even more secure; hence they identify the right tools to protect VMware vSphere-based virtualizations.
Assumptions should be an important section in the design document; without the assumption section, the planning phase cannot be driven forward. Factors that need to be considered by designers are the following:
- The existing infrastructure that can be used for the virtualization project
- Application virtualization consolidation and compatibility assessment
- List of firewall rules in place
- Trained VMware-Certified resources to deploy the solution and support it further
- Equipment that will be presented at a certain date
- The organization has satisfactory network bandwidth
- Server hardware that has to be separated between DMZ and internal servers
- Identify suitable best practices associated with a proposed design
- Subordinate a role to the material that needs to be composed
- Stakeholders that will make a decision in the next meeting
- In scope and out of scope that has to be reviewed and agreed on between the project sponsor and project supplier
If you design your capacity in such a way that your business is going to grow by 20 percent yearly, this growth will apply linearly to the ingesting of the available capacity in the datacenter. This can be categorized under assumptions.
Constraints are a key principle that should be considered on design essentials. This section will impose obstacles and limit your design decision; it can be a technical limitation, the actual cost of the project, or the choice of vendors. Here are some examples of factors that limit the design:
- The project has to be finished in a very limited period
- The project requires infrastructure to meet the timeline
- The project budget is very limited
- Skilled resources to execute the design are very limited
- Any vendor support needs for apps, servers, storage, and networks are limited
- Any other factors that are affecting the design decision
If you purchased a SAN 3 years ago for a file server consolidation project, you plan to use it for a virtualization project, and you do not find any information about those devices, this can be categorized under the constraints section and it is really a critical component for the project execution phase.
Risk management is a key principle that is required to be considered while designing VMware vSphere infrastructure. Identifying the risk factor very early will help you to identify and highlight problems hiding inside your virtualization design effort:
- The major risk listed in the virtualization project is whether the project will be delivered on time and on budget
- Availability of technically skilled resources to complete the project on time
- Not enough network bandwidth to handle the initial load
- Isolating the infrastructure form development, pre-production to production
For example, you might be in a situation where the IT Management does not provide the required approval for changing the network core to increase iSCSI traffic. This can be characterized under risks on your design principles.
There are eight values of design as an outcome of design decisions. There are multiple ways to fulfill the functional and performance requirements, but a vSphere designer must evaluate each of the following against these eight values:
- Does the choice positively or negatively impact the readiness of the design?
- What about the design's manageability or performance?
- What about recoverability and security?
- What about risks, constraints, and assumption associated with it?
These principles provide generic guidance and direction on the best way to meet the functional and performance requirements for a particular design.
Before we wrap up this chapter, we will look at a final section on the process of designing VMware vSphere with its essentials.
Procedures to be followed while designing VMware vSphere
Now that we've discussed the PPP framework of design and the value of design, it's time to discuss the procedure of design. In this section, we'll start with how we go about creating a VMware vSphere design. The following procedure illustrates the various processes that are required to be followed while creating a VMware vSphere design:
Discovery is the key, and first stage of your design. This element will help you to get the following questions answered:
- What are the needs of business users?
- Which of the services currently meet those needs?
- How are users performing?
- What industrial or policy-linked restraints might there be?
Before you start building a design you need to build up a blueprint of what the context for that design is. This means lots of end user research, and a close assessment of current infrastructure and policies, ethics, and business needs.
Let's get started with requirement gathering, which is an important part of any IT virtualization project. Understanding what those requirements will bring, is success to virtualization project. Shockingly it's an part that is frequently given far too little courtesy.
Numerous designs start with the greenest list of demands, where some of via verse, for those we need focus and avoid these bottleneck ,by producing a document of requirements. This requirement document will acts as bible for design phase. It will, in turn, provide the following benefits as well:
- A brief functional requirement for design purposes.
- A statement of key objectives—a prime points condition
- A description of the infrastructure in which the virtualization will work
- Information on major design constraints to meet the requirements
The context on the statement of requirements should be stable. Architect should not allow state of changes, which will relatively slow down the phase of design and so forth.
Upon finalization of statement of requirements, make sure the business and respective stakeholders sign up and agrees to it. Technical artifacts expectation should inline to statement of requirements. No deviation should be entrained.
Here are well-known rules that will you help you successfully complete your requirement gathering:
- Never assume what we have is what our client wants for
- Involve the appropriate stakeholder right from beginning
- Review, define and agree the scope of work for the virtualization
- Make sure that the functional, nonfunctional and operational requirements are specific, measurable and realistic
- Create a crystal-clear, detailed requirement document and share it with all the stakeholders to gain their confidence on the virtualization project
- Demonstrate your understanding of the business requirements with all stakeholders (again and again)
Reviewing the existing document
Today, many organizations invest time and effort in building their requirements prior to engaging suppliers and consultants. Organizations implementing VMware vSphere have fully documented their functional requirements. This documentation often has outlines stating the organization objective.
For example, perhaps the enterprise is implementing virtualization as part of a VDI/Shared Desktop virtualization initiative. In that case, some of the functional and performances requirement of the VMware vSphere environment can be a show-stopper. In your VDI project, an initial requirement may be that the vSphere infrastructure should automatically restart VMs in the event of an ESXi host failure. The moment you read the statement, you may want to use vSphere High Availability on your design document in order to meet the given performance requirement. Since you have planned to use VMware vSphere High Availability, implementation of clusters is required. This, in turn means you have to set up redundant management connections that distress the networking and storage design and so forth.
Another case. Let's say an enterprise is migrating to a new datacenter and a team that has compiled the number of applications that have to be migrated. From that documentation, we can better understand the application requirements and identify the functional and performance requirements required to be supported by the virtual infrastructure that is intended to be designed. Possibly, the application dashboard documentation indicates that the IOPS profile is mainly writes instead of reads. This is a key element for designing the storage.
Though reviewing the existing documentation will be helpful, it's unlikely that you'll find all the information required for your design. But it is really worthwhile to spend time in identifying what is already available; it will save your time bridging the gap.
Technical assessment is a critical step between the planning and design of a virtualization project. It has three important modules—infrastructure assessment, business assessment, and operational assessment. The goal of the technical assessment is to inventory current infrastructure and identify virtualization candidates.
The key deliverables of this assessment will be as follows:
- Baseline the list of servers, that are ideal candidates for virtualization
- Baseline performance and utilization, which is very much essential for capacity planning
Data collection does not have the arrangement required for the virtual server farm design. Inventory data may encompass fault values and performance reports may have wrong data, because the monitored server was shut down or not reachable via the network. Moreover, performance reports extracted from servers having disparate configurations cannot be equated unless data is standardized. Indeed, we cannot compare processor utilization reports for servers with different types of processor.
This phase is predominantly interesting when the server landscape whose data is being analyzed contains a number of servers. For each server, many data facts are available, requirements will streamline the metrics that are required to be considered; however, for the designer it is worth considering the following tools for capacity planning and utilization measurements:
- VMware Capacity Planner
- Countless community-supplied health-check scripts
- CiRBA and NetIQ PlateSpin Recon
After you've gathered the information required to determine the design's functional requirements, it's then required to assess the current infrastructure. Assessing the infrastructure fixes a couple of gaps and, to do that, use the gap analysis as per the customer's demand.
Design integration is essential for the successful design of VMware vSphere. Integration of design can happen only if factors such as
data architecture, business architecture,
application architecture, and technology architecture are put together, as illustrated in the following diagram:
To build this type of architecture, it is always recommended to get hold of TOGAF, DMM, UML, BPMN, or any of the Enterprise Architecture frameworks to build the design:
To be specific, with regard to technology architecture, always remember VMware vSphere should have a component model with components such as management layer architecture, network layer architecture, and storage layer architecture. Furthermore, it should integrate further with the cloud and SOA on demand.