Cloud Computing has been the subject of a lot of marketing buzz lately. But in the face of all the advertising and promotions lauding its technology, the actual meaning of Cloud Computing sure is... cloudy. What can it really do for a business's online presence? How much of this cloud stuff is just corporate marketing smoke? I won't presume to have all the answers here, but I have identified three things that Cloud Computing does in fact do very well, and which may be very useful for your business on the web.
The Very Basics
Cloud computing is when you make software that is virtualized – meaning it can run as one or many more instances of a virtual computer on the hardware inside of a data center. The software and the files can be duplicated, shared, and instantiated on any computer in the data center, even as a shared part of one physical computer's workload. This ability for virtualized software to be instantiated anywhere is why it is called the cloud.
1 - Cloud Web Servers: Always Reachable, Fast, and Backed Up
The most commonly beneficial features of cloud computing for business are those reaped by cloud web hosting:
Always Reachable - "Slashdot Protection"
Sometimes a surge in popularity can take down your website as the number of requests can overcome a single dedicated server. In our office we call it "getting Slashdotted", in honor of the tech news website popular among computer geeks which has sent many small but distinctive sites to their "site-cannot-be-reached"-doom by publishing a link to its wide audience. Cloud computing offers the ability to instantiate identical copies of your web server to share the load of requests. This can be automated to respond to server load, so that when one is getting overwhelmed it can call in reinforcements so that no page request goes unresponded.
Fast - Low Latency
Cloud web server solutions also often include tools that allow you to replicate and cache your website at highly available points on the internet's backbone. That means that no matter where on Earth a request comes from, there will be a copy of the information very close so that page loads will be very fast or essentially instantaneous. Such content delivery networks (CDN) are not exclusive to cloud servers, but they are very easy to implement in a cloud solution.
Backed Up - Data Redundancy
The virtualized nature of a cloud server also makes it very convenient to duplicate the virtual machine's state to create backups over time. This can be done manually or can be automated to backup the server on a schedule. With the live server on the cloud, you can download these backed-up snapshots to local hard-drives for convenient multi-site redundancy.
2 - Cloud Web-Apps: Software as a Service
The most familiar kind of cloud computing solution are Software as a Service (SaaS) applications which use the cloud to deliver the kind of software that in the old days we had to install on a single personal computer; instead the cloud makes it available to any Internet device with an authorized account login. All of your relevant work files are stored on the cloud, so you can take it all anywhere to any computer with an Internet connection. Furthermore, since the software is installed in one place (the cloud) and is broadcast to its users, upgrades and new features roll out to every user at once, without the need for an IT department or software download. These features make SaaS obviously beneficial to individuals and small and medium enterprises, and most consumer cloud products fall in this category.
If your business already has a custom specialized tool that many people in your organization use frequently, it may be worthwhile to have that software implemented on the cloud as a service. Customers can benefit as well if your business can provide them with an always-available online tool that will make it easier for them to use or buy your product. And if you don't have such tools already implemented as software, putting it in the cloud as a service is a great way to start which will prepare you for future growth.
Familiar examples of SaaS for consumers which I use include:
- Google Docs - essential office software in the web browser with cloud file storage so you can work from any Internet connection. It automatically deploys updates and new features with no installation or IT department required
- DropBox - file storage and archiving on the cloud. This app works with locally-installed software to automatically backup and share your files to the cloud in the background, with automatic file versioning that is accessible from any computer on the Internet.
3 - "Industrial" Cloud Applications: Assembly-Line Computing
Some cloud applications require a more complex approach which breaks large tasks down into constituent parts that require heavy lifting in quantity or scale. This is where the greatest strengths of cloud computing lie. By taking an assembly-line approach to processing digital assets and data, the cloud can use specialized virtual machines as a scalable team to accomplish complicated tasks through a web interface. Since the cloud is virtualized, the heaviest tasks such as encoding video or executing complex mathematics can be sent to the most powerful hardware, while lighter tasks like processing images or executing database queries are sent to less expensive hardware. Furthermore, since the cloud is scalable the number of machines working on the task at hand can automatically scale to handle the load without any delay to the end user.
If you have high-computation or high-volume computing needs, a cloud application will give you the firepower you need to deliver timely results without the prohibitive expenses of owning and maintaining a high-end hardware configuration. And with the ability to scale, you will be able to choose your bandwidth to fit your schedule, rather than choose your projects to fit your bandwidth.
Familiar examples of heavy-lifting cloud apps which I use include:
- YouTube - Video Hosting Site. YouTube stores your videos on the cloud, and automatically takes care of computationally expensive video encoding for delivery at a variety of resolutions, bit-rates, and platforms.
- Shutterfly - Photo Uploading, Storage and Printing. Shutterfly uses the cloud to store clients’ photos for free, and to help them create custom photo books of their images. The cloud application provides layout tools in the web browser, and fully automates the process of on-demand printing.
Cloud Computing Shortcomings
To be complete, let's not forget about the potential shortcomings of cloud computing:
- If working with very large data files, uploading to the cloud can take a large amount of time. Such applications need to provide ways for users to move files "in the background" without effort.
- Sometimes cloud servers go down. There's a chance that every customer or large blocks of customers could temporarily lose access if your cloud provider has an outage. Fortunately that means it is someone’s 24-hour job to keep it going. And the nature of cloud computing builds in redundancies that help preserve everyone’s data and minimize the potential damage of outages.
- Some people question the security of cloud solutions. In practice, cloud security is usually as good or better than the average in-house server, because the resources available to specialized IT security personnel at a data center are commonly much greater than those in-house. For those with the experience and hardware, there are also options for cloud computing on your own servers if your security needs require everything behind your firewall.
- For solutions that require PCI certification, a public cloud-only solution will not satisfy the certification requirements. However, Combined Clouds mix internal servers with public cloud resources to ensure the security of sensitive information by keeping it off the cloud, but still reaping the benefits of the public cloud for other services which require less security.