BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
On the surface, choosing a public infrastructure-as-a-service offering might seem simple, but it's definitely not something an organization should rush.
When you review IaaS options, remember you'll have the flexibility to size your compute instances, add storage options and scale the environment as needed. This means you can experiment with different configurations to determine which is the most high-performing and cost-effective for your workload. Most importantly, the public IaaS offering should be able to accommodate these different configurations.
IaaS environments differ quite a bit in their performance, with a combination of server, storage and networking options, as well as varying software, underpinning each. Organizations should also evaluate potential providers' capabilities for emerging technologies, such as machine learning, as well as their ability to support hybrid clouds and several other factors.
Compute options and performance
IaaS compute instances that look comparable based on specification could, in fact, deliver different levels of performance. This isn't a trivial issue, since it could slow runtimes or require you to add more instances -- all of which becomes expensive.
The differences are app- and configuration-related, so it's hard to get a general benchmark from each public IaaS provider -- instead, you must benchmark your job stream on all prospective clouds. If the results are close, choose a cloud platform based on some of the other criteria discussed below. If they differ, then instance performance should be a major factor in selection. But remember that various instance types from a single IaaS vendor can exhibit different performance ratios compared with competitors, which complicates things a bit more.
Perform a total cost of ownership analysis, examining storage requirements and the costs of data access, as well as instance costs. If your workload is bursty, decide on a baseline instance count, and then set these as long-term commitment instances, which should cut costs. Choose short-term commitment instances to cover workload peaks, and ensure you can add or delete instances through the provider's orchestration APIs as demand varies.
Use a sandbox environment to gain insight into any potential ease-of-use issues, as well as the quality of the provider's management dashboards and interfaces. These make a huge difference in minimizing error rates and ensuring effective control.
In addition, if you plan to adopt container technology, evaluate providers' container support services, as these vary and constantly evolve.
For some organizations, the choice of public IaaS provider is constrained by prior relationships. If you already use a cloud service provider (CSP) for backup storage services, then it might make sense to build on that relationship, since you're already familiar with the management and tools, which tend to be proprietary to each cloud.
Vertical market support
Vertical markets have specific requirements for public IaaS. Government agencies, for instance, have their own specific needs, fragmented by nationality and potentially by level of government. These organizations require very high levels of IaaS security, including better physical access control. They might also have a focus on the transition of legacy COBOL-based tools into the cloud. Government-focused cloud providers include CenturyLink, Carahsoft and CDW, while a number of other companies effectively resell Amazon Web Services (AWS) or Azure cloud space to government entities.
Healthcare providers also have unique security needs and require a cloud vendor with knowledge of the IT challenges the healthcare market faces, especially Health Insurance Portability and Accountability Act compliance and its requirements for security and data lifecycle management.
Support for emerging technology
When businesses implement high-performance computing (HPC) on premises, they inadvertently underutilize many of those resources. In the public cloud, organizations can deploy supercomputing capabilities and scale them up and down as needed. This has opened HPC to most researchers, who now can run jobs both economically and quickly.
In addition, the AI and machine learning market continues to take off, and top public IaaS providers support these technologies. Google, for example, has special instances that accelerate processing, while IBM has Watson. This has the looks of being a fast-growth sector.
When you evaluate compute instances for AI, machine learning or HPC, pay close attention to your software choices and specific use cases. Some applications, for instance, might require specific GPU configurations or a minimum size for a field-programmable gate array.
Databases and big data analytics
For cloud databases, look for a range of options in available I/O with built-in geodiversity so that downtime in one IaaS availability zone doesn't result in days without data availability. For high database performance, the key is to aim toward large instance types with a lot of dynamic RAM (DRAM). Mainstream database software vendors provide lots of assistance for instance configurations, but be aware that they might also steer you toward their own cloud platform.
Generally, all the major CSPs have strong coverage in big data analytics. Their tool sets, such as databases and unstructured file systems, can aid an organization's internal efforts. They offer well-integrated databases with large, in-memory instances to accelerate processing. These bigger instances come with high-performance solid-state drive local instance storage options as well. GPU instances are also useful here for parallel processing.
If your big data comes from the internet of things, look for a CSP with streaming data support that can keep up with data flows. Then, verify that this streaming data service will integrate easily with your own software.
Web serving and media delivery
Web serving is best handled by small cloud instances with limited DRAM, partial CPU core count and, depending on the size of any fixed page images, little or no hard disk local instance memory. When you evaluate a CSP for web serving, look for cheap instances that replicate others doing the same job. Add more identical instances to handle load spikes, and then axe them as load drops. Again, it might be beneficial to commit to long-term contracts for a baseline set of instances and then use spot instances to respond to peak loads. So, a CSP offering these pricing models and even by-the-minute or second instances may be a better choice. One benefit of web serving in the cloud is that each instance is a rapidly available clone and as such allows much more agility than on-premises hardware.
For media delivery, it also makes sense to use many small instances, given demand volatility. However, if the distribution app is designed for the efficient multithreading of streams, it might be more economical to use large instances, at least for the highest-traffic content objects. The limiting factor in large instances is likely network bandwidth, so any CSP with instance options with big pipes scores better.
One neglected area in media delivery is failure detection. Unfortunately, CSPs' orchestration capabilities aren't particularly good at the quick detection of dead instances.
Hybrid cloud support
For businesses who anticipate hybrid cloud deployment, interoperability between an on-premises private cloud and your public IaaS cloud will be key. There are now strong alignments and new technologies to factor into your purchasing decisions. For example, Microsoft has extended Azure into the private sector with Azure Stack, while AWS and VMware have just released VMware Cloud on AWS, which extends vSphere into the public space to create a more homogeneous environment. OpenStack is working on interoperability with all three big public clouds.
All of these cloud interoperability efforts are somewhat immature, but they will be a substantial factor in buying decisions.
With extensive research into public IaaS, TechTarget editors focused this series of articles on vendors who provided the following functionalities: user management, enterprise integration, automation and access to emerging technology, as well as capabilities around scaling, security, uptime and resilience. Our research included Gartner and TechTarget surveys.
Public IaaS benefits expand as market evolves
Explore the top business arguments for IaaS
Select an IaaS vendor for traditional vs. cloud-native apps