Fatskills
Practice. Master. Repeat.
Study Guide: CompTIA Cloud+ CV0-003 Exam: Optimize Cloud Environments
Source: https://www.fatskills.com/cloud-computing/chapter/comptia-cloud-cv0-003-exam-optimize-cloud-environments

CompTIA Cloud+ CV0-003 Exam: Optimize Cloud Environments

By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.

⏱️ ~15 min read

Objective: Given a scenario, optimize cloud environments.
Cloud computing provides many benefits, but a cloud environment that isn’t optimized may come at a heavy cost…literally. Cloud resources and networks that aren’t optimized can result in higher cloud usage costs, unresponsive systems, and frustrated users.
In this guide you will learn about optimizing resources in a cloud environment. This will include optimizing computer, storage, and network resources.

Topics:
- Right-sizing
- Compute and Storage
- Network
- Placement
- Device Drivers and Firmware

1. The concept of right-sizing is to best ensure that your instances are using the proper amount of _____.
2. _____ is a numeric value that represents how much data can be transferred across a network within a specific period of time.
3. Jumbo packets change the size of the network _____.
4. _____ is a data center type in which a vendor provides equipment and space to an organization.

Answers:
1. Resources
2. Bandwidth
3. Payload
4. Colocation

Right-sizing
The concept of right-sizing is to best ensure that your instances are using an ideal amount of resources. For example, if you provision a virtual machine with a massive amount of RAM, but the virtual machine only ever uses a small amount of that RAM, this will result in a higher charge than needed (wasted money). Conversely, if you provision a virtual machine with a small amount of RAM, less than is needed by the virtual machine, applications on the virtual machine may not execute correctly. In both these cases, the size of memory used is not the right or appropriate amount.

Right-sizing is discussed in more detail in the “Scalability” section in “High Availability and Scaling in Cloud Environments” along with the following sections:
- Auto-scaling”
- Horizontal Scaling”
- Vertical Scaling”
- Cloud Bursting”

Compute and Storageguides. For the information pertaining to them, see the following locations:
- Compute
- CPUs: See the “Central Processing Unit (CPU)/Virtual CPU (vCPU)” section in “Compute Sizing for a Deployment.”
- GPUs: See the “Graphics Processing Unit (GPU)” section here.
- Memory:See the “Memory” section here.
- Containers:See the “Containers” section in “Integrate Components into a Cloud Solution”.
- Storage
- Tiers: See the “Tiers” section in “Storage in Cloud Environments.”
- IOPS: See the “Input/Output Operations per Second (IOPS) and Read/Write” section here.
- Deduplication: See the “Deduplication” section in “Storage in Cloud Environments.”
- Compression: See the “Compression” section here.

Network
In any IT infrastructure, the performance of the network is a critical component of ensuring smooth operations. Given the nature of cloud computing, network optimization becomes ever more critical. An organization’s cloud resources are not just accessed through the network but are located in a network that isn’t entirely within the organization’s control.
In this section you will learn about several key components of a cloud network that may be optimized to provide better performance.

Bandwidth
Optimizing network bandwidth is a vast topic. Bandwidth is a numeric value that represents how much data can be transferred across a network within a specific period of time. Typically, this value is given in bits per second (or megabytes per second or gigabits per second).
In cloud computing, the bandwidth may be associated with a virtual private cloud (VPC) or with a specific resource. For example, when you create a relational database in AWS, you choose an instance type that includes a defined bandwidth value, as you can see in the Network Performance (Gbps) column below.

Images
AWS Database Instance Bandwidth

Optimizing bandwidth includes developing a good understanding of your bandwidth requirements as well as employing techniques to maximize available bandwidth. To understand your bandwidth requirements, you make use of monitoring tools and metrics to develop a baseline of the bandwidth your network or resources require. Because the CompTIA Cloud+ certification is vendor neutral and these tools are often vendor specific, details regarding these tools are not covered here. However, you should realize that all cloud vendors provide monitoring tools, and there are third-party tools available as well from the ISV marketplace.
Developing a bandwidth baseline takes time. Metrics are collected over a specific period of time and analyzed to determine how much bandwidth is required for the various IaaS, PaaS, or SaaS applications. As demand grows, the required bandwidth may also increase, so employing monitoring tools and reviewing metrics is an ongoing process.

After you have determined your bandwidth needs, you could just make sure that your cloud network or resource has the necessary bandwidth. However, while this approach might be rightsizing the network in its current form, it isn’t really an optimized network, which means you could be paying for more bandwidth than is really required. There are techniques you can use to reduce the need for bandwidth, including the following:
- Optimize the flow of the traffic:
With this technique you are seeking methods of limiting how much network traffic occurs within your cloud network. For example, if you have a database that is heavily used by a web server, placing these two resources within the same subnet, rather than on separate subnets, will limit the traffic on your overall network.
- Utilize network shaping: By prioritizing network traffic, you can ensure that more important network traffic is not impacted by traffic volume. One method is to use bandwidth throttling, where network access for specific resources is limited.
- Useload balancing: By placing collections of servers on different network segments or subnets, you can use load balancers to spread out the traffic between different networks, limiting the bandwidth usage on any specific network.
- Schedule updates during off-peak hours: Updates often require bandwidth to download the updates from the Internet or internal update servers to the servers in the VPC/VNet. In some cases, especially if you have multiple resources, the amount of bandwidth used can have an impact on network performance. For resources that you are responsible for updating, schedule the updates to occur when network traffic is typically low. You can determine this period by using the metrics that your network monitoring tools have generated.

