If you're reading this, you have at least heard about the "Cloud" or "Cloud Computing". But what does this really mean, especially to those of us who don't have large rooms chock full of servers to worry about?
"Cloud" is just the currently-hip way to refer to the Internet and "Cloud Computing" is just a way of labeling a wide array of applications and services that live on someone else's computer and are accessed via an Internet connection. Actually, instead of a single computer, think more of a virtual or software-simulated computer running on a portion of the CPU, memory and disk space of a much larger server-class machine.
"Computing", in its basic form, involves running an application on a computer. Most of us do this every day as we run email applications such as Outlook, word processing applications such as Word, etc.
SmallCloudBuilder's focus on the Small Cloud. The Small Cloud isn't concerned with getting rid of server rooms, revamping Enterprise computing infrastructure or slimming down IT staff by outsourcing.
Instead, the Small Cloud is just concerned with better and cheaper ways of doing things we already do in our daily computing lives. If you use any form of webmail (Gmail, Yahoo mail, etc.), a messaging platform such as Skype, or a photo sharing site like Flickr, you've been using the Small Cloud.
What made Cloud Computing possible was the marriage of virtualization and Internet-based hosting. Wikipedia defines many types of virtualization and it's easy to get confused. But basically, virtualization enables running multiple "virtual" (software-simulated) computers on the same hardware.
With Virtualization, a Windows email server and a Linux web server can run on the same physical hardware at the same time. This saves on hardware, space, and electricity, while providing efficiency and flexibility.
We covered the basics of Virtualization, terms, options, and created a simple Linux Virtual Machine in Virtualization for the Small Network - Part 1 on SmallNetBuilder a few years back. Then in Part 2, we covered some virtualization performance details.
The value-proposition of Cloud Computing is that it provides access to powerful computing and high-capacity storage on a pay-as-you-use basis. This is particularly appealing to small businesses and startups who would otherwise have to invest in hardware and software.
Another key plus is Cloud Computing's scalability. Memory, more processing power and storage space are just a few clicks and a reboot away, making it much easier to expand power and / or capacity as circumstances demand.
To small business and home users, however, the real value of cloud is access to applications and services that would otherwise be difficult to implement on their own. Retrieving files you forgot on your home computer from your work machine is simple if you use a service like GoToMyPC or DropBox. But if you do it yourself, you may need to deal with configuring a secure connection via VPN, opening router ports and using a dynamic DNS service.
You might also have heard about "public" and "private" clouds. Public clouds are simply those available via the Internet to anyone who can pay. Private clouds use public cloud techniques, but sit behind corporate firewalls for the exclusive use of the businesses that set them up.
Cloud Computing Risks
The advantages of Cloud Computing should be obvious by now—pay as you use, quick and easy scaling / expansion and access to capabilities that would otherwise be too expensive to buy or complicated to set up.
But as with any new and rapidly-evolving technology, there are risks. The first concern most people have is for the security of their data. Since your files are sitting on someone else's server, that can literally be anywhere in the world, how secure is that data?
Cloud service providers offer many solutions and assurances to mitigate that risk. Depending on how careful (or careless) you are with your data, it could actually be safer with a Cloud provider! Do you encrypt all your data? Back it up faithfully to multiple, geographically different locations? Have fire, flood and power protection?
But at the end of the day, your data is somewhere other than on a computer sitting where you can put your hands on it. And that alone just makes some people too uncomfortable to even consider using the Cloud.
Network performance is the other key issue. Since your application and data sit at the other end of an Internet connection, no Internet, no access. Some applications provide offline capabilities and automatic file replication to a local store, but not all. So you need to look at the fine print in a Cloud service's feature list or service agreement to see what you'll be able to do when your Internet connection is down.
Many of us also have much lower upload than download bandwidth, which can make data upload very slow. Some Cloud storage vendors use sophisticated data deduplication to minimize uploaded data. And don't forget the other demands for that narrow upstream pipe. If you're a heavy Skype or VoiP user or send a lot of large email attachments, you could find yourself juggling who does what when in your home or small office.
Network latency can also be an issue, making an application or service run noticeably slower than if it were running on your own computer. If you do a lot of photo or video editing, for example, you probably don't want those files sitting in the Cloud while you're working on them.
Some of these issues can be mitigated if you can upgrade to a higher bandwidth connection or move to a multi-ISP solution. But if that's not an option for you, you need to move carefully into the Cloud.
Now that you've got the lay of the land, err, cloud, we'll next look at a few Small Cloud apps and services.