Barring a game-changing event, business applications are headed to the cloud. More specifically, I believe that one day all the software we use to run our businesses will be delivered via the software as a service (SAAS) cloud model.
In this model, a vendor provides a complete, ready-to-use application via the Internet, with no servers or other infrastructure for the end user to manage or support. Popular examples today include Microsoft Office 365, Google Apps and Salesforce.com.
But not all applications have migrated to the SAAS model yet, and many businesses still rely heavily on traditional software designed to run on servers they host and support themselves. The complete takeover by SAAS is still years away.
In the meantime, we might feel left behind if we don’t embrace new technology, and the question arises: Should we try to run our traditional applications in the cloud?
First, let’s look at how that’s done, which is via the Infrastructure as a Service (IAAS) cloud model. Here a vendor provides cloud-based servers, storage, and networking to IT people, who then manage and support software running on them to deliver usable applications. Popular examples of IAAS today include Amazon Web Services (the market leader) and Microsoft Azure (the runner-up and fastest-growing). IAAS has become very popular with Internet companies and with very large entities — organizations like Netflix and NASA — but their needs are quite different from those of a typical small business.
For many the first consideration is simple: direct cost. In this case, the advantage often goes to traditional computing. With typical and reasonable assumptions, buying an appropriately sized server and using it for three to five years costs less than paying Amazon, Microsoft, or some other cloud provider to host everything for you. It’s not uncommon for hosting vendors to tip the scales in their favor by overestimating the number or size of traditional servers needed or by underestimating the duration of physical servers’ useful life, so be sure to review their cost comparisons carefully. The exception is when your demand for computing might grow or shrink very quickly or drastically, which is the type of situation that the cloud handles well and cost effectively.
If cost is not the main factor or differentiator, most people will then wonder about security and reliability in the cloud, for which there are good arguments on both sides. On one hand, cloud providers have more sophisticated protection and redundancy than a typical small business. On the other hand, cloud providers may be more frequently targeted by attacks, and the complexity of their systems can lead to outages.
From my standpoint, both cloud and traditional computing are sufficiently reliable for most businesses when implemented well, and whatever differences in security vulnerabilities might exist at the infrastructure level pale in comparison to widespread human, device, and password vulnerabilities. Consequently, I would not make security or reliability the basis for my decision whether to put something in the cloud.
Another major consideration is performance. While most cloud offerings are great at running web servers and databases, public IAAS offerings like AWS and Azure are not designed to run full-desktop workloads such as Microsoft Remote Desktop Services and Citrix XenApp. If one of these products is part of the solution to bring your traditional application to the cloud, choose your provider carefully, allow for thorough testing, and have a solid fall-back plan.
A final thought is disaster recovery, which is another area where the cloud really shines because most data centers are well protected from likely natural disasters and because cloud resources can be ratcheted up when needed. This consideration alone might tilt the balance in favor of the cloud for production use or could make the cloud a key component of a disaster-recovery solution for locally hosted systems.
Putting it all together, I would always consider using the cloud before investing in new servers or other infrastructure, and the first thing to look for is a cloud-based version of the application under consideration. If no suitable cloud-based solution exists, then cloud-based infrastructure is good for scalability and disaster recovery, but the traditional approach often is the best answer for typical needs.
Steven Ellis has spent the last 16 years working at the intersection of business and technology for Bellwether Technology in New Orleans, where he serves as the company’s vice president.