Welcome to ScalableC

Cloud Computing

Created: 2010-02-01 09:00:58

<p style="text-align: justify;">A general outlook of people towards cloud computing is of awe and fascination not realising that this already is existing in a downscaled form today. Various cloud computing service providers like Google, Amazon, Microsoft Azure, Salesforce etc. are already involved in computing which is technically called cloud computing. Lets take a look at the cloud computing definition:</p> <p style="text-align: justify;">Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the “cloud” that supports them.</p> <p style="text-align: justify;">The concept generally incorporates combinations of the following:</p> <p style="text-align: justify;">* infrastructure as a service (IaaS)<br /> * platform as a service (PaaS)<br /> * software as a service (SaaS)<br /> * Other recent (ca. 2007–09)technologies that rely on the Internet to satisfy the computing needs of users. Cloud computing services often provide common business applications online that are accessed from a web browser, while the software and data are stored on the servers.</p> <p style="text-align: justify;">From a business oriented veiw this could mean virtualisation of the existing data centres. For example, a application required by a firm can be loaded just once on the cloud server and can be accesssed by a interfacing software. Thus, instead of installing a suite of software for each computer, you’d only have to load one application. That application would allow workers to log into a Web-based service which hosts all the programs the user would need for his or her job. Remote machines owned by another company would run everything from e-mail to word processing to complex data analysis programs. In a cloud computing system, there’s a significant workload shift. Local computers no longer have to do all the heavy lifting when it comes to running applications. The network of computers that make up the cloud handles them instead. Hardware and software demands on the user’s side decrease. The only thing the user’s computer needs to be able to run is the cloud computing system’s interface software, which can be as simple as a Web browser, and the cloud’s network takes care of the rest.</p> <p style="text-align: justify;">There’s a good chance you’ve already used some form of cloud computing. If you have an e-mail account with a Web-based e-mail service like Hotmail, Yahoo! Mail or Gmail, then you’ve had some experience with cloud computing. Instead of running an e-mail program on your computer, you log in to a Web e-mail account remotely. The software and storage for your account doesn’t exist on your computer — it’s on the service’s computer cloud.</p> <p style="text-align: justify;">Cloud Computing Applications</p> <p style="text-align: justify;">The applications of cloud computing are practically limitless. With the right middleware, a cloud computing system could execute all the programs a normal computer could run. Potentially, everything from generic word processing software to customized computer programs designed for a specific company could work on a cloud computing system.</p> <p style="text-align: justify;">Here are just a few ‘pros’ for cloud computing:</p> <p style="text-align: justify;">* People would be able to access their applications and data from anywhere at any time. They could access the cloud computing system using any computer linked to the Internet. Data wouldn’t be confined to a hard drive on one user’s computer or even a corporation’s internal network.<br /> * It could bring hardware costs down. You wouldn’t need to buy the fastest computer with the most memory, because the cloud system would take care of those needs for you. Instead, you could buy an inexpensive computer terminal.<br /> * Cloud computing systems give organizations company-wide access to computer applications. The companies don’t have to buy a set of software or software licenses for every employee.<br /> * Cloud computing gives companies the option of storing data on someone else’s hardware, removing the need for physical space on the front end.<br /> * If the cloud computing system’s back end is a grid computing system, then the client could take advantage of the entire network’s processing power. Often, scientists and researchers work with calculations so complex that it would take years for individual computers to complete them. On a grid computing system, the client could send the calculation to the cloud for processing. The cloud system would tap into the processing power of all available computers on the back end, significantly speeding up the calculation.</p> <p style="text-align: justify;">Cons of cloud computing</p> <p style="text-align: justify;">Because cloud computing does not allow users to physically possess the storage of their data (the exception being the possibility that data can be backed up to a user-owned storage device, such as a USB flash drive or hard disk) it does leave responsibility of data storage and control in the hands of the provider.</p> <p style="text-align: justify;">Cloud computing has been criticized for limiting the freedom of users and making them dependent on the cloud computing provider, and some critics have alleged that is only possible to use applications or services that the provider is willing to offer. Thus, comparing cloud computing to centralized systems of the 1950s and 60s, by which users connected through “dumb” terminals to mainframe computers. Typically, users had no freedom to install new applications and needed approval from administrators to achieve certain tasks. Overall, it limited both freedom and creativity. Some people argue that cloud computing is a regression to that time.</p> <p style="text-align: justify;">Similarly, Richard Stallman, founder of the Free Software Foundation, believes that cloud computing endangers liberties because users sacrifice their privacy and personal data to a third party. He stated that cloud computing is “simply a trap aimed at forcing more people to buy into locked, proprietary systems that would cost them more and more over time.”</p> <p style="text-align: justify;">Further to Stallman’s observation, It would be a challenge for hosting/deploying intranet and access restricted (for Govt., defense, institutional, etc) sites and their maintenance. Commercial sites using tools such as web analytics may not be able to capture right data for their business planning etc.</p> <p style="text-align: justify;">Some jargon related to cloud computing :</p> <p style="text-align: justify;">Cloud Clients:</p> <p style="text-align: justify;">A cloud client consists of computer hardware and/or computer software which relies on cloud computing for application delivery, or which is specifically designed for delivery of cloud services and which, in either case, is essentially useless without it.For example:</p> <p style="text-align: justify;">* Mobile (Android, iPhone, Windows Mobile)</p> <p style="text-align: justify;">* Thin client (CherryPal, Zonbu, gOS-based systems)</p> <p style="text-align: justify;">* Thick client / Web browser (Microsoft Internet Explorer, Mozilla Firefox)</p> <p style="text-align: justify;">Cloud Computing Infrastructure:</p> <p style="text-align: justify;">Cloud infrastructure, such as Infrastructure as a service, is the delivery of computer infrastructure, typically a platform virtualization environment, as a service.For example:</p> <p style="text-align: justify;">* Full virtualization (GoGrid, Skytap)<br /> * Grid computing (Sun Cloud)<br /> * Management (RightScale)<br /> * Compute (Amazon Elastic Compute Cloud)<br /> * Platform (Force.com)</p> <p style="text-align: justify;">Cloud Platform:</p> <p style="text-align: justify;">A cloud platform, such as Platform as a service, the delivery of a computing platform, and/or solution stack as a service, facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers. For example:</p> <p style="text-align: justify;">* Code Based Web Application Frameworks<br /> o Java Google Web Toolkit (Google App Engine)<br /> o Python Django (Google App Engine)<br /> o Ruby on Rails (Heroku)<br /> o .NET (Azure Services Platform)<br /> * Non-Code Based Web Application Framework<br /> o WorkXpress<br /> * Web hosting (Mosso)<br /> * Proprietary (Force.com)</p> <p style="text-align: justify;">Cloud Service:</p> <p style="text-align: justify;">A cloud service includes “products, services and solutions that are delivered and consumed in real-time over the Internet”. For example, Web Services (“software system[s] designed to support interoperable machine-to-machine interaction over a network”) which may be accessed by other cloud computing components, software, e.g., Software plus services, or end users directly. Specific examples include:</p> <p style="text-align: justify;">* Identity (OAuth, OpenID)<br /> * Integration (Amazon Simple Queue Service)<br /> * Payments (Amazon Flexible Payments Service, Google Checkout, PayPal)<br /> * Mapping (Google Maps, Yahoo! Maps)<br /> * Search (Alexa, Google Custom Search, Yahoo! BOSS)<br /> * Others (Amazon Mechanical Turk)</p>