Architectural layers of cloud computing

dat1written by gunther gerlach-2009

can describe services being provided at any of the traditional layers from hardware to application. In practice, cloud service providers tend to offer services that can be grouped into three categories: , , and . These categories group together the various layers, with some overlap.

(SAAS)

features a complete application offered as a service on demand. A single instance of the software runs on the cloud and services multiple end users or client organizations.

The most widely known example of SaaS is salesforce.com, though many other examples have come to market, including the Google Apps offering of basic business services including email and word processing.

Although salesforce.com preceded the definition of by a few years, it now operates by leveraging its companion force.com, which can be defined as a .

(PAAS)

encapsulates a layer of software and provides it as a service that can be used to build higher-level services. There are at least two perspectives on PaaS depending on the perspective of the producer or consumer of the services:

Ø  Someone producing PaaS might produce a platform by integrating an OS, middleware, application software, and even a development environment that is then provided to a customer as a service. For example, someone developing a PaaS offering might base it on a set of Sun™ xVM hypervisor virtual machines that include a NetBeans™ integrated development environment, a Sun GlassFish™ Web stack and support for additional programming languages such as Perl or Ruby.

Ø  Someone using PaaS would see an encapsulated service that is presented to them through an API. The customer interacts with the platform through the API, and the platform does what is necessary to manage and scale itself to provide a given level of service. Virtual appliances can be classified as instances of PaaS. A content switch appliance, for example, would have all of its component software hidden from the customer, and only an API or GUI for configuring and deploying the service provided to them.

PaaS offerings can provide for every phase of software development and testing, or they can be specialized around a particular area such as content management. Commercial examples of PaaS include the Google Apps Engine, which serves applications on Google’s infrastructure. PaaS services such as these can provide a powerful basis on which to deploy applications, however they may be constrained by the capabilities that the cloud provider chooses to deliver.

(IaaS)

delivers basic storage and compute capabilities as standardized services over the network. Servers, storage systems, switches, routers, and other systems are pooled and made available to handle workloads that range from application components to high-performance computing applications.

Commercial examples of IaaS include Joyent, whose main product is a line of virtualized servers that provide a highly available on-demand infrastructure.

 

Cloud application programming interfaces  

One of the key characteristics that distinguishes from standard enterprise computing is that the infrastructure itself is programmable. Instead of physically deploying servers, storage, and network resources to support applications, developers specify how the same virtual components are configured and interconnected, including how virtual machine images and application data are stored and retrieved from a storage cloud. They specify how and when components are deployed through an API that is specified by the cloud provider.

An analogy is the way in which File Transfer Protocol (FTP) works: FTP servers maintain a control connection with the client that is kept open for the duration of the session. When files are to be transferred, the control connection is used to provide a source or destination file name to the server, and to negotiate a source and destination port for the file transfer itself. In a sense, a API is like anFTP control channel: it is open for the duration of the cloud’s use, and it controls how the cloud is harnessed to provide the end services envisioned by the developer.

The use of APIs to control how cloud infrastructure is harnessed has a pitfall: unlike the FTP protocol, cloud APIs are not yet standardized, so each cloud provider has its own specific APIs for managing its services. This is the typical state of an industry in its infancy, where each vendor has its own proprietary technology that tends to lock in customers to their services because proprietary APIs make it difficult to change providers.

Look for providers that use standard APIs wherever possible. Standard APIs can be used today for access to storage; APIs for deploying and scaling applications are likely to be standardized over time. Also look for cloud providers that understand their own market and provide, for example, ways to archive and deploy libraries of virtual machine images and preconfigured appliances.

 Posted by sun.systemnews.com

Gunther Gerlach

  1. No comments yet.
  1. No trackbacks yet.