Network Interface Controllers (NICs)
Physical network interface controllers have a wide range of parameters that can be configured to optimize how the NICs send data across the network. While there are parameters that are common to most NICs, individual vendors will sometimes also have parameters that are specific to those vendors’ NICs. As an example of some common optimization parameters, consider the following:
- Jumbo packets
: These packets change the size of the network payload. Changing the payload size provides better performance in networks that have massive chunks of data being transported.
- Receive buffers: These buffers use memory to store incoming network packets, limiting the chances of dropped packets (which could result in having the packets resent on the network, increasing the load on the network).

While knowing that you can modify NIC settings to improve performance, there are a few things you should consider:
- In some cases, such as jumbo packets, the NICs for all of the devices in the network, including the router, need to be customized. For example, the maximum transmission unit (MTU) value would need to be adjusted.
- monitoring tools and metrics is important to determine the effect of changing these parameters.
- A change in a parameter that is designed to optimize network utilization may adversely affect another component of the network (such as security).
- In a cloud environment, you often don’t have access to NIC parameters because the cloud vendor provides a virtual NIC (or vNIC), not a physical NIC, to your instances. Some vNICs do have optimization parameters, but they may be different from the standard NIC parameters.
For more information about vNICs, see the “Virtual Network Interface Controller (vNIC)” section in “Cloud Networking Solutions.”

Network latency is a measurement of how long it takes for a network packet to travel from the source to the destination. Higher latency values have a major impact on the performance of services, as well as the user experience. There are several components of network latency, including:
- Transmission delay: A delay on the sender’s side before the packet is sent across the network.
- Processing delay: A delay on the receiver’s side. When the packet arrives, before it is sent to the system, it needs to be processed (checked for errors, determine the destination port, and so on).
- Queuing delay: After processing, the packet is sent to a queue until the system is ready to use the packet. A large queue can result in an increase in latency.

Because the cause of latency can be on the sender or receiver side (and any system/router in between the two), reducing network latency can be a daunting task. In cloud computing the most common methods deployed to limit latency include the following:
- Employ Multiprotocol Label Switching (MPLS): 
Using MPLS provides for a more optimized routing method.
- Use a directly connected network: Most cloud vendors provide a directly connected network (at a cost, of course) in which private networks are connected directly to the cloud infrastructure. This dedicated network naturally results in less latency but may also be customized to reduce latency even further.
- Utilize edge computing: See the “Edge Computing” section later in this guide.

Software-Defined Networks (SDNs)
Historically, networks consisted of physical devices (routers, switches, firewalls, and so on) with proprietary software that performed the necessary tasks. The use of proprietary network devices resulted in several limitations that software-defined networking, or SDN, is designed to overcome or mitigate.

The primary purpose of these networking devices is to forward (or not forward, depending on the rules of the device) data packets from one network to another. To perform these tasks, a network administrator needs to manage the devices, often having to use custom proprietary commands run directly on the network device. SDN decouples the network management operations (control plane) from the network forwarding (data plane), which provides several advantages, including:
- Centralized network management: SDN provides the means to use a single system to manage a collection of network devices, rather than having the management coupled with each individual network device.
- Lower costs: SDN offers open and decoupled systems that can operate with third-party software without requiring any high-cost proprietary connectors. APIs and SDKs can be used to develop integration capabilities. SDN devices can be offered as cloud-based services.
- Agility: One of the challenges of legacy network devices is that a change in the network structure resulted in having to modify one or more of the network devices (sometimes by manually logging in to the device and executing a command). SDN makes these changes easier and, in many cases, automatic.
Additional advantages of SDN include a more holistic approach to managing the network, more granular security, fewer hardware expenditures, and more consistency.

Edge Computing
Consider a scenario in which a software program (the client) gathers some data and then sends the data to a cloud-based resource for processing. After processing, the data is returned to the software program. Depending on the location of the cloud-based resource, this method of processing the data can delay how long it takes for the client to receive the processed results (that is, increasing latency). Edge computing is a method that limits latency in scenarios like this by moving the computing process closer to the client.

CDN
See the “Content Delivery Network (CDN)” here.

Placement
The placement of cloud resources can have a big impact on how optimized your cloud infrastructure is. In this section you will learn about the four components of resource placement: geographical, cluster placement, redundancy, and colocation.

