Cloud computing is offering some very interesting alternatives to desktop and laptop computing. As more businesses move their operations to the cloud, the viability, reliability and general advantages are starting to become apparent. Cloud computing will continue to have a big impact on the structure and design of software for decades to come.
What is cloud computing? Cloud computing is the general term used to describe internet-based computing as opposed to desktop-based computing. For instance, if an application is placed in the cloud, the core computing, software, and resources are shifted to servers and away from personal computers. If you are looking for more info, Wikipedia has a good article introducing cloud computing.
Who is going to the cloud? It seems that many see cloud-based computing as the next place to be. While the history of such computing goes way back, some of the best examples of this technology have come around more recently. Google has invested considerable resources in cloud-based computing with its Google Docs sweet. Microsoft has incorporated the cloud in their newest versions of Microsoft Office, allowing online document storage and collaboration.
What are the benefits? The benefits of moving applications to the cloud are numerous, but here are a few.
The company or individual who uses the cloud for their application has tight control over the source code of their application. The software functionality is generally much harder to reverse engineer, software registration or licensing cannot be bypassed and updates can be made at any time and all users are affected.
No Software to Install
Many software packages come with complicated and time-consuming software to install. It places a burden on IT staff and general users whenever a new computer is purchased or software needs to be reloaded. With cloud-based computing, the software is on the servers so the end-user never needs to worry about installs or keeping software packages up-to-date – this is all done for them.
Simple Cross-Platform Support
Many times software is only available for PCs or for Macs. And more often than naught, the software is only available for certain versions of Windows or Mac OS. Moving software applications to the cloud greatly reduce the headache of being cross-platform. All modern operating systems (OSs) come with web browsers and can connect to the internet and these are the only requirements for accessing a cloud-based application. No need to worry about special compilers or special builds.
Data Back-ups and Reliability
If designed and implemented correctly, cloud-based applications can provide much more reliability than the average desktop computer can. With redundant servers and the impressive failover technologies in place at most data centers, websites can be designed such that they should never go down. Furthermore, data can be stored in redundant disk arrays, on redundant servers, or be configured to be backed-up on a regular basis. A customer’s computer may crash, but their data will be safe with cloud computing.
Usage statistics are made readily available when software operates in the cloud. Software developers can quickly and easily see what features their clients use and what features are missed. There is a level of tracking available in the cloud that is not very easily collected with desktop software.
It’s Good for Clients
Your clients will appreciate the cloud-based computing move. Instead of worry about installing proprietary software on every computer they wish to use, they only need to worry about remembering the web address and login. Work at home, in the park, at the coffee shop, or even-heaven forbid-in the office. It won’t matter where or what computer is used if the software is cloud-based.
Are there drawbacks? Cloud-based computing does come with some obstacles that should be taken into account. It is not all just a dream. An experienced and dedicated web programmer will be able to work around these quirks and provide a great user experience no matter what browser is used. Generally speaking, the problems that come with cross-browser support and much less problematic than creating special builds for every OS version.
While this is a problem that is slowly and steadily disappearing, it is nevertheless a drawback. Some people just don’t have high-speed internet access. Without it, there is no way to tap into the cloud. Also, internet access has been known to go down or become unavailable on occasion. Remember, however, that these issues are slowly becoming more and more minor as the FCC puts into place its broadband internet access plan and people begin to invest in technologies that provide secondary means of internet access (e.g., cell phones and mobile hot spots).
Not for All Apps
The cloud is a wonderful place to put software for many, but not for all. There are still some software applications that just work better on a personal computer than in the cloud. For example, as a web developer, it would not probably be advantageous for me to put web authoring software in the cloud. However, if I were collaborating on website design, the collaboration would be a perfect fit for the cloud environment, allowing all stakeholders to come together in one place (the cloud) even if in remote locations.
Moving from desktop software to the cloud requires planning and research. If implemented correctly, the potential benefits to businesses and software companies are quite impressive. As we settle into the “internet age”, cloud-based computing will become more of a mainstay of popular software programs.