“The future of business is cloudy!” “The cloud boom is well underway in the business world!”
“Enterprises are keeping their heads in the clouds!”
Any one of these lines could have easily opened this piece…and they would all be lies. Certainly, the business world at large is interested in the benefits of the cloud, but enterprises have been very slow to adopt a key element of cloud computing: platform-as-a-service or PaaS.
So what? For the business world to fully embrace the cloud, they have to overcome a huge hurdle –getting their “core”/legacy/custom-developed applications to the cloud. This is where PaaS comes into play. PaaS provides the necessary cloud capabilities that allow enterprises to fully embrace custom application development through lowered infrastructure costs, less strain on existing resources and the ability to push IT to innovate rather than maintain.
The primary problem, however, is that very few PaaS providers are actually building PaaS solutions with enterprises in mind. The enterprise wants PaaS…but no one seems to want to bring PaaS to the enterprise.
The vast majority of current PaaS offerings cater to independent software vendors (ISVs) rather than actual enterprise IT shops. At first glance, the differences between ISVs and enterprise IT seem to be non-existent, as both are typically focused on developing software to deal with business problems. But at a more micro-level, the differences are vast, placing a very different set of requirements on cloud computing and PaaS in particular.
Change. Change Never…Changes?
First, consider application and process change, a key cost-driver in any application development scenario. In the enterprise world, change depends on a variety of factors, both internal and external, from management decisions about go-to-market approaches to mergers and acquisitions to changes in government standards and regulation. This type of change is chaotic, to say the least, and is rarely planned for. Not to mention that these changes are always business critical, meaning that IT departments need to have the changes implemented yesterday.
From an ISV perspective, change is completely different – the change is usually controlled by product management and happens in a uniform and structured environment. Typically, the software products developed by ISVs exist to solve commodity-style business problems, like CRM or ERP. These business problems tend to be stable, as the implemented business processes have become industry standard, thus change is much more manageable.
As such, ISVs (and their PaaS solutions) do not need to deal with rapid, chaotic change, but rather planned product releases. The enterprise does not have this luxury, so ISV-style PaaS simply becomes too slow for the business when it comes to change.
The Management Gap
When it comes to managing the lifecycle of a particular application, ISVs take centre stage – and they should, since their applications are how they actually make money. Product managers watch over individual product lines (or even specific applications), carefully selecting features to implement and managing version control with an iron fist.
The enterprise side couldn’t be more different – typically, applications are not the business’ revenue driver, but rather an enabler of whatever the primary product is, whether plastics or real estate. Despite the importance of these applications, which typically address a business-specific challenge or opportunity, enterprises tend to treat them with “part-time” product managers, usually made up of a mix of roles including business analysts, developers and stakeholders.
This means that the approach to managing the application lifecycle is night-and-day in both organisations:
– ISVs, through their full-time product managers, have near total control over specific application portfolios and keep a close watch on what makes it into an application and what features are cut. This controlled plan is the design behind most PaaS systems, making them ideal for the ISV environment.
– On the other hand, enterprises are often working to build application functionality for innovative business processes where the business is in ‘invent’ mode, requiring a more trial-and-error (aka “throw it at the wall and see what sticks”) approach. To compound this challenge, the professionals tasked with managing the enterprise’s application requirements are not full time product managers. This puts a special need on the PaaS tooling to provide excellent collaboration capabilities that make it easy to capture feedback to support changing requirements.
Even The Apps Are Against Us
Nothing is ever easy in the enterprise, so it’s no surprise that even applications themselves tend to work against the ability of businesses to properly deploy PaaS. In a typical enterprise, the majority of applications are “composite applications,” meaning that they are an extension of another application, system or (worse) older, legacy applications that are complex and inflexible. This makes integrating applications a nightmare, and can prove to be a huge roadblock for PaaS and the cloud in general.
ISVs have no such problems, however, as their business is based around providing a complete system of record, requiring no supporting integrations to deliver a working solution. For PaaS solutions, the ISV does not worry about integration capabilities, while this is a top need for the enterprise.
The Enterprise PaaS Wish List
So what can PaaS vendors do to actually enter (and stay in) the enterprise marketplace? There are a few simple wishes that every enterprise IT team has for their PaaS technology:
– Rapid, Simplified Development: Given the fluid nature of corporate IT teams, enterprise PaaS should provide a model-driven development approach to simplify application design and delivery and dramatically improve an enterprise IT team’s ability to understand and maintain an application.
– Change Ready: The only constant around enterprise applications are that they need to change, quickly and without incident. Thus, enterprise PaaS offerings need to understand that unannounced and unplanned change is the norm, not a rarity, and provide collaboration mechanisms to capture change requests easily. Thus built in change management and auto deploy capabilities that reduce the risk of change are paramount for enterprise PaaS.
– Built-In Scalability: For the enterprise, many apps are born on the “edge” of the business where innovation often takes place. In many cases these tactical applications become mission critical. A good enterprise PaaS solution will allow the department to begin the development process and, when the time comes to scale the app, the PaaS solution will do the work automatically versus needing IT to rewrite the application. This means an enterprise PaaS solution must fit both the department and corporate IT team’s needs.
– Streamlined DevOps: Enterprise PaaS must eliminate complexity and automate the process of moving applications from development to production and all the steps in between. Additionally, it must provide built-in mechanisms to roll back changes and monitor application performance in order to easily identify issues.
– Universal Application Support: Delivering a wide range of solutions to support innovative business needs is key for the enterprise. The ideal PaaS solution will make it easy to deliver application functionality across a variety of device form factors including desktops, tablets and smart phones. The key requirement is to simplify the design process and make it easy to deliver highly usable interfaces for each form factor while reusing existing business logic and data.
– Simplified Integration: Integration is a key need for enterprise PaaS, specifically to address the composite nature of most custom applications. In many cases this means that the PaaS solution needs to run on–premise in a private cloud set-up. In addition to supporting a private cloud, the PaaS solution must make integration a key element of the solution where it is easy to define, secure and monitor the performance of integrations.
So can PaaS make the enterprise stop and listen? Absolutely – the benefits are there and businesses, especially in today’s economy, are pining for faster delivery and lowered IT costs. But enterprises and ISVs are not the same organisations…so why should they be forced to use the same cloud?