IaaS clouds provide the infrastructure (physical or virtual servers, networking, and storage) in a manner very similar to what was and is done in a typical data center deployment with traditional applications. The user has complete control over all aspects of the infrastructure (subject to the capabilities of the provider), including network speed, number and speed of CPUs, amount of RAM, type of storage, etc. The user can fully configure the operating system, applications, etc., and can tune it as desired. In short, it is much like deploying a physical or virtual server on premises today, except it may not be on premises and you don't pay for it all up front. You pay for it as you use it.
The advantage—and disadvantage—of this cloud type is complete control. The user is responsible for sizing, installing, and maintaining operating systems and applications, backing up the systems, etc. This enables the user to configure everything in an optimal way for the workloads that need to be accomplished, but it requires time and effort to determine how it should be set up, secured, etc. One advantage of using an IaaS cloud instead of a traditional deployment, however, is that if conditions change (for example, there are many more or fewer users than expected or latency is higher than desired), the configuration can be rapidly changed to meet the changed conditions without wasting the large capital expenditures already made or requiring new capital expenditures. The design can literally change hour by hour, month by month as needed.
In this model, networking is always shared in some fashion on the cloud provider's infrastructure with other consumers, and storage often is (though doesn't have to be) shared. In many designs, compute may also be shared via the use of virtual machines (VMs), but some providers offer the ability to dedicate CPU and/or memory to specific VMs (not over-provisioning them) and/or a bare metal server, dedicating physical servers to customers.
Some aaS categories don't fall neatly into one of the three broad categories (IaaS, PaaS, and SaaS) but seem to fit best here as IaaS providers.
Disaster Recovery as a Service (DRaaS) is a great option for many companies that only have a single data center. They may be happy with their existing operations but just want to back up to the cloud (or they may want to have the ability to resume operations in the cloud in the event of an outage in their data center. Typically, the cost for this is the storage cost of keeping the data (and usually VMs) available in the cloud and the network cost to replicate the data from the existing data center to the DR location in the cloud. Usually there is no, or very little, compute cost, as the VMs are usually left in a powered-off state, but this isn't always true, depending on the replication mechanism chosen, the platform being replicated from/to, etc. If the VMs are powered on and it costs to have them idle in the cloud, consider doing development, QA, or other functions on those servers to make use of them. In any case, this is typically much, much cheaper than opening an entire data center just for DR purposes that will be used only rarely (if ever) in most cases.
Companies that offer products in this area include HotLink DR Express for backing up vSphere to Amazon; Zerto for backup/DR of vSphere and/or Hyper-V to vSphere, Hyper-V, AWS, and a large range of cloud providers; and Sunguard Availability Services, which can support not only VMs, but AIX and other physical platforms as well.
Desktop as a Service (DaaS) is similar to the typical server deployments done in IaaS, but it is specialized to offer desktop operating systems only. It often involves specialized graphics cards for better video performance; management tools to deploy, configure, and allocate the desktops; and clients or web browser access from a variety of devices, including PCs, Macs, tablets, and even phones. The desktops that providers offer are often Windows-based and sometimes Linux-based. They are almost always VMs, as this service grew out of an onpremises capability known as Virtual Desktop Infrastructure (VDI). There are several advantages and disadvantages to using VDI instead of providing everyone their own desktop, including:
Advantages | Disadvantages |
Company owns a standard image and software, but users can bring any device they want to access that desktop (BYOD), whether subsidized by the company or not | Company may pay for multiple operating system licenses (virtual desktop and on endpoint devices, such as tablets, PCs, and/or MACs) |
Company can ensure that backups and patching are completed | Extra storage space required for backups |
Access from any device, anywhere, anytime | Extra corporate Internet bandwidth required to support all those who access the corporate network off site (e.g., from home) |
Centralized, locked-down desktops for greater security, especially when used with thin clients, reducing endpoint management costs | Reduced flexibility to handle special circumstances for specialized software needs (though for security, this may not be an issue anyway) |
All data is stored in the data center for higher security and to meet compliance requirements | No access to that data for those without an Internet connectivity |
Using DaaS instead of VDI offers the same benefits as using IaaS instead of on-premises deployments with additional benefits, including:
The biggest differences between IaaS and DaaS are:
Companies that offer products in this area include Horizon Air(the cloud version of the on-premises Horizon suite from VMware), Amazon Work Spaces, and Citrix XenDesktop from a Citrix Service Provider.
In this section, we are not talking about step-by-step directions or anything vendor specific, but rather a high-level review of what is involved in any IaaS deployment from any vendor. You can compare this with PaaS and SaaS and what they require in terms of setup and configuration, as well as how to implement them on an IaaS infrastructure. These areas will, in fact, be covered in more detail in the other white papers in this series.
It is worth noting that you should also check other nontechnical issues as well, such as how to get pricing discounts, whether long-term contracts are needed for those discounts, what SLA they offer and what it covers, and other such business issues.
Most cloud deployments begin with networking, for without that, there is no way to access any of the provisioned infrastructure in the cloud. You will need to consider the following questions when selecting a provider and deploying the necessary components for a good, functional design:
Storage is a little simpler than networking but still presents questions and challenges. Among the questions you'll need to get answers to are:
The last important component is the compute piece. In other words, servers—primarily CPU and memory. As with the previous categories, there are many questions to ask a cloud provider to determine what options are available and the cost of each, as well as to determine the suitability of their offerings for the workloads you want to run in the cloud. These questions include:
That didn't sound too bad, right? Very similar to what you currently do on premises, right? While there are a lot of similarities, there are also many differences and many things that must be considered beyond just the basics to get a secure, reliable, manageable infrastructure built that can scale up or down with demand, provide the requisite performance, and be cost effective. As in the previous section, the goal of this section is not to provide step-by-step directions, nor to imply that all vendors provide all these capabilities the same way or even that this list is exhaustive. The goal is to provide a good place to start and highlight some areas that should be planned for and designed for.
One of the biggest impediments to moving to the cloud is the security of your data. You should ask the following questions to ascertain the security provided by the cloud providers that you are considering:
Just as you need to make sure your data is secure, you need to ensure that it is accessible. Among the questions you should ask are:
In addition to the compute questions covered earlier, you should consider the following questions about the options for sizing your servers and/or VMs:
Other network considerations relate to the throughput available between various components:
Finally, the best design in the world is not worth very much if it can't be managed easily or requires many more people to manage. Among the questions to ask in this area are:
Who are some of the big IaaS players? Here are just a few. Note that inclusion or exclusion from this list in no way reflects an endorsement to use or a caution to not use any company.
While this list of questions may seem like a lot, going into any cloud deployment with this information will greatly increase your chances of success and enable you to more successfully articulate to management why they would want to move to the cloud, along with any risks.
John Hales (A+, Network+, CTT+, MCSE, MCDBA, MOUS, MCT, VCA-DCV, VCA-Cloud, VCA-Workforce Mobility, VCP, VCP-DT, VCAP-DCA, VCI, EMCSA) is a VMware instructor at Global Knowledge, teaching all of the vSphere and View classes that Global Knowledge offers. He is the author of Administering vSphere 5: Planning, Implementing, and Troubleshooting, published by Cengage, as well as other technical books—from exampreparation books to quick-reference guides. He has also authored custom courseware for individual customers. John lives with his wife and children in Sunrise, Florida.