What is Cloud Computing?
The cloud is a virtualization of resources that maintains and manages itself.
Cloud computing is becoming one of the next industry buzz words. It joins the ranks of terms including: grid computing, utility computing, virtualization, clustering, etc.
Cloud computing overlaps some of the concepts of distributed, grid and utility computing, however it does have its own meaning if contextually used correctly. The conceptual overlap is partly due to technology changes, usages and implementations over the years.
Trends in usage of the terms from Google searches shows Cloud Computing is a relatively new term introduced in the past year. There has also been a decline in general interest of Grid, Utility and Distributed computing. Likely they will be around in usage for quit a while to come. But Cloud computing has become the new buzz word driven largely by marketing and service offerings from big corporate players like Google, IBM and Amazon.
The term cloud computing probably comes from (at least partly) the use of a cloud image to represent the Internet or some large networked environment. We don’t care much what’s in the cloud or what goes on there except that we depend on reliably sending data to and receiving data from it. Cloud computing is now associated with a higher level abstraction of the cloud. Instead of there being data pipes, routers and servers, there are now services. The underlying hardware and software of networking is of course still there but there are now higher level service capabilities available used to build applications. Behind the services are data and compute resources. A user of the service doesn’t necessarily care about how it is implemented, what technologies are used or how it’s managed. Only that there is access to it and has a level of reliability necessary to meet the application requirements.
In essence this is distributed computing. An application is built using the resource from multiple services potentially from multiple locations. At this point, typically you still need to know the endpoint to access the services rather than having the cloud provide you available resources. This is also know as Software as a Service. Behind the service interface is usually a grid of computers to provide the resources. The grid is typically hosted by one company and consists of a homogeneous environment of hardware and software making it easier to support and maintain. (note: my definition of a grid is different from the wikipedia definition, but homogeneous environments in data centers is typically what I have run across). Once you start paying for the services and the resources utilized, well that’s utility computing.
Cloud computing really is accessing resources and services needed to perform functions with dynamically changing needs. An application or service developer requests access from the cloud rather than a specific endpoint or named resource. What goes on in the cloud manages multiple infrastructures across multiple organizations and consists of one or more frameworks overlaid on top of the infrastructures tying them together. Frameworks provide mechanisms for:
- self-healing
- self monitoring
- resource registration and discovery
- service level agreement definitions
- automatic reconfiguration
The cloud is a virtualization of resources that maintains and manages itself. There are of course people resources to keep hardware, operation systems and networking in proper order. But from the perspective of a user or application developer only the cloud is referenced. The Assimilator project is a framework that executes across a heterogeneous environment in a local area network providing a local cloud environment. In the works is the addition of a network overlay to start providing an infrastructure across the Internet to help achieve the goal of true cloud computing.
via [ Cloud Computing Journal ]
Definitions
Cloud Application — The "top" layer of the Cloud Pyramid where "applications" are run and interacted with via a web-browser. Cloud Applications are tightly controlled, leaving little room for modification. Examples include: Gmail or SalesForce.com.
Cloud Center — A datacenter in the "cloud" utilizing standards-based datacenter-like infrastructure.
Cloud Computing — On-demand self-service Internet infrastructure where you pay-as-you-go and use only what you need, all managed by a browser, application or API. Cloud computing is broken up into multiple segments including: Cloud Infrastructure, Cloud Platforms and Cloud Applications. (see "Cloud Pyramid")
Cloud Hosting — A type of internet hosting where the client leases virtualized, dynamically scalable infrastructure on an as-needed basis. Users frequently have the choice of operating system and other infrastructure components. Typically cloud hosting is self-service, billed hourly or monthly, and controlled via a web interface or API.
Cloud Infrastructure — The "bottom" layer of the Cloud Pyramid is the delivery of computer infrastructure through paravirtualization. This includes servers, networks and other hardware appliances delivered as either Infrastructure Web Services or "cloudcenters". Full control of the infrastructure is provided at this level. Examples include GoGrid or Amazon Web Services.
Cloud Platform — The "middle" layer of the Cloud Pyramid which provides a computing platform or framework (e.g., .NET, Ruby on Rails, or Python) as a service or stack. Control is limited to that of the platform or framework, but not at a lower level (server infrastructure). Examples include: Google AppEngine or Microsoft Azure.
Cloud Providers — Providers whose product/platform is based on virtualization of computing resources and a utiliy-based payment model.
Cloud Pyramid — A visual representation of Cloud Computing layers where differing segments are broken out by functionality. Simplified version includes: Infrastructure, Platform and Application layers.Cloud Servers — Virtualized servers running Windows or Linux operating systems that are instantiated via a web interface or API. Cloud Servers behave in the same manner as physical ones and can be controlled at an administrator or root level, depending on the server type and Cloud Hosting provider.
via [ Serverpath ]
Additional Reference:
- IBM Perspective on Cloud Computing
- IBM - The Benifits of Cloud Computing
- IBM - Key Infrastructure Elements for Cloud Computing
- Capgemini & HP -The Cloud & SOA - Creating an Architecture for Today & for the Future
- HP - Cloud & its role in your business technology ecosystem
- SUN - Cloud Computing Primer
Cloud Computing Sites:
[ IBM ][ SUN ][ HP ][ Microsoft ][ Yahoo ][ Google ][ Amazon ]

No comments:
Post a Comment