Cloud computing

From Wikipedia, the free encyclopedia
Jump to: navigation, search

thumbAutonomy

In Computer science, cloud computing describes a type of outsourcing of computer services, similar to the way in which the supply of electricity is outsourced. Users can simply use it. They do not need to worry where the electricity is from, how it is made, or transported. Every month, they pay for what they consumed.

The idea behind cloud computing is similar: The user can simply use storage, computing power, or specially crafted development environments, without having to worry how these work internally. Cloud computing is a systems architecture model for Internet-based computing. It is the development and use of computer technology on the Internet. The cloud is a metaphor for the Internet based on how the internet is described in computer network diagrams; which means it is an abstraction hiding the complex infrastructure of the internet.[1] It is a style of computing in which IT-related capabilities are provided “as a service”,[2] allowing users to access technology-enabled services from the Internet ("in the cloud")[3] without knowledge of, or control over the technologies behind these servers.[4]

According to a paper published by IEEE Internet Computing in 2008 "Cloud Computing is a paradigm in which information is permanently stored in servers on the Internet and cached temporarily on clients that include computers, laptops, handhelds, sensors, etc."[5]

Cloud computing is a general concept that utilizes software as a service (SaaS), such as Web 2.0 and other technology trends, all of which depend on the Internet for satisfying users' needs. For example, Google Apps provides common business applications online that are accessed from a web browser, while the software and data are stored on the Internet servers.

Brief[change | change source]

Comparisons[change | change source]

Cloud computing is often confused with grid computing (a form of distributed computing whereby a "super and virtual computer" is composed of a cluster of networked, loosely-coupled computers, working together to perform very large tasks), utility computing (the packaging of computing resources, such as computation and storage are provided as a measured service that have to be paid similar to a traditional public utility such as electricity)[6] and autonomic computing (computer systems capable of self-management).[7]

Many cloud computing deployments are powered by grids, have autonomic characteristics and are billed like utilities, but cloud computing can be seen as a natural next step from the grid-utility model.[8] Some successful cloud architectures have little or no centralised infrastructure or billing systems at all including peer-to-peer networks like BitTorrent and Skype.[9]

Architecture[change | change source]

The majority of cloud computing infrastructure currently consists of reliable services delivered through data centers that are built on computer and storage virtualization technologies. The services are accessible anywhere in the world, with The Cloud appearing as a single point of access for all the computing needs of consumers. Commercial offerings need to meet the quality of service requirements of customers and typically offer service level agreements.[10] Open standards and open source software are also critical to the growth of cloud computing.[11]

Characteristics[change | change source]

As customers generally do not own the infrastructure or know all details about it, mainly they are accessing or renting, so they can consume resources as a service, and may be paying for what they do not need, instead of what they actually do need to use. Many cloud computing providers have adopted the utility computing model which is analogous to how traditional public utilities like electricity are consumed, while others are billed on a subscription basis. By sharing consumable and "intangible" computing power between multiple "tenants", utilization rates can be improved (as servers are not left idle) which can reduce costs significantly while increasing the speed of application development. A side effect of this approach is that "computer capacity rises dramatically" as customers do not have to engineer for peak loads.[12] Adoption has been enabled by "increased high-speed bandwidth" which makes it possible to receive the same response times from centralized infrastructure at other sites.

Providers[change | change source]

Cloud computing is being driven by providers including Google, Amazon.com, and Yahoo! as well as traditional vendors including IBM, Intel[13], Microsoft[14] and SAP[15]. It can adopted by all kinds of users, be they individuals or large enterprises. Most internet users are currently using cloud services, even if they do not realize it. Webmail for example is a cloud service, as are Facebook and Wikipedia and contact list synchronization and online data backups.

History[change | change source]

The Cloud[16] is a metaphor for the Internet,[17] or more generally components and services which are managed by others.[1]

