Cloud computing




Cloud computing

Cloud computing logical diagramCloud computing is Internet- ("cloud-") based development and use of computer technology ("computing").In concept, it is a paradigm shift whereby details are abstracted from the users who no longer need knowledge of, expertise in, or control over the technology infrastructure "in the cloud" that supports them.It typically involves the provision of dynamically scalable and often virtualized resources as a service over the Internet.

The term cloud is used as a metaphor for the Internet, based on how the Internet is depicted in computer network diagrams and is an abstraction of the underlying infrastructure it conceals. Typical cloud computing providers deliver common business applications online which are accessed from a web browser, while the software and data are stored on the servers.

These applications are broadly divided into the following categories: Software as a Service (SaaS), Utility Computing, Web Services, Platform as a Service (PaaS), Managed Service Providers (MSP), Service Commerce, and Internet Integration. The name cloud computing was inspired by the cloud symbol that is often used to represent the Internet in flow charts and diagrams.

Comparisons
Cloud computing can be 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 acting in concert to perform very large tasks"
Utility computing — the "packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility, such as electricity";
Autonomic computing — "computer systems capable of self-management".
Indeed, many cloud computing deployments depend on grids, have autonomic characteristics, and bill like utilities, but cloud computing tends to expand what is provided by grids and utilities. Some successful cloud architectures have little or no centralized infrastructure or billing systems whatsoever, including peer-to-peer networks such as BitTorrent and Skype, and volunteer computing such as SETI@home.

Characteristics
In general, cloud computing customers do not own the physical infrastructure, instead avoiding capital expenditure by renting usage from a third-party provider. They consume resources as a service and pay only for resources that they use. Many cloud-computing offerings employ the utility computing model, which is analogous to how traditional utility services (such as electricity) are consumed, whereas others bill on a subscription basis. Sharing "perishable and intangible" computing power among multiple tenants can improve utilization rates, as servers are not unnecessarily left idle (which can reduce costs significantly while increasing the speed of application development). A side-effect of this approach is that overall computer usage rises dramatically, as customers do not have to engineer for peak load limits. In addition, "increased high-speed bandwidth" makes it possible to receive the same response times from centralized infrastructure at other sites.

Economics
Cloud computing users can avoid capital expenditure (CapEx) on hardware, software, and services when they pay a provider only for what they use. Consumption is usually billed on a utility (resources consumed, like electricity) or subscription (time-based, like a newspaper) basis with little or no upfront cost. Other benefits of this time sharing-style approach are low barriers to entry, shared infrastructure and costs, low management overhead, and immediate access to a broad range of applications. In general, users can terminate the contract at any time (thereby avoiding return on investment risk and uncertainty), and the services are often covered by service level agreements (SLAs) with financial penalties.
According to Nicholas Carr, the strategic importance of information technology is diminishing as it becomes standardized and less expensive. He argues that the cloud computing paradigm shift is similar to the displacement of electricity generators by electricity grids early in the 20th century.
Although companies might be able to save on upfront capital expenditures, they might not save much and might actually pay more for operating expenses. In situations where the capital expense would be relatively small, or where the organization has more flexibility in their capital budget than their operating budget, the cloud model might not make great fiscal sense. Other factors impacting the scale of any potential cost savings include the efficiency of a company’s data center as compared to the cloud vendor’s, the company's existing operating costs, the level of adoption of cloud computing, and the type of functionality being hosted in the cloud.[16][17]

Architecture
The majority of cloud computing infrastructure, as of 2009[update], consists of reliable services delivered through data centers and built on servers. Clouds often appear as single points of access for all consumers' computing needs. Commercial offerings are generally expected to meet quality of service (QoS) requirements of customers and typically offer SLAs. [18] Open standards are critical to the growth of cloud computing, and open source software has provided the foundation for many cloud computing implementations.[19]

