Understand Cloud Services and Computing Concepts
- By Craig Zacker
- Skill 1.1: Detail and understand the benefits and considerations of using cloud services
- Skill 1.2: Understand the different types of cloud services available
- Thought experiment
- Thought experiment answer
The cloud is one of the biggest buzzwords ever to emerge from the IT industry, but it is a term that is difficult to define in any but the most general terms. For a simple definition, you can say that the cloud is an Internet-based resource that provides subscribers with various types of IT services on demand. For users, the cloud enables them to run applications, stream video, download music, read email, and perform any number of other tasks, all without having to worry about where the servers are located, what resources they utilize, how much data is involved, and—in most cases—whether the service is operational. Like the electricity or the water in your house, you turn it on, and it is there—most of the time. For IT professionals, however, defining the cloud can be more difficult.
Skills in this chapter:
Detail and understand the benefits and considerations of using cloud services
Understand the different types of cloud services available
Skill 1.1: Detail and understand the benefits and considerations of using cloud services
System administrators, software developers, database administrators, and user-support personnel all see the cloud in a different light and use it for different purposes. Cloud providers, such as Microsoft, Google, and Amazon, typically offer a wide variety of resources and services. They can provide virtualized hardware, such as servers, storage, and networks; software in the form of back-end server and user applications; as well as tools for messaging, content management, collaboration, identity management, analytics, and others. Services are provided on an à la carte basis, with the subscribers only paying for what they use.
Understanding cloud services
Different types of IT professionals understand the cloud in different ways. For a system administrator, the cloud can provide virtual machines that function as servers, in place of or alongside physical servers in the organization’s data center. For software developers, the cloud can provide a variety of preconfigured platforms and development environments for application deployment and testing. For a database administrator, the cloud can provide complex storage architectures and preconfigured database management solutions. Cloud services can then organize the data and use artificial intelligence to develop new uses for it. For user support technicians, the cloud can provide productivity applications and other software, such as Office 365, that are more easily deployed than standalone applications, automatically updated on a regular basis, and accessible on any device platform.
In each of these specializations, cloud services can eliminate the tedious set-up processes that administrators often have to perform before they can get down to work. For example, the process of adding a new physical server to a data center can require many separate tasks, including assessing the hardware needs, selecting a vendor, waiting for delivery, assembling the hardware, and installing and configuring the operating system and applications. These tasks can result in days or weeks wasted before the server is even ready for use. With a cloud provider, the process of adding a new virtual server takes only a matter of minutes. A remote management interface, such as the Windows Azure portal shown in Figure 1-1, enables the subscriber to select the desired virtual hardware resources for the server, and within a few minutes, the new server is running and ready for use.
Figure 1-1 The Create a Virtual Machine interface in the Windows Azure Portal
Advantages of cloud computing
When an organization is building a new IT infrastructure or expanding an existing one, the question of whether to use on-premises resources or subscriber-based cloud services is a critical decision to make these days. Cloud-based services might not be preferable for every computing scenario, but they can provide many advantages over on-premises data centers. When designing an IT strategy, a business should consider both the practical needs of the organization, including data security and other business factors, as well as the relative costs of the required services.
Some of the advantages that cloud computing can provide are discussed in the following sections.
Cloud services incur regular charges, but the charges are usually based solely on the subscribers’ needs and what they use at a particular time. The monetary savings that result from using cloud services can be significant. Some of the expenses that can be reduced or eliminated by using cloud services include the following:
Hardware The high-end server hardware used by a large enterprise, aside from the standard computer components, can include elaborate storage arrays and other hardware that is an expensive initial outlay before any actual work starts. The fees for equivalent virtualized hardware in the cloud are amortized over the life of project for which it is used.
Upgrades In a large enterprise, servers and other hardware components have a documented life expectancy, after which they must be replaced. Cloud hardware is virtual, so the subscriber is isolated from the maintenance costs of the provider’s physical hardware. Those costs are, of course, factored into the price of the service, but they eliminate another substantial hardware outlay for the subscriber.
Software Software licenses are a significant expense, especially for server-based products. In addition to operating systems and applications, utility software for firewalls, antivirus protection, and backups adds to the expenditure. As with hardware, software furnished on a subscription basis by a cloud provider requires little or no initial outlay. Typically, cloud-based software also includes updates applied by the provider on a regular basis.
Environment Outfitting a large data center often involves much more expenditure than the cost of the computer hardware alone. In addition to the cost of the square footage, a data center typically needs air conditioning and other environmental controls, electricity and power regulation equipment, racks and other mounting hardware, network connectivity equipment, and a physical security infrastructure. Depending on the needs of the organization, these costs can range from significant to astronomical. None of these expenses are required for cloud-based services, although their costs are certainly factored into the fees paid by the subscriber.
Network A data center requires an Internet connection and may also require cross-connections between locations within the data center. The size and functionality of the data center determine how much throughput is required and what technology can best supply it. More speed costs more money, of course. Cloud-based resources eliminate this expense because connectivity is part of the service. Internet access is still required to administer the cloud resources, but the amount of data transferred is relatively small.
Redundancy Depending on the needs of the organization, fault tolerance can take the form of backup power supplies, redundant servers, or even redundant data centers in different cities, which can cause the operational costs to grow exponentially. Typically, cloud providers can provide these various types of fault tolerance at a substantial savings. A contract with a cloud provider can include a service level agreement (SLA) with an uptime availability percentage that insulates the subscriber from the actual fault tolerance mechanisms employed and simply guarantees that the contracted services will suffer no more than a specified amount of downtime. For example, a contract specifying 99 percent uptime (colloquially called a two nines contract) allows for 3.65 days of downtime per year. A 99.9 percent (or three nines) contract allows for 8.76 hours of downtime per year. Contract stipulations go up from there, with the cost rising as the allowed downtime goes down. A 99.9999 percent (or six nines) contract allows only 31.5 seconds of downtime per year. Typically, if the provider fails to meet the uptime percentage specified in the SLA, the contract calls for a credit toward part of the monthly fee.
Personnel A data center requires trained people to install, configure, and maintain all the equipment. While cloud-based service equivalents do require configuration and maintenance performed through a remote interface, the elimination of the need for hardware maintenance greatly reduces the manpower requirements.
The costs of cloud-based services are not insignificant, but the nature of the financial investment is such that many organizations find them to be more practical than building and maintaining a physical data center. The initial outlay of cloud services is minimal, and the ongoing costs are easily predictable.
Originally, IT departments provided services to users by building and maintaining data centers that contained servers and other equipment. One of the problems with this model was that the servers often were underutilized. To accommodate the increased workload of the “busy season,” servers were often built with resources that far exceeded their everyday needs. Those expensive resources therefore remained idle most of the time. Virtual machines (VMs), such as those administrators can create using products like Microsoft Hyper-V and VMware ESX, are a solution to this problem. Virtual machines make it possible to consolidate multiple servers into one physical computer. Administrators can scale virtual machines by adding or subtracting virtualized resources, such as memory and storage, or they can move the virtual machines from one physical computer to another, as needed.
Cloud providers use this same consolidation technique to provide subscribers with virtual machines. For example, when a subscriber to Microsoft Azure creates a new server, what actually happens is that the Azure interface creates a new virtual machine on one of Microsoft’s physical servers. The subscriber has no access to the underlying physical computer hosting the VM, nor does the subscriber even know where the computer is physically located. The virtual machines on the physical server are completely isolated from each other, so if even the fiercest competitors were to have VMs running on the same host computer, they would never know it. The provider can—and probably does—move VMs from one host computer to another when necessary, but this process is completely invisible to the subscribers.
The end result of this consolidation model is that each VM receives exactly the virtual hardware resources it needs at any particular time. Subscribers pay only for the virtualized resources they are using. Nothing goes to waste.
Business requirements change. They might increase or decrease over a course of years, and they might also experience regular cycles of activity that are seasonal, monthly, weekly, or even daily. A physical data center must be designed to support the peak activity level for the regular business cycles and also anticipate an expected degree of growth over several years. As mentioned earlier, this can mean purchasing more equipment than the business needs for most of its operational time, leaving that excess capacity often underused.
Cloud-based services avoid these periods of underutilization by being easily scalable. Because the hardware in a virtual machine is itself virtualized, an administrator can modify its resources through a simple configuration change. An on-premises (that is, noncloud) virtual machine is obviously limited by the physical hardware in the computer hosting it and the resources used by other VMs on the same host. In a cloud-based VM, however, these limitations do not apply. The physical hardware resources are invisible to the cloud subscriber, so if the resources the subscriber desires for a VM are not available on its current host computer, the provider can invisibly move the VM to another host that does have sufficient resources.
A cloud-based service is scalable in two ways:
Vertical scaling Also known as scaling up, vertical scaling is the addition or subtraction of virtual hardware resources in a VM, such as memory, storage, or CPUs. The scaling process is a simple matter of adjusting the VM’s parameters in a remote interface; it can even be automated to accommodate regular business cycles. Therefore, the subscriber pays only for the resources that the VMs are actually using at any given time.
Horizontal scaling Also known as scaling out, horizontal scaling is the addition or subtraction of virtual machines to a cluster of servers running a particular application. For example, in the case of a cloud-based web server farm, incoming user requests can be shared among multiple VMs. If the web traffic should increase or decrease, the administrators can add or subtract VMs from the cluster, as needed.
In an on-premises data center, data backup, disaster recovery, and fault tolerance are all expensive services that require additional hardware, deployment time, and administration. A small business might require only a backup storage medium and software. However, for businesses with highly critical IT requirements, these services can call for anything up to duplicate data centers in different cities with high-speed data connections linking them.
In the case of a large-scale cloud provider, however, this is exactly what their infrastructure entails. Therefore, cloud providers are in an excellent position to provide these elaborate services without the need for infrastructure upgrades, and they often can do it for fees that are much less than would be required for businesses to provide them themselves.
For example, Microsoft Azure provides the following reliability mechanisms for its cloud-based services:
Azure maintains three redundant copies of all data, with one of those copies located in a separate data center.
Azure provides automatic failover to a backup server to minimize downtime in the event of an outage.
Azure hosts all applications on two separate server instances to minimize downtime caused by hardware failure.
Because subscribers do not have physical access to the servers hosting their cloud services, they must access them remotely. This is common for organizations with on-premises servers as well, particularly those with large data centers. It is often far more convenient for administrators to access servers from their desks than travel to a data center that might be on another floor, in another building, or even in another city. Today’s remote management typically provides comprehensive and reliable access to all server functions.
There are various remote management tools available for both cloud and on-premises resources, but the large third-party cloud providers typically provide a secured web-based portal that enables administrators to access all their subscription services using one interface, such as the one for Microsoft Azure shown in Figure 1-2.
Figure 1-2 The management interface in the Windows Azure Portal
A web-based portal enables administrators to access their services from any location, including from home or while traveling.
Security is a major issue for any data center, which administrators typically address by concerning themselves with issues such as data loss and unauthorized access. These are important concerns whether the data center is local or virtual. However, in the case of an on-premises data center, there is another potential attack vector: the physical. Servers and other equipment can be stolen outright, damaged by fire or other disasters or physically accessed by intruders. Therefore, there are additional security measures that might be required, such as door locks, surveillance equipment, access credentials, or even manned security checkpoints.
Cloud-based services eliminate the need for physical security, which is furnished by the provider. There is still the issue of software-based security, however, and cloud providers nearly always provide an array of controls and services that enable you to harden the security of your servers and applications to accommodate your business needs.
In an on-premises data center, the administrators are responsible for all aspects of the servers and other equipment, including hardware installation and maintenance, operating system configuration and updates, and application deployment and management. Cloud-based services enable subscribers to specify which elements of the infrastructure they are responsible for maintaining.
For example, a subscriber can contract with a provider for a virtual machine running a server operating system, so that the subscriber is responsible for the entire operation and maintenance of the server. The subscriber does not have direct access to the physical hardware of the host system, of course, but he or she does have control over the virtual hardware on which the server runs, as well as all the software running on the server, including the operating system. In some situations, this is desirable, or even essential.
In other situations, cloud-based services can take the form of preinstalled server platforms or applications. In this case, the subscriber might have limited access to the server or no access at all. In the case of a subscriber contracting for Microsoft Exchange Online, the provider grants the subscriber with administrative access to the Exchange Server application, but it does not grant subscriber access to the underlying operating system on which the server application is running. For an Office 365 subscriber, the provider grants access only to the Office applications themselves. The subscriber knows nothing about the servers on which the applications are running or their operating systems.
These options enable cloud service subscribers to exercise administrative responsibility over specific components only in situations in which their business requirements demand it. For the elements administered by the service provider, contracts typically stipulate hardware maintenance requirements and software update policies. The end result can be substantial savings in time and training for the subscriber’s in-house IT personnel.
Alleged Disadvantages of Cloud Computing
There are some IT professionals who persist in stating that cloud-based services are inferior to on-premises services. They might say that an on-premises data center is more secure, more reliable, provides greater access to equipment, or suffers less downtime. While one cannot say that the cloud is always a preferable solution, these arguments mostly date from a time when the cloud was a new and immature technology. They have now largely been debunked by years of proven performance.
There are still reasons why businesses can and should maintain on-premises data centers. For example, they might have special security requirements, or they might have already made a large investment in facilities and equipment. However, each year sees a greater percentage of servers deployed in the cloud and clients accessing cloud-based services. Microsoft 365 is the next step in bringing the cloud to the desktop productivity environment.