Managing Performance in Low-Code Application Platforms
As articulated in a previous article “Simplifying the Dev in DevOps: Build a Full App Without Coding in 30 Minutes”, a no-code/low-code platform like Joget allows for app development to be accelerated into a fraction of the time taken using traditional coding practices. In a presentation during the Gartner Application Strategies & Solutions Summit 2018, Cisco shared their real world experience in building 1,020+ screens and 100+ processes in 24 weeks using the Joget platform with a small team, a feat which would otherwise be improbable.
For such magic to happen, a lot of the work has to be done at the platform level. Additionally, apps developed could potentially incorporate custom code, plugins or integrations that affect performance. So how does APM fit in this scenario? Typically, third party APM products and solutions are required to manage and monitor app performance, needless to say that these APM tools are expensive. Recognizing the importance of APM, performance related features has been continually incorporated into the Joget platform itself.
APM and Performance Related Features in Joget
Joget is an open source no-code/low-code application platform that empowers non-coders to instantly build and maintain apps anytime, anywhere. At time of writing, the latest stable release of the Joget platform is Joget Workflow v6. To be released in 2019, Joget DX is the next generation successor with a broader focus on digital transformation. Here are the current and upcoming performance related features in the Joget platform:
Built-In Application Performance Monitoring and Alerts
Joget DX incorporates built-in APM features that automatically monitors system and application performance. The monitoring is done at runtime, so it works even in actual production environments. The Joget platform runs on a Java virtual machine (JVM), which allows it to be deployed on a wide variety of operating systems and cloud infrastructure. Important metrics (e.g. JVM memory usage, physical memory usage, as well as system and process CPU loads) can be viewed and monitored in a graphical format over a selected period of time.
Alerts can be configured for the various metrics including errors, so that email notifications are sent when thresholds are exceeded. When configured, these notifications provide warnings so that proactive action can be taken before any service interruption is encountered.
Administrators are able to drill down into response times and throughput by requests for each application.
Whenever slow traces are encountered, detailed information will be available for troubleshooting including code level insights like database query performance and thread profiles. All these allow administrators and developers to identify bottlenecks at runtime as well as during development.
The Performance Analyzer is a feature first introduced in Joget Workflow v5 that allows administrators and app designers to analyze the performance of their apps and to identify possible bottlenecks. When enabled, the Performance Analyzer identifies elements within an app where the processing time exceeds a specific threshold. The elements in the menu and current page will be highlighted when the front-end Quick Edit mode is active.
Monitoring via Log Streams and Downloads
A traditional method of monitoring applications for errors and possible performance issues, monitoring of logs is still an important way of finding and viewing errors. While downloading of logs has been supported since the early versions of Joget Workflow, Joget DX provides real-time streaming of logs in the web console for easier viewing and accessibility.