History
The Cloud is a term that borrows from telephony. Up to the 1990s, data circuits (including those that carried Internet traffic) were hard-wired between destinations. Then, long-haul telephone companies began offering Virtual Private Network (VPN) service for data communications. Telephone companies were able to offer VPN-based services with the same guaranteed bandwidth as fixed circuits at a lower cost because they could switch traffic to balance utilization as they saw fit, thus utilizing their overall network bandwidth more effectively. As a result of this arrangement, it was impossible to determine in advance precisely which paths the traffic would be routed over. The cloud symbol was used to denote that which was the responsibility of the provider, and cloud computing extends this to cover servers as well as the network infrastructure.
The underlying concept of cloud computing dates back to 1960, when John McCarthy opined that "computation may someday be organized as a public utility"; indeed it shares characteristics with service bureaus that date back to the 1960s. In 1997, the first academic definition was provided by Ramnath K. Chellappa who called it a computing paradigm where the boundaries of computing will be determined by economic rationale rather than technical limits.[20] The term cloud had already come into commercial use in the early 1990s to refer to large Asynchronous Transfer Mode (ATM) networks.
Loudcloud, founded in 1999 by Marc Andreessen, was one of the first to attempt to commercialize cloud computing with an Infrastructure as a Service model[22]. By the turn of the 21st century, the term "cloud computing" began to appear more widely,[23] although most of the focus at that time was limited to SaaS, called "ASP's" or Application Service Providers, under the terminology of the day.
In the early 2000s, Microsoft extended the concept of SaaS through the development of web services[citation needed]. IBM detailed these concepts in 2001 in the Autonomic Computing Manifesto, which described advanced automation techniques such as self-monitoring, self-healing, self-configuring, and self-optimizing in the management of complex IT systems with heterogeneous storage, servers, applications, networks, security mechanisms, and other system elements that can be virtualized across an enterprise.
Amazon played a key role in the development of cloud computing by modernizing their data centers after the dot-com bubble, which, like most computer networks, were using as little as 10% of their capacity at any one time just to leave room for occasional spikes. Having found that the new cloud architecture resulted in significant internal efficiency improvements whereby small, fast-moving "two-pizza teams" could add new features faster and easier, Amazon started providing access to their systems through Amazon Web Services on a utility computing basis in 2005.This characterization of the genesis of Amazon Web Services has been characterized as an extreme over-simplification by a technical contributor to the Amazon Web Services project .
In 2007, Google, IBM, and a number of universities embarked on a large scale cloud computing research project.[26] By mid-2008, Gartner saw an opportunity for cloud computing "to shape the relationship among consumers of IT services, those who use IT services and those who sell them",[27] and observed that "[o]rganisations are switching from company-owned hardware and software assets to per-use service-based models" so 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."[28]

[edit] Political issues
The Cloud spans many borders and "may be the ultimate form of globalization."[29] As such, it becomes subject to complex geopolitical issues, and providers are pressed to satisfy myriad regulatory environments in order to deliver service to a global market. This dates back to the early days of the Internet, when libertarian thinkers felt that "cyberspace was a distinct place calling for laws and legal institutions of its own"[29].

