The Cloud has promised much in terms of flexibility, agility, operational and cost savings. However , effective development of cloud application relies on sound underlying platforms; for development teams to be able to build cloud applications effectively, they need the right platform on which to create and deploy the applications. This needs to allow for scalability, for the multi-tenant architecture of cloud applications, where resources and costs are shared across a large pool of users.
This is where Platform as a Service (PaaS) comes in. This year, 2011 has, in fact, been identified by Gartner as the year of PaaS, offering increased flexibility for short term projects, and the ability to provision and scale up quickly for resource intensive projects. However, despite its predicted uptake there is still considerable discussion around its definition. This may be, in part, because the PaaS market is still relatively young and evolving, a fact that was highlighted in a recent report from Forrester and, as the analyst John R Rymer noted in his blog: “the PaaS market is a sprawling, fast-changing, and immature market.”*
So what is PaaS and what does it provide developers looking to capitalise on the cloud boom? In essence, PaaS is a loose term and occupies a huge space, between Infrastructure as a Service and Software as a Service although even within this, different vendors have different propositions. Broadly, it’s the ‘application infrastructure’ that is, the technology stack and computing platform, delivered as a hosted service. Elements such as the application servers, the customer portal, the BPM technology databases and file systems would all comprise this application infrastructure. It’s everything that is required in the cloud application design, development and lifecycle management.
For developers, it means that applications can be deployed without the cost of buying the hardware and software, freeing development teams from the headaches of managing this themselves. The advantages for developers are clear; particularly for those projects that need to be started quickly without the need to purchase, manage or configure the hardware and software in house. It also means that wherever you are based you can make use of the computing services of the PaaS provider. Drilling further, we have the application Platform as a Service (aPaaS) the Gartner defined term which refers to the development and deployment environment for cloud-based applications, or as Yefim Natis of Gartner calls it the ‘extended application server’.
Eventually I believe that everything we now term PaaS will, in actuality, move towards aPaaS however, semantics aside, it’s all about enabling development to be the main focus of activity. What’s more, this new era of cloud development I believe, by its nature demands an approach which offers more flexibility and provides a development and deployment environment in which teams can re-use different types of their software, no matter what language they have been written in. This kind of application platform also means that once written, applications can be taken to any new platform, be it cloud, or mobile, without having to re-write.
This, in turn, means that teams can focus on the development aspects of a project that really matter; delivering applications which bring business functionality and add value, reducing costs and time of development projects , rather than provisioning for and creating the environment on which they are built.
* The Forrester Wave™: Platform-As-A-Service For App Dev And Delivery Professionals, Q2 2011