The latest insights from your peers on the latest in Enterprise IT, straight to your inbox.
This article is by Featured Blogger Jason Bloomberg from his blog Intellyx. Republished with the author’s permission.
The no-code and low-code markets continue to mature, as no-code vendors provide more complete, easy-to-use application construction tools for non-technical, ‘citizen’ developers – while low-code vendors target increasingly complex enterprise scenarios with their platforms for professional developers.
Furthermore, the low-code market itself continues to diversify. Many low-code vendors have chosen to focus on specific strengths, whether it be mobile app development, workflow-centric apps, or forms-based user interfaces with integrated data sources beneath the covers.
The leaders in this fast-growing market, in contrast, are centering their efforts on supporting enterprises as they struggle with complex applications that typically bring together all of these capabilities.
At its customer conference NextStep in Boston this week, low-code trailblazer OutSystems rolled out version 11 of its platform. The company had already delivered a platform that handled the capabilities listed above. With this announcement, it tackled a tougher challenge: modernizing legacy systems and replacing the large application portfolios that burden today’s IT shops.
For enterprises with such systems, moving from legacy, monolithic applications to a modern app portfolio requires a rethink of its architecture. “If you want agility, you need to break your architecture into smaller, more agile parts,” said Paulo Rosado, CEO of OutSystems. “Fully autonomous, multi-disciplinary teams can take several of these parts and organize them around goals like services.”
‘Government Agile’ at City of Oakland
Thinking in terms of reworking legacy application architectures is a far cry from the typical low-code focus on building one-off apps. For OutSystems, however, individual applications are only the starting point.
In fact, many of the customers at NextStep were still in the early phases of their adoption of OutSystems. One example: the City of Oakland, California, which had leveraged the platform to build its award-winning Community Police Review Agency (CPRA) app, which gives citizens a simple, safe way of reporting complaints against police.
Andrew Peterson, the CIO for the City of Oakland, spoke about the challenges of bringing OutSystems into a city government. “Let’s do government Agile,” is how he described these challenges. “We need to get to 50 miles per hour, not 100. For us that would be fast.”
Given the intransigence of the ‘that’s the way we’ve always done things’ attitude at the city, even small wins were important. “Lots of simple wins allow us to do more and more,” Peterson said. “We’re building credibility in terms of our ability to deliver.”
Oakland’s efforts with OutSystems began at the individual app level, but the broader challenge was the citizen database and login system dubbed OCAPS. This system supported all the other apps now in production as well as in progress. “The applications plug into a bigger framework,” Peterson said – and the city built that framework with OutSystems as well.
Nimbi: Saving the Company with Low-Code
For Brazilian supply chain relationship management vendor Nimbi, choosing OutSystems was a save-the-company decision. The problem: after years of additions to its monolithic legacy application, it had become untenable. “We would add capabilities that customers required, but it got worse and worse,” explained Felipe Almeida, CEO of Nimbi. “Our legacy system was untestable. Our technology wasn’t sustainable. We needed to go in a new direction.”
OutSystems provided the solution – but not without pushback. “The biggest hurdle with adopting OutSystems is for developers to realize building skills in OutSystems is better than skills in another technology,” Almeida added.
Eventually, developers came around. “I’d rather learn to learn how to build something five times as fast,” is what Nimbi’s developers are saying now, according to Almeida.
Bringing Front-End and Back-End Development Together
Most low-code and virtually all no-code platforms center on front-end app development: mobile apps, web-based apps, and the like.
Many low-code platforms offer back-end development as well, largely because such platforms originated on the back-end. Some examples: Appian leverages its history is as a business process management (BPM) platform, and Kinvey from Progress Software began its life as a mobile backend-as-a-service (MBaaS) offering.
Other low-code platforms feature low-code on the front-end but a hand-coding environment on the back-end. Mendix falls into this camp, with a back-end it ported to the Cloud Foundry platform-as-a-service PaaS) offering.
OutSystems, in contrast, implemented both back-end as well as front-end functionality in its platform from its earliest versions. Today, therefore, implementing each respective portion of an app leverages the inherent simplicity of the low-code approach to development.
Understanding How Low-Code Breaks the Monolithic Legacy Stronghold
How, then, does a low-code development team modernize a monolithic legacy application? By targeting specific functionality changes that end-customers require and replacing that functionality with modular software.
Modularity has been a software best practice for decades, and the modern implementation of software modularity is microservices in containerized deployment environments. It’s straightforward to implement microservices in a low-code manner with OutSystems – but microservices aren’t the whole story.
The missing piece: without the proper architecture, implementing too many microservices leads to unmanageable interdependencies, exploding management overhead, and increasing brittleness.
To address these challenges, OutSystems promotes a well-architected approach that groups microservices by domain – a grouping with business context that developers can expose via simple, loosely coupled APIs, while microservices within the domain can interact in a high performance, but tightly coupled manner.
This architected approach enables development organizations to implement complex enterprise apps at scale – even when they replace or interact with existing legacy applications.
The secret to making this approach work is how OutSystems deals with change in the context of interdependent software modules. “OutSystems 11 delivers safe and fast change to a distributed architecture, in spite of the fact that dealing with complex dependencies is difficult to achieve with microservices,” Rosado explained.
Many changes to microservices or APIs don’t break the applications they participate in, but sometimes such changes lead to adverse effects. Such updates are called ‘breaking changes.’ “OutSystems can detect situations where you would need to fix the consumer or the API to deal with breaking changes,” Rosado said.
In this way, building applications with OutSystems is more than simply building modular apps and stringing them together. It also includes implementing complex enterprise applications that consist of many such modules – and doing so in a way that supports the continuous integration and continuous delivery (CI/CD) goals of modern software development by resolving complex interdependencies automatically.
Rosado is sanguine about OutSystems’ newest release. “We deliver the architecture of the future,” he said. “These pieces you build, and you control the continuous delivery lifecycle. With OutSystems, you pulverize the monolithic architectures.”
Pulverize is the operative word here – not simply ‘destroy,’ but rather ‘turn to powder’ – far smaller elements that support an entirely different approach building software that supports the complex, changing needs of today’s digital businesses.
Intellyx publishes the Agile Digital Transformation Roadmap poster, advises companies on their digital transformation initiatives, and helps vendors communicate their agility stories. As of the time of writing, Appian, OutSystems, and Progress Software are Intellyx customers. None of the other organizations mentioned in this article are Intellyx customers. OutSystems covered Jason Bloomberg’s expenses at NextStep, a standard industry practice.