This vendor-written tech primer has been edited by Network World to eliminate product promotion, but readers should note it will likely favor the submitter's approach.
As acceptance of platform as a service (PaaS) cloud services continues to accelerate, companies are increasingly free to bypass underlying in-house IT infrastructure and OS requirements, focusing instead on the type of services required and service level agreements (SLA). And that spells the beginning of the end of having to deal with the cost and hassles of complex middleware.
PaaS radically changes the picture from a development standpoint. Typically, middleware solutions focus on a specific runtime behavior, such as running an application within an application server, running processes or working with rule engines. Some of the providers go as far as delivering a set of tools or plug-ins that make the development of solutions for that runtime easier.
[ ENTERPRISE CLOUD SERVICES: A world of PaaS-ibilities ]
This is good from a vendor's perspective, but is this truly satisfying from a developer's standpoint? Developers are using a myriad of runtimes that have to properly integrate with each other. Yet, software has to be developed, tested and validated. Middleware vendors never help with those critical steps. So development teams resort to using specialized tool vendors for solutions as diverse as continuous integration, static code analysis, code repositories, bug trackers and binary artifact repositories.
To do their jobs properly, development teams are forced to have a relationship with at least a dozen vendors to provide the complete workbench they need. The development teams then spend a significant amount of time and resources building, maintaining and extending their environment, all of which comes at the expense of building software and creating value for the company.
PaaS, on the other hand, is all about providing a service that will allow developers to create and run applications without having to care about the infrastructure and operational aspects of maintaining it.
IT can hold a completely different role in this setup. They won't be involved in building the infrastructure required to operate the application and they are not going to be monitoring, maintaining and patching the stack. Plus, they don't have to be concerned with delivering top-notch Java clustering, and setting up firewalls, databases and load-balancers, among other things.
IT can leave those issues to the PaaS vendor. As such, PaaS becomes the new and reliable engine developers will use to get their environments setup and responsible for provisioning, managing, monitoring, patching and evolving that environment.
And don't forget the "S" in "PaaS." PaaS is more than just a set of well-orchestrated software processes. PaaS providers now act as the new support organization developers rely on when things don't happen as expected. From an IT operations standpoint, PaaS acts as a major friction-killer between IT and development. Infrastructure and operational aspects are now owned by the PaaS provider and are delivered to the developer as higher-level concepts, such as "create an application" vs. "give me an application server" on a set of standardized notions. Obviously, this helps to significantly reduce friction.
Middleware will become nonexistent simply because to developers the middleware services are provided to them without having to worry about dealing with the middleware layer themselves. Although you can think of PaaS as "middleware in the cloud," the reality is that PaaS delivers the functionality of middleware through a set of services that are simply consumed by the developer.
While the features provided by middleware are still part of the features exposed by PaaS, these solutions will provide much broader functional and lifecycle coverage, handle all infrastructural and operational aspects and integrate and deliver these best-of-breed capabilities as a unified, fully managed service. Furthermore, PaaS vendors also act as the support organization for any issues encountered during software development, helping to avoid figuring out where to route help requests.
Future with PaaS
The bottom line is that for a developer using PaaS, the notion of "middleware" is not very visible or interesting. While this might seem like a semantic change at first, it is actually a fundamental shift in how developers work and where they are spending their time. And as with any paradigm shift, it must be experienced to fully understand the implications. As IT moves to a service-oriented world, much of the friction we have been accustomed to in our daily activities will disappear. We are entering a new world of efficiency -- one that eliminates the need to worry about middleware and intensifies the focus on creating value.
But IT vendors won't be the only ones impacted by these changes. The cloud has already helped companies increase their competitiveness today and will play an important role in ensuring it tomorrow. Those who continue to reject cloud solutions as not being flexible, secure or good enough will fail under the weight of their own IT costs and lack of agility. As of today, any company creating new IT assets that does not consider the cloud in some form is increasing the legacy burden that will make their eventual move to the cloud more painful and their business less competitive.
The cloud represents one of the most significant shifts that computing has gone through. As we continue to move to the cloud, we are welcoming a new service-based world, where many common terms in the average IT shop, such as servers, data centers, OS, clustering and, yes, middleware, are quickly dying away.