Cloud Computing (extract from Wikipedia)
Cloud 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.
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
Diagram showing economics of cloud computing versus traditional IT, including capital expenditure (CapEx) and operational expenditure (OpEx)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 (e.g., resources consumed, like electricity) or subscription (e.g., time-based, like a newspaper) basis with little or no upfront cost. A few cloud providers are now beginning to offer the service for a flat monthly fee as opposed to on a utility billing basis. 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.
Architecture
The majority of cloud computing infrastructure, as of 2009, consists of reliable services delivered through data centers and built on servers with different levels of virtualization technologies. The services are accessible anywhere that provides access to networking infrastructure. 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. Open standards are critical to the growth of cloud computing, and open source software has provided the foundation for many cloud computing implementations.
Cloud architecture, 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.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, where metadata operations are centralized enabling the data nodes to scale into the hundreds, each independently delivering data to applications or users.
Public cloudPublic 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.
Hybrid cloudA hybrid cloud environment consisting of multiple internal and/or external providers “will be typical for most enterprises”. 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.
Private cloudPrivate 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, essentially “[lacking] the economic model that makes cloud computing such an intriguing concept”.While an analyst predicted in 2008 that private cloud networks would be the future of corporate IT, there is some uncertainty whether they are a reality even within the same firm. 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. 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.The term has also been used in the logical rather than physical sense, for example in reference to platform as a service offerings, though such offerings including Microsoft’s Azure Services Platform are not available for on-premises deployment.
Key Characteristics
Agility improves with users able to rapidly and inexpensively re-provision technological infrastructure resources.
Cost is claimed to be greatly reduced and capital expenditure is converted to operational expenditure. 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).
Device and location independence 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.
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.
Reliability improves through the use of multiple redundant sites, which makes cloud computing suitable for business continuity and disaster recovery. Nonetheless, many major cloud computing services have suffered outages, and IT and business managers can at times do little when they are affected.
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.
Security typically improves due to centralization of data, 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. 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. 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. Nonetheless, computers and associated infrastructure are major consumers of energy.
Layers
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. Mobile (Android, iPhone, Windows Mobile) Thin client (CherryPal, Wyse, Zonbu, gOS-based systems) Thick client / Web browser (Mozilla Firefox, Google Chrome, WebKit)
Application : 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. Peer-to-peer / volunteer computing (BOINC, Skype) Web applications (Facebook, Twitter, YouTube) Security as a service (MessageLabs, Purewire, ScanSafe, Zscaler) Software as a service (A2Zapps.com, Google Apps, Salesforce) Software plus services (Microsoft Online Services) Storage [Distributed] Content distribution (BitTorrent, Amazon CloudFront) Synchronisation (Dropbox, Live Mesh, SpiderOak, ZumoDrive)
Platform : 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.
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)
Servers : The servers layer consists of computer hardware and/or computer software products that are specifically designed for the delivery of cloud services. Fabric computing (Cisco UCS)
Infrastructure : Cloud infrastructure (IaaS) is the delivery of computer infrastructure, typically a platform virtualization environment, as a service. Compute (Amazon CloudWatch, RightScale) Physical machines) Virtual machines (Amazon EC2, GoGrid, Rackspace Cloud Servers) OS-level virtualisation Network (Amazon VPC) Storage [Raw] (Amazon EBS)