The underlying concept dates back to 1960 when John McCarthy expressed his opinion that "computation may someday be organized as a public utility" and the term Cloud was already in commercial use in the early 1990s to refer to large ATM networks.[18] By the turn of the 21st century, cloud computing solutions had started to appear on the market,[19] though most of the focus at this time was on Software as a service.

Amazon.com played a key role in the development of cloud computing when upgrading their data centers after the dot-com bubble and providing access to their systems by way of Amazon Web Services in 2002 on a utility computing basis. They found the new cloud architecture resulted in significant internal efficiency improvements.[20]

2007 observed increased activity, including Google, IBM and a number of universities starting large scale cloud computing research project,[21] around the time the term started gaining popularity in the mainstream press. It was a hot topic by mid-2008 and numerous cloud computing events had been scheduled.[22]

In August 2008 Gartner observed that "organizations are switching from company-owned hardware and software assets to per-use service-based models" and that the "projected shift to cloud computing will result in dramatic growth in IT products in some areas and in significant reductions in other areas".[23]

Political issues[change | change source]

Clouds cross many country borders and "may be the ultimate form of globalisation"[24]. As such it is the subject of complex geopolitical issues, whereby providers must satisfy many legal restrictions in order to deliver service to a global market. This dates back to the early days of the Internet, where libertarian thinkers felt that "cyberspace was a distinct place calling for laws and legal institutions of its own"; author Neal Stephenson envisaged this as a tiny island data haven in his science-fiction classic novel Cryptonomicon[24].

Although there have been efforts to match the legal environment (such as US-EU Safe Harbor), providers like Amazon Web Services usually deal with international markets (typically the United States and European Union) by deploying local infrastructure and allowing customers to select their countries[25]. However there are still concerns about security and privacy for individual through various governmental levels, (for example the USA PATRIOT Act and use of national security letters and title II of the Electronic Communications Privacy Act, the Stored Communications Act).

Legal issues[change | change source]

In March 2007, Dell applied to trademark the term '"cloud computing" in the United States. It received a "Notice of Allowance" in July 2008 which was subsequently canceled on August 6, resulting in a formal rejection of the trademark application in less than a week later.

In November 2007, the Free Software Foundation released the Affero General Public License (abbreviated as Affero GPL and AGPL), a version of GPLv3 designed to close a perceived legal loophole associated with Free software designed to be run over a network, particularly software as a service. According to the AGPL license application service providers are required to release any changes they make to an AGPL open source code.

Architecture[change | change source]

CloudComputingSampleArchitecture.svg

Cloud architecture[26] is the systems architecture of the software systems involved in the delivery of cloud computing (e.g. hardware, software) as designed by a cloud architect who typically works for a cloud integrator. It typically involves multiple cloud components communicating with each other over application programming interfaces (usually web services).[27]

This is very similar to the Unix philosophy of having multiple programs doing one thing well and working together over universal interfaces. Complexity is controlled and the resulting systems are more manageable than their monolithic counterparts.

Cloud architecture extends to the client where web browsers and/or software applications are used to access cloud applications.

Cloud storage architecture is loosely coupled where metadata operations are centralized enabling the data nodes to scale into the hundreds, each independently delivering data to applications or users.

Key characteristics[change | change source]

  • Capital expenditure minimized, therefore low barrier to entry as infrastructure is owned by the provider and does not need to be purchased for one-time or infrequent intensive computing tasks. Services are typically being available to or specifically targeting retail consumers and small businesses.
  • Device and location independence[28] which enables users to access systems regardless of location or what device they are using (for example PC, mobile,... etc.).
  • Multitenancy enabling sharing of resources (and costs) among a large pool of users, allowing for:
    • Centralization of infrastructure in areas with lower costs (e.g. real estate, electricity)
    • Peak-load capacity increases (users need not engineer for highest possible load levels)
    • Utilization and efficiency improvements for systems that are often only 10-20% utilised.[20]
  • Performance is monitored and consistent but can be affected by insufficient bandwidth or high network load.
  • Reliability by way of multiple redundant sites, which makes it suitable for business continuity and disaster recovery,[29] however IT and business managers are able to do little when an outage hits them.[30] Historical data on cloud outages is tracked in the Cloud Computing Incidents Database.[31]
  • Scalability which meets changing user demands quickly, without having to engineer for peak loads. Massive scalability and large user bases are common but not an absolute requirement.
  • Security which typically improves due to centralization of data, increased security-focused resources, etc. but which raises concerns about loss of control over certain sensitive data. Accesses are typically logged but accessing the audit logs themselves can be difficult or impossible.
  • Sustainability through improved resource utilisation, more efficient systems and carbon neutrality.[32]

