Defining Platform-As-A-Service, or PaaS

There is an increasing level of discussion and activity around the topic Software-as-a-Service (SaaS)–and more recently Platforms-as-a-Service (PaaS).On the SaaS side of things, there have been some notable successes in the areas of CRM-as-a-service, computing-as-a-service and storage-as-a-service. These are just a few examples of data, functionality and hardware as services over the network. These individual offerings represent the next logical evolution of software and computing in the cloud.

As services like these have come available, it has become increasingly apparent that whole new platforms are needed to fully leverage these services within the cloud. While individually these services represent pieces of a cloud-based platform it takes more to be a true platform.In my view, a platform includes all the systems and environments comprising the end-to-end life cycle of developing, testing, deploying and hosting web applications and we believe, this platform must also be cloud-based, a Platform-as-a-Service (PaaS).At Bungee Labs, we do believe a story larger than SaaS is emerging, where end-to-end development, deployment and hosting platforms are provisioned as services over web. In order to get us all on the same page, we think it is useful to define what we consider to be the six key elements to the most inclusive Platform-as-a-Service (PaaS) offering possible today:

1) Develop, Test, Deploy, Host and Maintain on the Same Integrated Environment
It’s time to stop developing “here” and running “there”. Today, most applications are coded in one environment (usually custom-built for that project by a developer), then tested in another, and redeployed to yet another for production. In addition to the costs of building, configuring and maintaining these separate environments, applications almost always need to change and get re-factored to overcome roadblocks as they proceed through the software lifecycle, which incurs even more costs along the way. In the conventional on-premise model, these cost and attendant risks fall on the application owner, and are considered part of the cost of deploying a web-scale application. In a completely-realized PaaS, the entire software lifecycle is supported on the same computing environment, dramatically reducing costs of development and maintenance, time-to-market and project risk. A PaaS should let developers spend their time creating great software, rather than building environments and wrestling with configurations just to make their applications run–let alone testing, tuning and debugging them. Also, an end-to-end PaaS should provide a high productivity Integrated Development Environment (IDE) running on the actual target delivery platform, so that debugging and test scenarios run in the same environment as production deployment. This deeper level of integration speeds development iterations, and makes application development faster and more intuitive. Posting an application for testing or production deployment should all be push-button operations and should support accessibility from within the corporate intranet or public Internet stand-alone or embedded inside of other web applications. In addition, a complete Platform-as-a-Service should provide facilities for source code control, application testing, staging, rollout and roll-back, in an auditable, work-flow-friendly environment.

2) User Experience Without Compromise
A Platform-as-a-Service must deliver compelling user experiences, with all the richness and live interactivity that consumers have been conditioned to expect. No cost, time-to-market or reliability advantages can compensate for a sub-par user experience, so it’s important that a PaaS provide built-in rich interactivity. A Platform-as-a-Service for web applications should take advantage of the familiar, cost-effective usability model of the web. Hiccups like software downloads or plug-in installations, browser dependencies and inconsistencies, or local executables break the web model, and are inherently less secure, less maintainable and less user-friendly. In order to be relevant and popular, PaaS must deliver the best user experience available on the web, comparable to or better than conventional approaches.

3) Built-in Scalability, Reliability, and Security
Scalability, reliability, and security should be built-in to a PaaS without requiring additional development, configuration or other costs. Multi-tenancy, the ability for an application to automatically partition state and data to service an arbitrary number of users, must be assumed, again without additional work of any sort. Applications delivered on a Platform-as-a-Service must automatically and reliably support web-scale use, allow secure exchange of confidential information and secure execution of monetary transactions. Developers should be free to build applications with the comfort that the security of customer data, network traffic, source code (intellectual property) and even server hardware is maintained automatically by the platform through-out application development and delivery.

4) Built-in Integration with Web Services and Databases
Tremendous value can be derived through the connection of multiple types and sources of external dynamic data. The platform must enable connectivity to multiple data sources while abstracting the tedious task of writing the “glue” code to bring the sources together. Applications need to leverage existing software investments in databases, and internal or external third party web services, requiring that the platform offer a wide variety of connectivity options. Many applications require external services with “live” data from multiple sources, (i.e. updated at sub-second intervals) so automatically updated connections between applications and services must be the default (i.e. rich, multiplexed state management capabilities) without requiring additional engineering work.