Geographical
The geographic location of your cloud resources is important because resources that are close to your users will result in less latency and a better user experience. This concept was already covered in detail in the following sections:


Cluster Placement
In a cloud environment, a cluster is two or more resources that provide the same functionality. These resources run in parallel, providing several benefits, including the following:
- Redundancy: In the event that one resource becomes unavailable, the other resource or resources can still provide the service to the client.
- High availability: A single resource may become bogged down with client requests. By having a cluster of resources, the service is more available.
- Resilience: Because there are multiple resources, a cluster can be designed to recover in the event of a failure quicker than a single resource.
The resources in a cluster should be placed geographically close to each other (at least within the same zone). Clustered resources normally need to either communicate with each other or communicate with a shared resource (like a database), and keeping the cluster in the same geographic area limits latency. However, to gain the benefit of redundancy, you should not put clusters on the same physical system or network because an outage that affects that system or network might mean the entire cluster becomes unavailable.

Redundancy
Redundancy is the condition that exists when one or more systems can be used to replace a failed system. There are many areas in cloud computing in which redundancy is utilized. For example, think of hardware redundancy, like the RAID devices covered here. Other cloud-based systems that often employ redundancy include databases, web servers, and even entire networks.

Colocation
If your organization decides to deploy a private cloud infrastructure, one challenge that it will face is providing resources in different geographic locations. Larger organizations may have offices with data centers in different parts of the world, but smaller organizations are less likely to have remote data centers readily available.
Colocation is a data center type in which a vendor provides equipment and space to an organization. The data center is often shared with other organizations, reducing the overall cost without having to have the organization pay up front for capital expenses.

Device Drivers and Firmware
Although a large percentage of the CompTIA Cloud+ certification exam focuses on public cloud solutions, some topics are more related to private cloud infrastructures. For example, in a public cloud, customers rarely have any control over the device drivers or firmware that is being utilized by the physical hardware (exceptions can include when customers lease the entire physical system for their use). In a private cloud environment, where the control of the physical systems is in the hands of the organization using the private cloud, device drivers and firmware become more relevant.
This section will provide a short introduction to the concepts of device drivers and firmware. Actual optimization techniques will vary greatly depending on which device drivers (and devices themselves) and firmware are used. The focus of the CompTIA exam is the difference between generic, vendor, and open-source device drivers and firmware.
It is important to first understand the difference between a device driver and firmware. Firmware is software that runs on the device itself in the chip or hardware platform rather than on an operating system. For example, consider firmware on a BIOS in a PC.
A device driver is software that runs on the operating system and enables the operating system to communicate with the device for which the device driver was designed. For example, think of a device driver for a sound card installed in a PC.

Generic
A generic device driver or firmware is software that isn’t written for a specific device, but rather for a class of devices. For example, there are generic device drivers for network cards.
An alternative to generic device drivers and firmware, including why you might use generic software versus vendor software, is explained in the next section.

Vendor
Vendor device drivers and firmware, also known as original equipment manufacturer (OEM) device drivers and firmware, are software programs written by the vendor that manufactures the hardware device. Typically, these software programs are more ideal than generic software because they provide specific features for the hardware and are typically more closely integrated with the functionality of the hardware.

There are a few reasons to consider a generic device driver or firmware over a vendor-provided device driver or firmware:
- It is possible that the vendor may lock or disable a feature on the device that might be unlocked with generic software.
- Vendor software is normally closed source, which means you can’t view the source code. You may consider an open-source generic driver. More detail on open source is provided in the next section.

Open Source
Software developers write code (called source code), which is then converted into the code that is executed by the hardware during a process called compiling. Open-source software is any software in which you are able to view the original source code. Closed-source software is any software in which you can’t see the source code. For example, Linux comes in open-source and closed-source formats. RedHat Linux is an example of a commercial and closed-source OS, whereas SUSE Linux is an open-source OS.

There are some advantages to open-source software, including:
- By being able to see the code, you can be well aware of the actions that the software takes. You are able to discover suspect code that may cause errors or create security concerns.
- In many cases, the organization that created the open-source code grants you the ability to modify the code to suit your needs. Note that this is a license feature and not a requirement of open-source software.

There are some disadvantages to open-source software, including:
- Some open-source software is not supported by a specific organization. Support and documentation are often community-based.
- Open-source software may include components that may not be as fully tested as some paid, closed-source software programs.

Quiz:
1. Which of the following is not considered a method of maximizing bandwidth? A.Optimize the flow of the traffic. B.Utilize network shaping. C.Disable network access during off-peak hours. D.Use load balancing.
2. Network _____ is a measurement of how long it takes for a network packet to travel from the sender to the receiver. A.Bandwidth B.Latency C.Optional throughout
3. Which of the following is used to optimize routing? A.Edge computing B.Direct connect network C.MPLS D.SDN

Answers:
1. Disable network access during off-peak hours
2. Latency
3. MPLS



ADVERTISEMENT