Components[change | change source]

CloudComputingStackLarge.svg

Application[change | change source]

A cloud application influences The Cloud model of software architecture, often eliminating the need to install and run the application on the customer's own computer, thus reducing software maintenance, ongoing operations, and support. For example:

Client[change | change source]

A cloud client is computer hardware and/or computer software which relies on The Cloud for application delivery, or which is specifically designed for delivery of cloud services, and which is in either case essentially useless without a Cloud.[33] For example:

Infrastructure[change | change source]

Cloud infrastructure (e.g. Infrastructure as a service) is the delivery of computer infrastructure (typically a platform virtualization environment) as a service.[41] For example:

Platform[change | change source]

A cloud platform (e.g. 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.[42] For example:

Service[change | change source]

A cloud service (e.g. Web Service) is "software system[s] designed to support interoperable machine-to-machine interaction over a network"[43] which may be accessed by other cloud computing components, software (e.g. Software plus services) or end users directly.[44] For example:

Storage[change | change source]

Cloud storage is the delivery of data storage as a service (including database-like services), often billed on a utility computing basis (e.g. per gigabyte per month).[45] For example:

Traditional storage vendors have recently begun to offer their own flavor of cloud storage, sometimes in conjunction with their existing software products (e.g. Symantec's Online Storage for Backup Exec). Others focus on providing a new kind of back-end storage optimally designed for delivering cloud storage (EMC's Atmos), categorically known as Cloud Optimized Storage.

Roles[change | change source]

Provider[change | change source]

A cloud computing provider or cloud computing service provider owns and operates cloud computing systems serve someone else. Usually this needs building and managing new data centers. Some organisations get some of the benefits of cloud computing by becoming "internal" cloud providers and servicing themselves, though they do not benefit from the same economies of scale and still have to engineer for peak loads. The barrier to entry is also significantly higher with capital expenditure required and billing and management creates some overhead. However, significant operational efficiency and quickness advantages can be achieved even by small organizations, and server consolidation and virtualization rollouts are already in progress.[46] Amazon.com was the first such provider, modernising its data centers which, like most computer networks were using as little as 10% of its capacity at any one time just to leave room for occasional spikes. This allowed small, fast-moving groups to add new features faster and easier, and they went on to open it up to outsiders as Amazon Web Services in 2002 on a utility computing basis.[20]

The companies listed in the Components section are providers.

User[change | change source]

A user is a consumer of cloud computing.[33] The privacy of users in cloud computing has become of increasing concern.[47][48] The rights of users is also an issue, which is being addressed via a community effort to create a bill of rights (currently in draft).[49][50]

Vendor[change | change source]

A vendor sells products and services that facilitate the delivery, adoption and use of cloud computing.[51] For example:

Standards[change | change source]

A cloud standard is one of a number of existing (typically lightweight) open standards that have facilitated the growth of cloud computing, including:[56]

References[change | change source]

  1. 1.0 1.1 The Internet Cloud
  2. Gartner Says Cloud Computing Will Be As Influential As E-business
  3. What's the difference Between Cloud Computing and SaaS?
  4. Distinguishing Cloud Computing from Utility Computing
  5. ORGs for Scalable, Robust, Privacy-Friendly Client Cloud Computing
  6. "It’s probable that you’ve misunderstood “Cloud Computing” till now". TechPluto. http://www.techpluto.com/cloud-computing-meaning/.
  7. What's In A Name? Utility vs. Cloud vs Grid
  8. I.B.M. to Push ‘Cloud Computing,’ Using Data From Afar
  9. ACM Ubiquity: Emergence of The Academic Computing Cloud
  10. Rajkumar Buyya1, Chee Shin Yeo1, Srikumar Venugopal1. "Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities" (PDF). Department of Computer Science and Software Engineering, The University of Melbourne, Australia. Retrieved on 31 July 2008.
  11. Open source fuels growth of cloud computing, software-as-a-service
  12. Cloud Computing: The Evolution of Software-as-a-Service
  13. With Their Heads in the Clouds
  14. Microsoft Fueling Cloud Computing Initiatives
  15. http://www.informationweek.com/news/services/saas/showArticle.jhtml?articleID=207601148
  16. Cloud Computing: When Computers Really Do Rule
  17. What cloud computing really means
  18. July, 1993 meeting report from the IP over ATM working group of the IETF
  19. Internet Critic Takes on Microsoft
  20. 20.0 20.1 20.2 Jeff Bezos' Risky Bet
  21. Google and I.B.M. Join in ‘Cloud Computing’ Research
  22. Keep an eye on cloud computing
  23. Gartner Says Worldwide IT Spending On Pace to Surpass $3.4 Trillion in 2008
  24. 24.0 24.1 Computers without borders
  25. Feature Guide: Amazon EC2 Availability Zones
  26. Building GrepTheWeb in the Cloud, Part 1: Cloud Architectures
  27. Cloud Maturity Is Accelerating: More Than Just Reaction To The Hype?
  28. The new geek chic: Data centers
  29. Cloud Computing: Small Companies Take Flight
  30. Google Apps Admins Jittery About Gmail, Hopeful About Future
  31. A New Resource, Born of a Cloud Feud
  32. Google to go carbon neutral by 2008
  33. 33.0 33.1 Nimbus Cloud Guide
  34. Google's Open Source Android OS Will Free the Wireless Web
  35. In Sync to Pierce the Cloud
  36. Microsoft demos mobile cloud sync client
  37. CherryPal brings cloud computing to the masses
  38. Zonbu has alluring features, price
  39. GOS cloud computing
  40. Google Chrome Aims to Break Microsoft Windows
  41. EMC buys Pi and forms a cloud computing group
  42. Google angles for business users with 'platform as a service'
  43. "Web Services Glossary". http://www.w3.org/TR/ws-gloss/.
  44. The Emerging Cloud Service Architecture
  45. Google, Microsoft and Apple building online storage havens: you win
  46. ACM Queue - Beyond Server Consolidation
  47. ORGs for Scalable, Robust, Privacy-Friendly Client Cloud Computing
  48. Google Privacy Practices Worse Than ISP Snooping, AT&T Charges
  49. Draft Cloud Computing: Bill of Rights Now Available
  50. Johnston, Sam; Urquhart, James; Wellner, Rich (2008-09-16). "Cloud Computing:Bill of rights". http://wiki.cloudcommunity.org/wiki/CloudComputing:Bill_of_Rights. Retrieved 2008-09-16.
  51. List of Cloud Platforms, Providers and Enablers
  52. http://blogs.zdnet.com/igeneration/?p=500
  53. http://www.itpro.co.uk/606705/ballmer-microsoft-to-launch-cloud-os
  54. "About - What is the Azure Services Platform". Microsoft. http://www.microsoft.com/azure/whatisazure.mspx. Retrieved 2008-11-03.
  55. Red Hat chief: 'The clouds will all run Linux'
  56. The Cloud and Standards
  57. Lock-in, security loom as dark side of Compute Cloud
  58. LinuxWorld/Next Generation Data Center attendees get schooled in cloud computing

Other websites[change | change source]