Despite efforts (such as US-EU Safe Harbor) to harmonize the legal environment, as of 2009[update], providers such as Amazon cater to major markets (typically the United States and the European Union) by deploying local infrastructure and allowing customers to select "availability zones."[30] Nonetheless, concerns persist about security and privacy from individual through governmental levels (e.g., the USA PATRIOT Act, the use of national security letters, and the Electronic Communications Privacy Act's Stored Communications Act).

[edit] Legal issues
In March 2007, Dell applied to trademark the term "cloud computing" (U.S. Trademark 77,139,082) in the United States. The "Notice of Allowance" the company received in July 2008 was cancelled in August, resulting in a formal rejection of the trademark application less than a week later.

In November 2007, the Free Software Foundation released the Affero General Public License, a version of GPLv3 intended to close a perceived legal loophole associated with free software designed to be run over a network. Founder and president, Richard Stallman has also warned that cloud computing "will force people to buy into locked, proprietary systems that will cost more and more over time".[31]

[edit] Key characteristics
Agility improves with users able to rapidly and inexpensively re-provision technological infrastructure resources.[32].
Cost is claimed to be greatly reduced and capital expenditure is converted to operational expenditure[33]. This ostensibly lowers barriers to entry, as infrastructure is typically provided by a third-party and does not need to be purchased for one-time or infrequent intensive computing tasks. Pricing on a utility computing basis is fine-grained with usage-based options and fewer IT skills are required for implementation (in-house).[34]
Device and location independence[35] enable users to access systems using a web browser regardless of their location or what device they are using (e.g., PC, mobile). As infrastructure is off-site (typically provided by a third-party) and accessed via the Internet, users can connect from anywhere.[34]
Multi-tenancy enables sharing of resources and costs across a large pool of users thus allowing for:
Centralization of infrastructure in locations with lower costs (such as real estate, electricity, etc.)
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% utilized.[24]
Reliability improves through the use of multiple redundant sites, which makes cloud computing suitable for business continuity and disaster recovery.[36] Nonetheless, many major cloud computing services have suffered outages, and IT and business managers can at times do little when they are affected.[37][38]
Scalability via dynamic ("on-demand") provisioning of resources on a fine-grained, self-service basis near real-time, without users having to engineer for peak loads. Performance is monitored, and consistent and loosely-coupled architectures are constructed using web services as the system interface.[34]
Security typically improves due to centralization of data[39], increased security-focused resources, etc., but concerns can persist about loss of control over certain sensitive data, and the lack of security for stored kernels[40]. Security is often as good as or better than under traditional systems, in part because providers are able to devote resources to solving security issues that many customers cannot afford[41]. Providers typically log accesses, but accessing the audit logs themselves can be difficult or impossible. Furthermore, the complexity of security is greatly increased when data is distributed over a wider area and / or number of devices.
Sustainability comes about through improved resource utilization, more efficient systems, and carbon neutrality.[42][43] Nonetheless, computers and associated infrastructure are major consumers of energy.[44]
Maintenance cloud computing applications are easier to maintain, since they don't have to be installed on each user's computer. They are easier to support and to improve since the changes reach the clients instantly.
[edit] Layers
[edit] Clients
See also category: Cloud clients

A cloud client consists of computer hardware and/or computer software that relies on cloud computing for application delivery, or that is specifically designed for delivery of cloud services and that, in either case, is essentially useless without it.[45] For example:

Mobile (Linux based - Palm Pre-WebOS Linux Kernel, Android-Linux Kernel, iPhone-Darwin Linux Kernel, Microsoft based - Windows Mobile)[46][47][48]
Thin client (CherryPal, Wyse, Zonbu, gOS-based systems)[49][50][51]
Thick client / Web browser (Internet Explorer, Mozilla Firefox, Google Chrome, WebKit)
[edit] Application
See also category: Cloud applications

A cloud application leverages cloud computing in software architecture, often eliminating the need to install and run the application on the customer's own computer, thus alleviating the burden of software maintenance, ongoing operation, and support. For example:

Peer-to-peer / volunteer computing (BOINC, Skype)
Web applications (Webmail, Facebook, Twitter, YouTube)
Security as a service (MessageLabs, Purewire, ScanSafe, Zscaler)
Software as a service (A2Zapps.com, Google Apps, Salesforce,Learn.com, Zoho, BigGyan.com)
Software plus services (Microsoft Online Services)
Storage [Distributed]
Content distribution (BitTorrent, Amazon CloudFront)
Synchronisation (Dropbox, Live Mesh, SpiderOak, ZumoDrive)
[edit] Platform
See also category: Cloud platforms

A cloud platform (PaaS) delivers a computing platform and/or solution stack as a service, generally consuming cloud infrastructure and supporting cloud applications. It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers.[52][53] For example:

Services
Identity (OAuth, OpenID)
Payments (Amazon Flexible Payments Service, Google Checkout, PayPal)
Search (Alexa, Google Custom Search, Yahoo! BOSS)
Real-world (Amazon Mechanical Turk)
Solution stacks
Java (Google App Engine)
PHP (Rackspace Cloud Sites)
Python Django (Google App Engine)
Ruby on Rails (Heroku)
.NET (Azure Services Platform, Rackspace Cloud Sites)
Proprietary (Force.com, WorkXpress, Wolf Frameworks)
Storage [Structured]
Databases (Amazon SimpleDB, BigTable)
File storage (Amazon S3, Nirvanix, Rackspace Cloud Files)
Queues (Amazon SQS)
[edit] Infrastructure
See also category: Cloud infrastructure

Cloud infrastructure (IaaS) is the delivery of computer infrastructure, typically a platform virtualization environment, as a service.[54] For example:

Compute (Amazon CloudWatch, RightScale)
Physical machines)
Virtual machines (Amazon EC2, GoGrid, Rackspace Cloud Servers)
OS-level virtualisation
Network (Amazon VPC)
Storage [Raw] (Amazon EBS)
[edit] Servers
The servers layer consists of computer hardware and/or computer software products that are specifically designed for the delivery of cloud services.[45] For example:

Fabric computing (Cisco UCS)
[edit] Architecture

Cloud computing sample architectureCloud architecture,[55] the systems architecture of the software systems involved in the delivery of cloud computing, comprises hardware and software 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.[56]

This closely resembles the Unix philosophy of having multiple programs each 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 access cloud applications.

Cloud storage architecture is loosely coupled, often assiduously avoiding the use of centralized metadata servers which can become bottlenecks. This enables the data nodes to scale into the hundreds, each independently delivering data to applications or users.

[edit] Types by visibility

Cloud computing types[edit] Public cloud
Public cloud or external cloud describes cloud computing in the traditional mainstream sense, whereby resources are dynamically provisioned on a fine-grained, self-service basis over the Internet, via web applications/web services, from an off-site third-party provider who shares resources and bills on a fine-grained utility computing basis.[34]

[edit] Hybrid cloud
A hybrid cloud environment consisting of multiple internal and/or external providers[57] "will be typical for most enterprises".[58] A hybrid cloud can describe configuration combining a local device, such as a Plug computer with cloud services. It can also describe configurations combining virtual and physical, colocated assets—for example, a mostly virtualized environment that requires physical servers, routers, or other hardware such as a network appliance acting as a firewall or spam filter.[59]

[edit] Private cloud
Private cloud and internal cloud are neologisms that some vendors have recently used to describe offerings that emulate cloud computing on private networks. These (typically virtualisation automation) products claim to "deliver some benefits of cloud computing without the pitfalls", capitalising on data security, corporate governance, and reliability concerns. They have been criticized on the basis that users "still have to buy, build, and manage them" and as such do not benefit from lower up-front capital costs and less hands-on management[58], essentially "[lacking] the economic model that makes cloud computing such an intriguing concept".[60][61]

While an analyst predicted in 2008 that private cloud networks would be the future of corporate IT,[62] there is some uncertainty whether they are a reality even within the same firm.[63] Analysts also claim that within five years a "huge percentage" of small and medium enterprises will get most of their computing resources from external cloud computing providers as they "will not have economies of scale to make it worth staying in the IT business" or be able to afford private clouds.[64]. Analysts have reported on Platform's view that private clouds are a stepping stone to external clouds, particularly for the financial services, and that future datacenters will look like internal clouds.[65]

The term has also been used in the logical rather than physical sense, for example in reference to platform as a service offerings[66], though such offerings including Microsoft's Azure Services Platform are not available for on-premises deployment.[67]

[edit] Types of services
Services provided by cloud computing can be split into three major categories[68]:

[edit] Infrastructure-as-a-Service (IaaS)
Infrastructure-as-a-Service(IaaS) like Amazon Web Services provides virtual servers with unique IP addresses and blocks of storage on demand. Customers benefit from an API from which they can control their servers. Because customers can pay for exactly the amount of service they use, like for electricity or water, this service is also called utility computing.

[edit] Platform-as-a-Service (PaaS)
Platform-as-a-Service(PaaS) is a set of software and development tools hosted on the provider's servers. Developers can create applications using the provider's APIs. Google Apps is one of the most famous Platform-as-a-Service providers. Developers should take notice that there aren't any interoperability standards (yet), so some providers may not allow you to take your application and put it on another platform.

[edit] Software-as-a-Service (SaaS)
Software-as-a-Service (SaaS) is the broadest market. In this case the provider allows the customer only to use its applications. The software interacts with the user through a user interface. These applications can be anything from web based email, to applications like Twitter or Last FM.

No comments:

Post a Comment