Part 1 of this series explored how the answer to increased developer productivity shouldn't be the extreme of black boxes, but a low-code solution that's an "open box" - based on open standards and with a full view of the source. In Part 2, we'll examine the development architecture in the context of low-code solutions.
Low-code solutions not only suffer from the “black box” perception of difficult or impossible customization, developers also cast a jaundiced eye on their architectures - antiquated, monolithic, and unfriendly to application deployment.
Monoliths - the Good and Mostly Bad
From a development standpoint, the advantages of monolithic architectures, where all the application logic and code reside in large and interdependent components, include being simple to develop and to deploy - at least initially. However, in the long run these advantages are outweighed by the disadvantages. Monolithic app services tend to be “tightly coupled,” making it difficult to isolate services for purposes such as independent scaling or code maintenance. If any program component needs to be updated, this often requires large portions of the application to be rewritten.
That, in turn, raises the specter of refactoring to improve performance, readability, portability or code adherence. A monolithic approach immediately puts you on a refactor course or dealing with bolt-on alternatives often provided by the software developer that try to add modern functionality to a dated architecture - but end up creating a second tier of apps.
Monoliths + Low-Code Solutions = Extra Work
Monolithic architectures common to many low-code solutions are much more difficult to understand, because there can be dependencies that aren’t apparent when looking at an individual service or controller since they’re baked into the solution. With many low-code solutions, you’re saddled with trying to manage the development, testing and production work for a monolith, minus the ability to develop, test, deploy and scale components individually. Scaling is challenging because you can’t identify and break out specific poor performing pieces to optimize them, and maintenance is a chore because while a monolith has fewer “moving pieces,” they’re hard to maintain because those pieces are all tightly coupled.
Developers are aware of these limitations and try to avoid them.
So, What’s the Answer?
The ideal would be to have the cloud capabilities provided by the likes of AWS or Azure at your disposal, combined with the ease of low-code deployment.
• Different developers or even different teams can work on their portion of the application independently without conflicting with changes made by other teams
• Updates can be made without rewriting or redeploying the app code
• Code is reusable across apps and easier to maintain as functionality is isolated
The result is developers are freed to focus on app capabilities and user experience, while the platform manages the rest.
Disruptive Platforms Have Arrived, and That’s Good for Development
Traditional low-code vendors offering monolithic platforms are being disrupted by high productivity platforms designed to be cloud-native and standards-based with support for a serverless backend and microservices.
One of those disruptive high-productivity platforms is Progress Kinvey.
A modern serverless architecture married to the highest levels of developer control - that’s the answer to meeting the never-ending demand for consumer-grade multichannel applications.
Mark Schafron is a Senior Copywriter for Progress.
29 en 20 oktober 2019Tweedaagse workshop over probleem-analyse door Adrian Reed.This practical, hands-on workshop by Adrian Reed, focusses on the problem-solving skills that practitioners need in order to collaboratively explore and describe problems...
30 oktober 2019Workshop met BPM-specialist Christian Gijsels over business analyse, modelleren en simuleren met de nieuwste release van Sparx Systems' Enterprise Architect, versie 14.Intensieve cursus waarin alle basisfunctionaliteiten van Enterprise...
6 en 7 november 2019 De wereld van business intelligence en datawarehousing hanteert een unieke terminologie en eigen verzameling technologieën, ontwerptechnieken en producten. Voor nieuwkomers kan dit overweldigend overkomen. Want wat betekenen al ...
13 november 2019Praktisch seminar waarin Sander Hoogendoorn u laat zien hoe u microservices kunt inzetten in uw softwarearchitectuur.Het nieuwste architectuurprincipe microservices lijkt veelbelovend: verkorte time-to-market, schaalbaarheid, autonomi...
10 en 11 december 2019 Vergaar nieuwe databronnen en benut analytics en machine learning om de concurrentie een stap voor te blijven. Er wordt gekeken hoe machine learning en advanced analytics technieken zoals tekst-analyse, sentiment analyse...
11 en 12 juni 2020 Praktische tweedaagse workshop met internationaal gerenommeerde spreker Alec Sharp over herkennen, beschrijven en ontwerpen van business processen. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikb...