Understanding PaaS

Platform as a Service (PaaS) is a way to rent hardware, operating systems, storage and network capacity over the Internet. The service delivery model allows the customer to rent virtualized servers and associated services for running existing applications or developing and testing new ones.

PaaS provides complete stack of development tools which are accessed by developers via web browser to create enterprise level applications, without installing anything besides a web browser on their computers, and deploying these over the complex & heterogeneous infrastructure without any specific skills required. PaaS offerings facilitate the deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet. PaaS offerings may include facilities for application design, application development, testing, deployment and hosting as well as application services such as team collaboration, web service integration and marshaling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services may be provisioned as an integrated solution over the web. At a high-level, a PaaS helps organizations, specifically developers, realize the benefits of cloud computing by providing a fast and scalable way to host applications in the cloud.

Technically, a PaaS is an Application Platform comprised of an operating system, middleware and other software that allows applications to run on the cloud with much of the management, security, scaling and other stack related headaches abstracted away. This allows you to focus on two things: customers and developing your application. Let the PaaS deal with system administration details like setting up servers or VMs, installing libraries or frameworks, configuring testing tools, etc.

Traditional Model: Building and running on-premise applications has always been complex, expensive, and risky. Each application required hardware, an operating system, a database, middleware, Web servers, and other software. Once the stack was assembled, a team of developers had to navigate complex programming models like J2EE and .NET. A team of network, database, and system management experts was needed to keep everything up and running. Inevitably, a business requirement would require a change to the application, which would then kick off a lengthy development, test, and redeployment cycle.

Large companies often needed specialized facilities to house their data centers. Enormous amounts of electricity also were needed to power the servers as well as the systems to keep them cool. Finally, a failover site was needed to mirror the data center so information could be replicated in case of a disaster.

The New Model: PaaS provides the entire infrastructure needed to run applications over the Internet. It is delivered in the same way as a utility like electricity or water. Users simply “tap in” and take what they need without worrying about the complexity behind the scenes. And like a utility, PaaS is based on a metering or subscription model so users only pay for what they use.

With PaaS, ISVs and corporate IT departments can focus on innovation instead of complex infrastructure. By leveraging the PaaS, organizations can redirect a significant portion of their budgets from “keeping the lights on” to creating applications that provide real business value.

This model is driving a new era of mass innovation. For the first time, developers around the world can access unlimited computing power. Now, anyone with an Internet connection can build powerful applications and easily deploy them to users wherever they’re located