As a multimedia guy, I recognize two governing laws of data:
- The availability of our resources dictates our current needs.
- Our needs always expand beyond the capacity of our resources.
It is because of these two laws that more businesses are drawn to the facilities that cloud computing has to offer. Before they reach this decision, they usually first follow a process similar to this:
- Build a bigger system.
- Compress the bigger system into a smaller space.
- Connect systems together to share resources.
My Dad is Bigger than Your Dad
Our first inclination is to put more stuff into the existing box. Where previously we would add more vacuum tubes to give our computers the ability to calculate floating point numbers, nowadays we install faster processors (or multiprocessors), larger hard drives, and more powerful graphics cards with higher video display RAM. The more technically inclined may even tweak the hardware to improve the speed of the data path between each of these components as well.
These bigger systems initially appear to provide all the computing power we need. We are able to run virtually any application, and store all of our data, on a single machine. Before long before we begin to realize new problems:
- These devices are finite. Disk space is a concrete measurement, and fairly soon we are horrified to learn we can’t store the digital photos of little Mischa’s tenth birthday party because our hard drives are already maxed out.
- These devices are insecure. Because all the applications and data reside on the same machine, that information is not safe in the event that computer is stolen, or worse, destroyed during a disaster.
What if we were to instead invest in a mainframe computer—a really large computer that can hold our vast quantities of information? Then all our data would be in a centralized location safely protected from the elements. Also, theft of mainframe computers is really not an issue: I doubt very much that even a useful part of one would fit inside a hockey bag.
In a mainframe environment, to use any of our applications, all we’d need to do is connect a dumb terminal to this mainframe. Without any processing ability of its own, the terminal provides all the power of the mainframe at our disposal. Connect several hundred dumb terminals to the same mainframe and we can run an organization called IBM.
While the processing power of mainframe computers is high, the upfront cost to install a mainframe environment is also high, and prohibitive to the average user. But what if we take our powerful desktop computers and connected them all together? For small- to medium-size enterprises, network computing is a lower-cost alternative to investing in a mainframe.
Most local area networks are set up as one or a combination of two ways:
- Peer-to-Peer: Applications and data are stored on individual computers. Users run applications on their own computers and can allow other users to work with their files from across the wire.
- Network Server: Applications and data are stored on a central computer or group of computers. Users can run applications installed on their local computer or on the network server. While users are encouraged to store their data on the central server, there is usually nothing to prevent a user from storing files locally as well.
In a networked environment, the security of the data is still at risk, because unlike mainframe components, a network server, usually the size of a standard desktop computer, can fit into a hockey bag. Also, even though a network setup can cost less than a mainframe, to properly configure it and continue to secure it requires a full-time IT specialist, which adds additional overhead. And once again, space is finite. An organization could easily outgrow even the highest capacity hard drive on their network server.
Head in the Cloud Computing
Through cloud computing, you can have all the power of several mainframe computers, the interconnectivity of a network system, the security of all your data being backed up on a regular basis, and the expertise of several IT specialists, all with a cost equivalent to buying lunch for your staff once a week. With faster Internet connection speeds becoming the norm, many users are already experiencing the benefits of cloud computing and not even realizing it.
Cloud computing is described on Wikipedia as, “…a style of computing where IT-related capabilities are provided ‘as a service’, allowing users to access technology-enabled services ‘in the cloud’ without knowledge of, expertise with, or control over the technology infrastructure that supports them.”
If a computer network provides the combination of computing power, storage capacity, user availability, and security that we want, cloud computing is a really large network, with all those features on steroids. Applications and data can be stored on any computer on this network, and while these computers may vary in size, several of them have the processing capability of mainframe computer systems.
We haven’t quite returned to the days of dumb terminals, however. Instead, we use the features of a standard web browser to access Rich Internet Applications (RIA) that simulate the smooth look and feel of a desktop application.
Soft Serve, Not the Ice Cream Kind
Cloud computing provides tangible benefits, available to users on request. Providing these features “as a service” means that the resources can be shared between several users without any noticeable decrease in performance.
Software as a Service (SaaS) reduces the need to install and upgrade software on users’ desktops. The user always opens the most up-to-date copy of the software, because it is maintained at all times. Google Apps and Zoho are examples of companies providing common application software. Both systems even provide an offline mode for times when users aren’t connected to the Internet. Their files are uploaded as soon as their computers are reconnected.
Hardware as a Service (HaaS) provides users with additional computing power, whenever they require it. For instance, if a retailer has a short-term need to process a high volume of point-of-sale (POS) transactions on Boxing Day, applications can be set up to share the processing across additional computers as necessary.
Platform as a Service (PaaS) is another growing enterprise. These shared hosting systems provide a development environment for developers to build their own applications using prebuilt modules or custom code.
Accessibility, availability, scalability: The salient features of cloud computing. But when you boil it down to brass tacks, cloud computing is just a new take on an old idea. I didn’t even get to discuss virtualization, which is what gives all these “as a service” features their power. Because of virtualization, while the two governing laws of data still apply, it will take a LONG time for our needs to “expand beyond the capacity of our resources.”