As part of Solutions Review’s Expert Insights Series—a collection of contributed articles written by industry experts in enterprise software categories—Charles Souillard, the CEO and co-founder of Bonitasoft, explains how composability, containerization, and the move to modern on-prem deployments are powering self-contained applications.
For some time now, we have been discussing a new approach to business process applications in the domain of BPM-based business process application platforms. At first, we were thinking about “autonomous applications.” As this concept has matured and the technology to support it is now beginning to become real, we’re speaking about “Self-Contained Applications.”
There are several trends in enterprise technology intersecting at the moment: composability, containerization, and the growing interest in revisiting modern-on-prem. These have fed into a new approach to designing and deploying business applications as independent or self-contained. In this article, I’ll give a bit of background on why autonomous apps and Self-Contained Apps caught our attention, how the technology has developed, and where it’s going.
The Trend of Enterprise Composability
Gartner’s research discusses the move towards enterprise composability like this: “As business needs change, organizations must be able to deliver innovation quickly and adapt applications dynamically—reassembling capabilities from inside and outside the enterprise. To do this, organizations must understand and implement the ‘composable enterprise.'”
Information systems and software development teams are already familiar with modular and component-based systems. The composition starts at the infrastructure level, often composed of independent, changeable components: CPUs, memory, disk space, and bandwidth, followed by composability at the application level. BPM platforms already support the “composable enterprise” by leveraging composable technologies and architectures. For example, BPM-based applications are generally made up of composable elements: processes, sub-processes, connectors, services, reusable pieces of code, business rules, and UI fragments, to name a few.
And next, we’ll see more composability at the enterprise information systems level as Self-Contained Applications offer even more flexibility to meet enterprise needs.
The Move to Containerization
Containerization is rapidly becoming a widely accepted standard for DevOps teams, and managing deployments is now a different story using container technologies. Generally, business application deployment and management are becoming more accessible and cheaper. Dev teams now have what they need to operate more smoothly by leveraging container-related technologies such as Docker and Kubernetes.
With containerization, DevOps teams can deploy individual process-based apps independently of the shared platform resources, which is the essential aspect of Self-Contained Applications. With independent applications, it’s possible to deliver faster and scale each application as needed. The DevOps team can maintain one app at a time without disturbing other high-availability apps. Better organizational agility means faster delivery, as the business requires.
The business side will be happy to see the effects of Self-Contained Apps when high-value innovations, updates, and improvements are delivered more quickly thanks to better agility brought by composability. Both BPM and containerization technologies are widely used and familiar to DevOps teams. However, combining the two in Self-Contained Applications is a revolutionary development with an evolutionary implementation.
The Growing Interest in Modern On-Prem (Private Cloud) as an Alternative to PaaS
The massive move to the cloud we have seen over the past few years (IaaS, SaaS, etc.) will continue, but we are beginning to see PaaS platform customers re-evaluate their choices. “As a service” has been the most demanded deployment for BPM-based process applications for several years, as privacy and security challenges have been met. But two issues will begin to impact PaaS offers:
- Autonomy: Business mission-critical applications cannot always afford to have a tier between business and operations. The DevOps team needs to be able to react fast when issues arise.
- Cost: Cloud-based pricing models are well suited to support small to medium deployments, but prices rise quickly for big deployments.
On-premise deployments may be considered legacy, unfashionable, and DevOps resource intensive. Still, that view will change as PaaS business is challenged by private cloud or “modern on-prem” deployments. IT teams have become familiar with and well-equipped with container technologies such as Docker and Kubernetes, which have simplified their operations.
The wide availability of these tools means it’s now possible for elastic, high-availability operations on-prem to be as easy as they already are for cloud deployments. We anticipate the trend that leveraging these technologies to exit PaaS and go on-premise to private cloud will allow both business and IT more autonomy and cost savings.
What’s Coming for BPM Application and Automation Projects
Take these three trends together: with the growing trends of modularity and containerization, Self-Contained Apps become an enabler of modern on-prem.
The Self-Contained Applications approach combines the benefits of the application development capabilities of a BPM platform with the help of containerization for deployment. A BPM-based process automation platform offers wide extensibility to integrate with enterprise IT, with its good audibility, traceability, and compliance, while the deployment of individual applications using containers provides faster delivery of new processes, easier optimization, and continuous delivery for existing processes; portability, and overall easier management.
I see this combination of the two in Self-Contained Applications as a revolutionary development that will empower CIOs and technical teams as business teams look to them for fast responses for innovation and keeping up-to-date because:
- The containerized approach, included with Self-Contained Apps, is already familiar to CIOs and their technical teams.
- The less complex, independent development and deployment of Self-Contained Applications means faster application delivery to production overall. As it’s unnecessary to take interoperability and integration among a group of applications into account during development, development is faster, testing is easier, and the resulting application is easier to maintain.
- Scaling an independent application is more straightforward and can be applied to each application individually.
- Application maintenance costs are reduced as smaller and more regular updates are now possible.
- Because it’s easier to implement multiple projects, development teams’ efficiency, productivity, and ROI will increase.
- Automation and business application projects are more easily adapted to business changes; the IT team can respond more quickly and confidently due to the smaller scope and less interdependence among other applications.
- Faster innovation and competitive advantage offer a quicker response to new business needs.
- The team better controls the planned maintenance/downtime schedule, as each Self-Contained App no longer depends on a shared platform schedule.