By: Mike Piech, vice president and general manager, Middleware, Red Hat
Platform-as-a-service, or PaaS, is an increasingly popular cloud offering that enables developers and IT operations professionals to build and maintain applications while avoiding many infrastructure-related challenges and expenses. According to a 2014 IDC report, the global PaaS market is expected to reach $20.3 billion in 2018 as enterprises continue to adopt this new technology.
Playing on “PaaS,” Gartner coined the term xPaaS in 2013 to describe the broad spectrum of specialized middleware products that IT vendors offer as services, like integration Platform-as-a-service (iPaaS) or business process management Platform-as-a-service (bpmPaaS). xPaaS seizes the opportunity cloud computing provides to reimagine application development and operations, making these processes faster, easier, less risky, and more flexible.
Middleware meeting the cloud has facilitated the DevOps movement and predictably transformed how developers create applications and IT operations professionals manage them. But enterprise IT is only starting to experience the xPaaS revolution's most surprising and exciting consequence as line of business managers become more closely involved in the software development process than ever before. The rise of "BizDevOps" is leading not only to tighter collaboration between IT departments and business managers, but also to heightened expectations, with businesses increasingly relying on technology to carve out unique competitive advantages.
Accelerating time to market
One major benefit of xPaaS is accelerating applications' time to market. Innovation demands the ability to experiment, fail fast, and deliver before the competition. Developers must be free to focus on their applications, unhampered by the need to provision, configure, and secure their application infrastructure. IT operations can't take on even more maintenance responsibilities, especially when many stacks deployed for the sake of rapid innovation may be extremely short lived. Architects need to provide an environment that maximizes productivity, minimizes cost and risk, and scales rapidly and securely.
The last generation of application platforms, integration buses, and process automation suites, while an improvement over earlier home-grown solutions, fell short of delivering critical functionality on-demand without the need to acquire, provision, and maintain application infrastructure. xPaaS automates tedious tasks like setup, configuration, and integration. Traditionally, developers performed each of these functions for each middleware product manually—a time-consuming, error-prone process. To communicate with the database, for example, developers needed to obtain a connection string in one place and input it into a configuration file somewhere else. With xPaaS, intuitive menus help developers select their database and get their systems up and running quickly.
xPaaS also speeds time to market by accelerating trial and error. Engineers and architects can often approach development problems in multiple ways, several of which may appear equally viable, leaving teams uncertain of which to choose. Instead of having to sit and envision every scenario before writing a single line of code, developers working in an xPaaS environment can simply try different solutions and find out which works best.
The same xPaaS features that accelerate time to market also reduce development and deployment risk. An intuitive GUI presents the simple logic of the situation and automates the complex, underlying processes, shielding applications from a major source of risk: human error. xPaaS takes advantage of the fact that computers are better at repeatedly executing tedious tasks, which frees up humans to focus on what they're better at: higher-level logic, thinking, and creativity.
xPaaS also de-risks the delicate transition from development to production. In the past, developers would cobble together an intricate and fragile environment on their workstations, miraculously get their application running, and the moment they needed to recreate that environment on the way to production, forget how they built it—which versions of which modules they used, for example. But for developers working in an xPaaS environment, replication is much easier, partly because the platform built the environment automatically, and partly because the platform consistently documents and audits the steps that go into creating the application. Once developers build an application using xPaaS, the underlying machinery can produce however many instances are needed.
Microservices and containers are the latest in a long line of technology that has catalyzed the xPaaS revolution and improved IT organizations' flexibility.
Containers allow developers to decompose applications into a greater number of smaller modules, or microservices. Before containers, a cloud-based module had to run on a full virtual server, a heavyweight operating system, and all the virtual hardware underneath. In those days, it didn't make sense for developers to place only a few lines of code on a virtual server. Now, using lighter weight containers, developers can run microservices on commensurately small infrastructures. At the same time, xPaaS has made deploying and maintaining a proliferation of microservices tractable.
By breaking down applications into loosely-coupled microservices, developers and IT operations professionals gain the ability to create, modify, restart, and scale each microservice independently. If a particular microservice becomes a performance bottleneck, for example, operations can scale it without scaling the whole application along with it. In the xPaaS world, IT organizations can improve their flexibility by thoughtfully employing containers and microservices.
BizDevOps: the new relationship between development, operations, and business
The xPaaS revolution is fueling the rise of DevOps, the increasingly popular software development methodology that emphasizes collaboration between developers ("Dev") and IT operations ("Ops"). Developers used to create applications independently in their own environment. After a certain point, they threw applications over the wall to operations, who had to figure out how to install them, configure them, and make them work in a real production environment. The DevOps movement is making developers and IT operations professionals work more closely together. As a result, developers are more aware of applications' operational attributes, which reduces the risk of operational errors. The developer's role has shifted. In exchange for the speed gains associated with working in an xPaaS environment, developers now have to complete many infrastructure-related tasks previously performed by operations. Of course, operations still has a role running and managing applications.
But the most surprising and exciting aspect of the xPaaS revolution is that business people are starting to collaborate more closely with their IT organizations in creating new applications. With the waterfall model, business people used to imagine a new application, write a detailed spec, throw it over the wall to development, wait a year or more, and then receive an application that might or might not turn out to be what they needed. In the world of xPaaS, business people can conceive of new applications in a more iterative, trial-and-error fashion. Developers can quickly create draft applications to show business people, who can give immediate feedback or launch the applications and see how customers respond. Enabling more trial and error on the business front is perhaps the greatest value of xPaaS. In the beginning, there were three siloed groups: development, operations, and business. Then came DevOps, which improved cooperation between development and operations. Now the prevailing development model won't be DevOps, but BizDevOps, and all three groups—development, operations, and business—can collaborate and iterate more tightly, creating better outcomes for all.
BizDevOps is a new term, but in practice, it's already here. The sooner enterprises take advantage of the tighter collaboration between developers, IT operations professionals, and business people that the xPaaS revolution has facilitated, the greater their competitive rewards will be.