5) Support Collaboration
Development projects are delivered by individuals and teams, both large and small. A PaaS must support both formal and on-demand collaboration throughout the entire software lifecycle (development, testing, documentation and operations), while maintaining security of source code and associated intellectual property. Facilities to package, share, and obtain reusable source code and software components can dramatically increase productivity and reduce project risk and costs. Moreover it must be easy to connect with other developers, to solicit advice, share information and form ad-hoc teams, while maintaining privacy and security. Naturally, this collaboration should be a feature of the platform and not require additional software or configuration to enable.

6) Deep Application Instrumentation
A Platform-as-a-Service must provide comprehensive instrumentation of application and user activity, to help developers understand their applications and effect improvements. This deep instrumentation opens up many new opportunities from understanding the user experience to whole new business models. With instrumentation, organizations can see exactly how users are using the application, the type of performance they are experiencing and any application crashes. This information can also be leveraged to create new business models where costs are tied to actual utilities, rather than flat-rate subscriptions or licenses. In these new business models the cost of the platform can be tied directly to the adoption of web applications.

Our intent with this post is to provide a framework for understanding and discussion among developers, IT managers and business decision makers. Fundamentally, we believe the most inclusive “Platform-as-a-Service” offering possible today should take into account every technology, environment and process required to develop, test, deploy and host applications and services delivered over the web.We look forward to your thoughts.

Dave Mitchell
Founder and CTO
Bungee Labs

About these ads

14 Comments »

  1. [...] Dave Mitchell’s (Bungee Labs’ founder and CTO) blog post taking a stab at the definition of “Platform as a Service” (PaaS) [...]

  2. [...] Mitchell, Bungee founder and CEO, sees PaaS as the wave of the future. He said in a blog post on the Bungee [...]

  3. [...] ce faire, les Plate-formes as a Service – PaaS proposent de reposer sur une infrastructure d’ exécution externalisée, [...]

  4. [...] the notion of “development as a service” to its full potential is the logic behind Platform as a Service (PaaS). To help understand the power of PaaS, we speak in this sponsored podcast to one of the early PaaS [...]

  5. [...] Full transcript available here and podcast here. Bungee Labs’ definition of Platform as a Service here. [...]

  6. [...] the PaaS wars begin – by Phil Wainewright Defining Platform-as-a-Service, or PaaS – by Dave Mitchell Are We Moving to Platform as a Service? – by David Linthicum Posted by [...]

  7. [...] on the platform of the du jour that integrate with Share – make something in Ning, GAE, whatever PaaS bucket shows up on Techmeme, integrate with it. Yes, this is just cheap, page view-think, [...]

  8. [...] in the sky: the age of cloud-based computing has arrived, and new entrants are appearing in the Platform-as-a-Service (PaaS) space each [...]

  9. [...] 这是官方blog。这家公司真够节俭的。官方blog就是直接架设在wordpress上面。 [...]

  10. [...] SaaS, SOA, SOAP, webservices, WOA With more and more discussion occurring around the concept of Platform as a Service (PaaS), developers, IT and business managers are doing their fair share of head scratching, trying [...]

  11. enhasmen said

    This Paas definition is only related with applications, but there are more type of Paas, computing, database, storage, etc…..
    On the other hand, I think Bungee needs a BBDD for being complete paas.
    Regards

  12. [...] BungeeConnect, BungeeLabs, PaaS, Platform-as-a-Service, Whitepaper With the growing popularity of Platform-as-a-Service (PaaS) many businesses have been wondering how they can leverage the benefits provided by on-demand [...]

  13. [...] why are we defining all these terms here again when everyone else has already defined them here, here, here, here, here, here, here, here, here, etc? Heck, there’s even a definition for Web [...]

  14. [...] in server infrastructures. Therefore, it facilitates enterprisers to start business. For example, Plateform As A Service makes it possible to independent programmers to develop, host, and finally offer their applications [...]

RSS feed for comments on this post · TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: