The generally accepted definition of Cloud Computing comes from the National Institute of Standards and Technology (NIST). The NIST definition runs to several hundred words but essentially says that;

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

What this means in plain terms is the ability for end users to utilize parts of bulk resources and that these resources can be acquired quickly and easily.


Advantages of Cloud Computing

  • Zero upfront infrastructure investment: If you are planning to build a large-scale system it may require a huge investment in terms of real estate, hardware (racks, machines, routers, backup power supplies), hardware management (power management, cooling), other related IT resources and human resource to manage these components. Again, because of the huge upfront costs, it would also require several rounds of management approvals and time before the project could even get started. Now, with utility-style computing, there is no fixed cost or start-up cost and even time consumption is also reduced to least.
  • Just-in-time Infrastructure: In the past, if you got famous and your systems or your infrastructure did not scale to the growing needs, you became a victim of your own success. Conversely, if you invested heavily and did not get famous, you became a victim of your failure. Though clouds and with dynamic capacity management facility organizations do not have to worry about pre-procuring capacity for large-scale systems. The solutions are low risk because you scale only as your requirement grows. Cloud Architectures can relinquish infrastructure as quickly as you got them in the first place (in minutes).
  • More efficient resource utilization: More effective and efficient management of IT resources by having the applications request and relinquish resources only what they need (on-demand). 
  • Usage-based costing: Usage based costing allows billing the customer only for the infrastructure that has been used. The customer is not liable for the entire infrastructure that may be in place.
  • Shrinking the processing time: Parallelization is the one of the great ways to speed up processing. If one compute-intensive or data-intensive job that can be run in parallel takes 500 hours to process on one machine, with Cloud Architectures, it would be possible to spawn and launch 500 instances and process the same job in 1 hour. Having available an elastic infrastructure provides the application with the ability to exploit parallelization in a cost-effective manner reducing the total processing time.

Disadvantages of Cloud Computing

  • There are a number of reasons why you might not want to adopt cloud computing for your particular needs. Let's examine a few of the risks related to cloud computing:
  • Requires a constant Internet connection. Cloud computing is impossible if you can't connect to the Internet. Since you use the Internet to connect to both your applications and documents, if you don't have an Internet connection you can't access anything, even your own documents. A dead Internet connection means no work, period—and, in areas where Internet connections are few or inherently unreliable, this could be a deal-breaker. When you're offline, cloud computing simply doesn't work.
  • Doesn't work well with low-speed connections. Similarly, a low-speed Internet connection, such as that found with dial-up services, makes cloud computing painful at best and often impossible. Web-based apps require a lot of bandwidth to download, as do large documents. If you're laboring with a low-speed dial-up connection, it might take seemingly forever just to change from page to page in a document, let alone to launch a feature-rich cloud service. In other words, cloud computing isn't for the broadband-impaired.
  • Can be slow. Even on a fast connection, web-based applications can sometimes be slower than accessing a similar software program on your desktop PC. Everything about the program, from the interface to the current document, has to be sent back and forth from your computer to the computers in the cloud. If the cloud servers happen to be backed up at that moment, or if the Internet is having a slow day, you won't get the instantaneous access you might expect from desktop apps.
  • Features might be limited. This situation is bound to change, but today many web-based applications simply aren't as full-featured as their desktop-based brethren. For example, you can do a lot more with Microsoft PowerPoint than with Google Presentation's web-based offering. The basics are similar, but the cloud application lacks many of PowerPoint's advanced features. If you're a power user, you might not want to leap into cloud computing just yet.
  • Stored data might not be secure. With cloud computing, all your data is stored on the cloud. How secure is the cloud? Can unauthorized users gain access to your confidential data? Cloud computing companies say that data is secure, but it's too early in the game to be completely sure of that. Only time will tell if your data is secure in the cloud.
  • Stored data can be lost. Theoretically, data stored in the cloud is unusually safe, replicated across multiple machines. But on the off chance that your data goes missing, you have no physical or local backup. (Unless you methodically download all your cloud documents to your own desktop—which few users do.) Put simply, relying on the cloud puts you at risk if the cloud lets you down.


Resources:


Cloud Architectures (June 2008) - Jinesh Varia - Technology Evangelist, Amazon Web Services


Leave a Reply