submit to reddit Delicious Digg!
Cloud Computing: Platform as a Service Defined

By John Panagulias, submitted by John Panagulias, Wednesday, August 5, 2009, 5:31PM

Cloud computing can be defined, basically, as an environment where any type of IT resource can be provided as a service. It's a way to increase capacity, or add capabilities on the fly, without investing in new servers or storage resources, training additional personnel, or licensing software.

In general, the cloud provider landscape can be grouped into three categories:

  • Infrastructure as a Service (IaaS) - Generally refers to "basic" infrastructure meaning raw compute power, network bandwidth, and data storage services.
  • Platform as a Service (PaaS) - A higher-level integrated development environment that abstracts the underlying technology to provide for scalability and rapid application development and deployment.
  • Software as a Service (SaaS) - End-user facing software delivered on demand; there are many providers across a broad range of business software, system management, and security applications that offer this.

Let's delve deeper into the second category: Platform as a Service (PaaS)

What makes up platform services? The National Institute of Standards and Technology (NIST) recently issued the following definition for PaaS:

The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created applications using programming languages and tools supported by the provider (e.g., java, python, .Net). The consumer does not manage or control the underlying cloud infrastructure, network, servers, operating systems, or storage, but the consumer has control over the deployed applications and possibly application hosting environment configurations.

Simply put, Platform as a Service refers to an application development and deployment platform, usually consisting of database, middleware, and development tools, delivered as a service to developers who use the platform to build, deploy and manage on-demand applications. Think of PaaS as a kind of application development engine. Some providers offer the entire stack of software, hardware, and components to developers. while others provide software and tools that enable these platforms.

The benefits of PaaS are a reduction in development time, a large and growing set of tools and services to help improve development, and the ability to scale with high availability. In short, developers can spend time focused on application development, not on building and maintaining the environment itself. In the end, this is something that supports a company's bottom line, while improving time-to-market and decreasing the cost and complexity of application development.

Platform as a Service Providers include:

  • 3tera's AppLogic platform brings cloud computing to service providers and enterprises by offering a grid operating system that allows the user, via a browser, to assemble, deploy, and scale on-demand applications.
  • Engine Yard provides a managed hosting and deployment platform for Ruby on Rails applications; it handles the systems management and optimization of the environment, while they provide software support and service for Ruby applications.
  • Enomaly's platform allows end-users to manage their own virtual servers and remotely access on-demand computing capacity from a public cloud, through a dashboard, to easily configure, deploy, optimize, and manage cloud capacity.
  • Eucalyptus is an open source software infrastructure platform for implementing on-premise private and hybrid clouds using a company's existing hardware and software infrastructure, without modification or reconfiguration.
  • Force.com is a platform customers and developers can use to build, deploy, and manage applications in the cloud that leverages the Salesforce.com infrastructure and application tools.
  • Google App Engine is an integrated application development platform delivered as a service; it ties together hardware, software, and common components (e.g. data store, user authentication, and cache) to help speed application creation and deployment.
  • Heroku is a tightly-integrated, highly-customizable cloud platform for Ruby on Rails application development; they manage all elements of the platform and developers are presented with a simple interface for deploying their Ruby code.
  • IBM's cloud platform can be use to create private cloud services behind the client’s firewall built and/or run by IBM; they also have a family of pre-integrated hardware, storage, virtualization and networking, with a sophisticated built-in service management system.
  • LongJump, part of Relational Networks, provides a platform for building, delivering, and managing on-demand applications.
  • Microsoft Azure is a platform, hosted in Microsoft data centers, providing an operating system and a set of developer services that can be used to build new applications to run in the cloud or enhance existing applications with cloud-based capabilities.
  • Oracle provides the Oracle SaaS Platform, an integrated development platform or, set of enabling technologies, to help platform and software providers to build their own on-demand service offerings.
  • Sun Cloud is a public compute and storage cloud platform due outin late 2009.
  • TIBCO Silver is a cloud platform designed for use by enterprises to build and deploy applications in the cloud.
  • VMware through its acquisition of SpringSource will deliver an application development platform to compete with Force.com and Google App Engine.