What is Cloud Computing?
Cloud computing is one of many terms for a software provision model where users log on to a server to access software. Other names for this model for computing are remote computing software service, software as a service, or application service provision. Regardless of the label, the structure of computing is the same: a distributed user base using the internet to access software that is running on a remote server. On the server side, the service provision can be distributed as well using hundreds of different servers.
How does Cloud Computing work?
Put in the simplest terms, cloud computing involves an application located on a remote server accessed over the internet. These servers might be a network of servers running different installations of the same application. This distributed system benefits the users because they are not dependent on any one installation or any one particular server or any one server cluster. If certain installations of the software fail or are non responsive, the web interface automatically patches the user to a server or network of servers that are working.
Another key feature of cloud computing is pay per use billing model or recurring subscription billing model. You pay only for what you use, or you pay for access for a fixed amount of time. You can stop at any time or within the limits stipulated in your user agreement.
Finally, the last distinguishing feature of cloud computing is it uses a client-to-server model. This means it uses your client, which is either your browser or a temporary Java installed local software that runs on your computer’s memory. You use either of these to access the remote server. These two methods are the two most common cloud computing access models. However, there is also peer to peer cloud computing. Instead of a server client set up, when you login to a distributed server, your computer downloads an application with peer to peer capabilities which then allow you to run the software through an independent peer to peer network created when other users install and run the peer-to-peer application.
What are the most common applications that use cloud computing?
Gmail and Google’s Services
Web-based mail is nothing new. It has been around ever since RocketMail later known as Yahoo mail and Hotmail pioneered the service. The advantages that people enjoyed with webmail apply to the advantages that they enjoy when using any other cloud-based applications. Simply put e-mail is an application. Originally, it is a desktop application like Microsoft Office and similar software titles. By putting it on a cloud computing model, users can leverage the power of a distributed application service provision model to their advantage. Google services doesn’t just include gmail it also include web readers, spread sheets, word processing and a wide range of applications that you would normally use local software for.
Amazon Web Services
Amazon is a massive e-commerce pioneer. Since they run a huge online catalog and shopping system, their websites require a very beefy infrastructure. Early on Amazon started a massive hardware build out until they reached a point that they had excess capacity in terms of hardware computing power, hosting, and web storage. Trying to keep such resources from going to waste, Amazon began leasing this excess capacity to other websites who wanted to run their software on Amazon’s huge network of remote computers.
Another model that Amazon uses is to run the application on their servers but use their client’s website online interfaces as front ends. This is slightly different from a direct application provision. What this set up involves is a client website has its own webpage. When a user goes to the web page and logs in, the application itself is served up from Amazon.
Copyscape is a plagiarism and duplicate content checker used by webmasters and online writers. This customer base needs Copyscape’s services because search engines penalize web copy that has plagiarized or duplicate content. Such content normally gets penalized by Google and other search engines. To avoid the duplicate content penalty, many writers, web publishers, and webmasters use Copyscape to check the text that they’re thinking of putting up on their sites. Copyscape then runs a duplicate check on their servers and then publishes the feedback in a web interface. Technically, this kind of service can be run on local software using the browser functionality to retrieve search results but Copyscape uses a cloud computing model to provide this functionality.
Onebox is a file synchronization service which standardizes all your files regardless of the device you use. Whether you use a mobile phone, a laptop or a tablet device or your work station at your place of employment, this service synchronizes all your files. Onebox downloads a small software on your computer which then synchronizes your locally created files and distributes them to your other remote devices and also creates an archive at a central server.
This system’s advantage is that regardless of the device you’re using to access the internet, you will always get the most recent version of whatever file you’ve been working on. Most importantly, if, for some reason, all your remote devices, from your laptop, to your mobile phone, to your iPad or to your workstation all crash and burn, get damaged or stolen, you will always have a copy in the Onebox central server. This is a powerful centralized application that also allows you to create special access with differing degrees of permission to people all over the internet that you wish to have access to your files. When they alter those files, you can set your settings to have it synchronized on your remote devices as well.
What are the benefits of cloud computing?
Pay-per usage model
Just like leasing a car, where you only pay for the car’s life that you actually use or had the potential to use, many cloud computing agreements let you pay only for the part of the software that you use. If you plan to use a particular web application a lot, you pay for a larger block of services. However, if you anticipate using the service in only modest amounts, there are discounted packages you can take advantage of. For example, Copyscape charges 5 cents per search, however there is a minimum amount you have to buy – 10 dollars. That’s good for 200 searches and you can scale up from there. For example, if you see yourself becoming a heavy web writer or heavy publisher, you can buy more credits. That’s the beauty of the pay per usage system – it ensures that you don’t overpay for the software.
This is in stark contrast to, for example, buying Adobe Photoshop (a very expensive graphics package) and either using only one small feature or seldom using a lot of features. In both these situations, cloud computing offers a more cost-effective solution. If you only need one feature of an otherwise expensive software suite, a cloud-based option would normally give you the option of choosing among differing individual service packages. You pick the service package with the feature you want and you save money by not having to buy a larger collection of services. Similarly, if you’ve shelled out hundreds of dollars for local software and you’re only using it a few times a month, you are losing a lot of money. Cloud computing fixes this problem by offering different usage packages. Some programs even allow single usage billing so using a feature is easy on your pocket book. Regardless of which way you go, you could end up saving a lot of money with cloud computing if you measure your costs on a cost per usage basis.
Distributed costs vs localized costs
Software can be very expensive to research and develop. Development costs are normally passed on to the consumers of the software. Applications that have a wide pool of potential users can normally get away with charging less because the amount of users who could end up subsidizing or dividing the initial development costs is so huge that the per head final price can be lower. But if you are using a particularly specialized application for a niche market, chances are high that there’s only a small pool of customers among whom the cost of development can be divided. This is why more specialized pieces of software like, for example, really beefy graphic design software, sophisticated animation software or other niche software applications, tend to be more expensive. We’re talking about hundreds of dollars, if not thousands.
The beauty of cloud computing is that it distributes your costs. Since you’re only paying per usage, you can use very sophisticated software for a price that won’t burn a whole in your pocket. However, if you aggregate that price it adds up to a lot of money that goes a long way in subsidizing the development cost. However, due to the pay-per-usage model and also the feature bundling model of most cloud computing services, the end result is a lower cost to the end user.
Another advantage of the distributed cost system of cloud computing compared to the localized costs of locally installed software is there is less hardware costs on your end. The only hardware that you are investing money in is the mobile phone, laptop, iPad, or workstation you’re using to access the cloud. The cost of running the application doesn’t require to buy a server to run this powerful software. Compare this to localized hardware costs where, for example, some powerful graphics software packages require you to buy a bigger hard drive, external hard drive, or USB storage devices to accommodate the software’s file production. Also, you might have to buy a new motherboard for your workstation because of the heavier system requirements of the application. Through cloud computing, all the heavy lifting that’s required by hardware equipment is done at the server end. What you get is just the input interface and the results of your input. This setup saves you a lot of money in opportunity costs in terms of hardware you could have bought.
No Local Software to Update
Unlike locally installed software where you either have to buy a software upgrade package or download updates from the internet, cloud computing applications are updated automatically at the server end. Maybe the only way you’d notice the upgrade/update process is when you get a temporary system upgrade notice when you try to access the web service’s page. But other than minor convenience, you rarely feel the cost or hassle of software upgrades or updates. There is no effort required on your part to update the application. This could be a crucial issue for local software. If the local software you installed has a bug, you might be forced to manually update it if you didn’t set the software for auto update. This whole process could be a headache if you generated data that is either lost, corrupted, or otherwise harmed by the bug, exploit or hack. A common example of this is a case of antivirus software that are set to manual update.
With cloud computing, all updates and upgrades are done on the server end. In contrast, depending on the local software you buy, the upgrades cost money. Some software packages are very expensive and you have to spend even more money to upgrade them. With cloud computing, updates are normally free. This feature adds a lot of savings to your bottom line.
Cloud computing works on a global network of computers. It is accessible wherever you can get internet access. Regardless of whether you’re on the road, hopping from one free hot spot to another , at the airport, or on your hotel’s local area network, you always have access to your application service provider. Nice and simple. Compare this situation to having your local software installed on one particular computer. What if you’re not traveling with that computer? What happens then? If your computer gets stolen, you would either have to reinstall the software to a new computer or buy new software. Either option is a hassle. You might also have to go through security verification and other hurdles when reinstalling old software. What if you misplaced the CD key or verification code? The great thing about cloud computing are you doing have to worry about installing your application. It’s already installed at a central location.
Global Data Storage
When using your remote application, you generate data files which are saved online. Most also let you export a local copy to your local device. This is a great feature of cloud computing because if your local data gets corrupted and lost, you will always have a copy stored online which you can access anywhere.
Another cost-saving dimension of this feature is you spend less money on local storage devices like USB drives, CD-Rs, DVDs or a brand-new hard drive because your data is stored online. The cost of that storage hardware is factored in already and distributed among hundreds and thousands or even millions of other users and your end cost is very minimal on a cloud computing level. Compare that with having to shoulder the cost of local storage devices. It can get very pricey especially if you’re handling very large files.
As discussed above, software updates are handled remotely in the cloud computing model. In a local software model, software maintenance can be a headache because you have to work with customer support. You also might have to deal with reading the software’s manual. Too much hassle. With cloud computing, you have a pool of skilled engineers specifically trained in that piece of software who maintains it. 24/7. No fuss and no muss for you.
Multiple Platform Support
Although most local software runs on Windows, it is a different story all together when talking about the Mac or Linux platforms. This can be a problem when you’re switching from one OS to another. You better get ready by installing different kinds of OS or have a platform translator like WINE for Linux. This just jacks up your costs because you have to pay for differing platforms or it can be quite inconvenient if you’re running different machines on different platforms. In contrast, cloud computing runs on a browser. By definition, it offers multiple platform support. As long as you can access the interface online, you are ready to go.
Multiple Device Support
Although not all application service providers offer multiple device support, this is a fast growing trend in cloud computing. Take the example of Onebox. It is a cloud synchronization application that runs on a wide range of devices from mobile phones, iPad, tablets, laptops, netbooks and workstations and they all synchronize and run smoothly together. This is a future direction for cloud computing. While many cloud computing services like web based e-mail and Copyscape are all browsers based and readily lend themselves to mobile internet surfing access, other applications tend to be more browsers specific and may need to evolve a more mobile device friendly interface. In terms of multiple device support, the big issue in cloud computing is not whether it can do it but in terms of how it can implement the most efficient interface. In the case of local software, most don’t have a mobile version. There are no app versions of really beefy software so this is a non-starter for many, if not most, software applications.
If somebody hacks into your local computer and either destroys your files or compromises your application security, you’re out of luck. If the attacker harms your application installations, you have to reinstall them. If you did not make the necessary backups and provisions, you’re out of luck. You have to buy a new version of your software. You’re basically on your own. This is not the case with software as a service providers, since these services require web access, there are a lot of security features already built in to protect against unauthorized access and to prevent hacking. Most importantly, if there is a security breach, it is handled on the server side by specially trained technicians. Compare this to a local security breach where you have to call voice support to deal with the problem.
Open Source Software
Many application service providers and cloud computing service providers use open source software as their application platforms. One particularly popular platform is Java, owned by Oracle Systems. There are also open source load balancing and application management software that act as traffic controllers between a server requesting operations from other servers and thousand of requesting clients. The beauty of open source software is that it’s free for cloud providers and hopefully in the end a good deal for consumers. There are licensing costs involved but these licensing costs are shouldered by the application service provider and cut up through the distributed cost model among the users. So the end users don’t feel the sting of the cost of the software. Local software, on the other hand, is often proprietary and it’s an expense the end user has to bear.
Disadvantages of Cloud Computing
As fantastic as cloud computing may sound, it comes with its own disadvantages. Here are just a few of them. Depending on your particular situation, these might be deal killers that would prevent you from going the cloud computing route.
Internet connection required
Internet connection is absolutely necessary. Since they are web-based applications, web-based tools require you to always have an internet connection. While this is not a problem if you live in an area blanketed by free Wi-Fi hot spots or if you have low cost WIFI package, this could be a major headache if you are located in an area where you have to pay differing wifi providers for access or you only have an internet connection at your work or at home. If you cannot be assured of ready access to the Web when you need it, as you need it, and where you need it, cloud computing might not be an option for you.
Dependence on remote server speed and reliability
Obviously not all cloud computing providers don’t have the powerful hardware infrastructure of giant companies like Google and Amazon. Many application service providers have their own very small network of servers. Some don’t even have a network of servers. Some just only have one server running the application. No redundancy, no back-up, and no distributed computer power.
This is a very risky situation since their server is very limited. If you’re using a very specialized application service provider, you might be better off with just buying a more expensive local application. However, even in the case of major powerhouses like Google and Amazon, even their infrastructure suffer problems from time to time. Gmail, for example, has relatively few down times but when it does suffer a hiccup the service disruptions cause massive headaches. Not just for you but millions of other people across the globe.
Although this concern tends to be minimized if you go with a larger service provider, it’s still a very real risk because no one can really guard against network-based disruptions or security threats through a cloud computing network. Also, if you really need to work a particular application at a particular time and that web application is down for that time, you’ll suffer quite a bit of loss – in terms of lost time, lost productivity and quite possibly, lost income.
Risk of Global Data Security Breach
As exemplified by the data breach suffered by Sony’s Playstation network, any time distributed software suffers a data security issue, it can translate to a lot of hassles. It can also result in sensitive data like credit card information, personal information or personal health data being passed on to unauthorized persons. In the case of credit card information, it can be used to your severe detriment. While locally installed software can also suffer security breaches through viruses, trojans, or root kits, the damage is localized. With cloud computing, the damage is globalized. While the risk of this threat decreases with the size and power of the application service provider, this risk doesn’t totally go away.
Bottom line of Cloud Computing
Due to the explosion of mobile devices, the diversity of ways people interact with software and the internet’s powerful reach and global infrastructure, cloud computing is a trend that is here to stay. While it offers many solid benefits, this computing model’s disadvantages are real and grave enough that, given your particular situation, they may outweigh cloud computing’s benefits. Pay careful attention to your particular application needs, your application service provider’s integrity and capability, and your own particular budget considerations and pick the proper model that best suits your needs.