The National Institute of Standards and Technology (NIST) definition of cloud computing services is purposely ambiguous, partly because it covers broad types of computing resources and partly because the cloud is very much an evolving platform. However, NIST’s definitions of the different cloud service models—Infrastructure as a Service (IaaS) and Platform as a Service (PaaS)—are much more precise.
PaaS, says NIST, is “the capability … to deploy onto the cloud infrastructure consumer-created or acquired applications.” Importantly, the NIST standard also points out that under the PaaS model, “the consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems or storage, but has control over the deployed applications.”
As businesses are swiftly moving to cloud to create scale and reach customers quicker, they must sift through many options, each offering different benefits.
While there is some overlap among IaaS and PaaS characteristics—both offer essential, rapid elasticity and are essential to provision a database, for examples—IaaS provides more of the basic building blocks, while PaaS measures the size of the database, including how much storage capacity and concurrent connections it has, among other things.
One of the limits of IaaS is that every application is on a virtual machine, and the size needs to be specified ahead of time. That means if applications are sitting idle, you’re wasting capacity. PaaS aims to address this issue by seeking to increase workload density, ultimately offering a more cost-effective model. With PaaS, you have more applications running at any given time on fewer virtual machines, offering greater speed in addition to economic benefits. Additionally, PaaS doesn’t require consumers to have infrastructure technology expertise.
The container’s role
Application containers are emerging as essential tools in nearly every cloud environment, upon which the middleware and applications are stacked. Docker is an example of a container offering that enables an open platform for developers and system administrators to build, ship and run distributed applications. While containers are an important element, their ubiquity has led to the perception that they make PaaS obsolete—that the containers themselves offer enough opaqueness and flexibility to meet all the cloud computing requirements previously attributed to PaaS.
While container technology offers a host of benefits in transitioning to cloud, it’s only one ingredient of the PaaS experience, albeit an emerging critical one. More important, when containers are consumer-owned and managed (typically in an IaaS setting), the consumer has more responsibilities across the application infrastructure compared to PaaS.
Specifically, in the IaaS environment, the consumer is responsible for provisioning middleware, whether buying or licensing, as well as installing, configuring, updating, patching, and upgrading the middleware, and monitoring its availability and performance. In a PaaS environment, however, the consumer is only responsible for the provision of middleware. The remaining responsibilities typically fall on the cloud provider. PaaS gives the consumer a more a la carte experience, with the flexibility to choose which apps to run from a catalog of services.
It’s important to note that containers and PaaS are not mutually exclusive. To run PaaS, you will frequently need containers in your stack. However, choosing PaaS offers a great deal of flexibility. Its highly automated, elastic nature frees up users to concentrate on choosing the best application building blocks from an increasingly rich and diverse catalog of services.
In the months and years ahead, businesses will need to focus on which paths to the cloud are best for them. As they do, they must ask some pointed questions—what are the benefits balanced against the cost considerations? Which platform is best suited to their business model? It is becoming an increasing business priority to have unbiased information and an ongoing, informed dialogue to choose the models that make the most sense for any given workload.
Adam Burden is managing director of Advanced Technology & Architecture for Accenture (News - Alert). In this role, he is responsible for guiding the strategy and operations of a cross-industry group focused on providing world-class architects to our clients as well as incubating next generation capabilities related to Cognitive Computing, Biometrics, Wearables and similar disruptive technologies. He also provides leadership for the Cloud Applications & Platform Services practice.
Edited by Stefania Viscusi