Tectonic shifts in cloud base layers as IaaS and PaaS converge
Do IaaS and PaaS come hand-in-hand, or should they always be treated as separate entities?
Popular opinion and industry comment appear to be colliding over whether Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS) technologies are in fact converging to form a single infrastructural entity for the cloud. This debate (for want of a less structured term) has come about due to the recent evolutionary progress of both the Microsoft Azure VM model and the Amazon Web Services Elastic Beanstalk – which both appear to both combine elements of IaaS and PaaS. So is it still helpful (and indeed necessary) to talk about IaaS and PaaS in separation?
If we can define PaaS as the service-based delivery of both a computing platform and its corresponding application environment, then IaaS must logically sit one rung lower than the platform to provide the storage, hardware and networking components.
Embracing an IaaS model from the ground up provides flexibility and power, as the customer retains control of access to virtual machines (VMs) and can use these to build their own servers, databases and application platforms as they see fit. Balancing this option, deciding on a direct path straight to PaaS means that these underlying facilities have already been provisioned for, so that application testing, development and deployment are brought to the fore.
The suggestion that these close bedfellows should be moving towards being a single layer is not difficult to swallow per se, but is it substantiated and (if it is true) is it good news?
The problem with IaaS is that it is demands deep dive technical engineering competency right down to an appreciation for granular data management and load-balancing skills. IaaS engineers build kit cars and rockets on the weekend to wind down, you know the sort of thing.
PaaS is not without its headaches either; there are security concerns and service& availability challenges to juggle on a daily basis. This is not plug-and-play cloud computing by any means, so companies who chose to work at this level of cloud computing infrastructure must have staff capable handling of complex implementation challenges.
So we come to the Amazon Web Services Elastic Beanstalk. This has been argued to combine the kind of higher-level functionality found in PaaS environments, but in a scenario where the technology itself resides on top of an IaaS layer. Or to put it another way, this is IaaS with enhanced functionality built in from the start. On paper (or even on your screen), this sounds like the best of both worlds doesn't it?
Cloud Pro Newsletter
Stay up to date with the latest news and analysis from the world of cloud computing with our twice-weekly newsletter
Certainly, the nattily named Elastic Beanstalk exhibits many of the most attractive characteristics of PaaS solutions, but from a deeper infrastructural provisioning perspective. According to the Amazon Web Services website, "You simply upload your application and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling and application health monitoring.
Amazon has based the first release of Elastic Beanstalk around Java using the Apache Tomcat software stack. This means (in theory) that developers can design, create and deploy applications inside a familiar development environment that still allows them to control the optimization of configuration of underlying infrastructural layers.
Conversely, Microsoft has taken almost the reverse approach to weaving together IaaS and PaaS technologies. The Microsoft Azure VM model incorporates the Windows Azure Virtual Machine which, in the company's own words, allows for the running of a customised instance of Windows Server 2008 R2 to provide a route for moving applications to the cloud. The Windows Azure Virtual Machine is designed to allow the construction of customised operating system images that can be moved to Azure itself. While this in itself is arguably an IaaS-level piece of functionality for most people's money, the company is also thought to be moving towards a point where it gives developers the tools to build new virtual machines from inside the Azure control panel.
So whether it's PaaS with some deeper reach into IaaS, or it's IaaS with with a helping of PaaS on top; the end result is arguably a general convergence of both functions throughout the industry. The upshot of this is hard to predict in comprehensive terms as these still-nascent technologies are rolled out over the comparatively stony ground of the rapidly shifting cloud computing landscape.
If we can make any predictions or informed comment at this stage it may be that we should say that this is good news for the most part. This is akin to the kernel connecting with the source code, this is the application layer talking to the parallel processing independency streams and this is the GUI talking to widget toolkit. Or if you prefer, this is interconnectivity at the cloud's base layer – and that sounds like good news whoever is in the driving seat. Doesn't it?