DEV Community

Bala Madhusoodhanan
Bala Madhusoodhanan

Posted on

Shortcuts or Sustainability? The Delicate Balance in Low-Code App Creation

Intro:
While low-code platforms offer convenience and speed in application development, it's important not to overlook essential aspects like security, operational logging and alerting, and ongoing support.
Rapid development should never come at the cost of neglecting these critical considerations.

Key Themes to consider:

  • Security: Regardless of the development approach, application security should always be a top priority. Cyber threats and vulnerabilities are a constant concern, and any application, whether built with low-code or traditional methods, should undergo rigorous security testing and adhere to best practices. Neglecting security could lead to data breaches, unauthorized access, and other serious risks.

  • Operational Logging and Alerting: Proper operational logging helps monitor the health and performance of applications. It enables quick identification of issues, troubleshooting, and optimizing performance. Neglecting operational logging and alerting could lead to challenges in identifying problems, diagnosing issues, and ensuring that the application is running smoothly.

  • Support and Maintenance: The ease of building applications using low-code platforms doesn't exempt them from the need for ongoing support and maintenance. Applications are used in dynamic environments and may require updates, bug fixes, and enhancements over time. Proper support ensures that the application remains functional, secure, and aligned with evolving business needs.

Sample Decision framework

While application design the 3 core consideration are understanding the user ecosystem, the systemic process you are trying to enforce and the data handling that the system has to process. The consideration with user ecosystem are the size and concurrency of the application and will the application be leveraged by user base external to the organisation. The second factor would be to understand what business logic are we trying to implement? Is it a simple workflow / process automation ? Does the application have to orchestrate business logic and also integrate with other systems? The final factor would be the handling of data. Is it application performing a simple read / display of data ? Is the expectation that the application build should manage larger dataset and ensure that while processing the data the integrity / quality of the data is not compromised ?

Factors Set Value Question
User User Base value as 1 Is the user base very small (Less than < 10 Users)
User User Base value as 3 Do we have external facing user Base
Process Process value as 1 Is it a only process orchestration / workflow implementation
Process Process value as 3 Does the Systemic process need to interact / integrate with other systems and have multiple features to be implemented
Data Data value as 1 Is the data just a read or an API operation to display data
Data Data value as 3 Do you think you need to persist transactional information

Extensive list of recommendation based on the above factors would be as below.

Scenarios User Base Systemic Process Data Operations Application Design Recommendation
Case 1 1 1 1 Low / No Code
Case 2 1 1 2 Hybrid
Case 3 1 1 3 Hybrid
Case 4 1 2 1 Low / No Code
Case 5 1 2 2 Hybrid
Case 6 1 2 3 Pro Code
Case 7 1 3 1 Low / No Code
Case 8 1 3 2 Hybrid
Case 9 1 3 3 Pro Code
Case 10 2 1 1 Hybrid
Case 11 2 1 2 Pro Code
Case 12 2 1 3 Pro Code
Case 13 2 2 1 Hybrid
Case 14 2 2 2 Hybrid
Case 15 2 2 3 Pro Code
Case 16 2 3 1 Hybrid
Case 17 2 3 2 Pro Code
Case 18 2 3 3 Pro Code
Case 19 3 1 1 Hybrid
Case 20 3 1 2 Pro Code
Case 21 3 1 3 Pro Code
Case 22 3 2 1 Hybrid
Case 23 3 2 2 Pro Code
Case 24 3 2 3 Pro Code
Case 25 3 3 1 Hybrid
Case 26 3 3 2 Pro Code
Case 27 3 3 3 Pro Code

PVA agent to quickly help with decision making
Chatbot

Wrapping Up:
Taking shortcuts in these areas can lead to vulnerabilities, unreliable performance, and operational challenges that might not surface immediately but can have significant repercussions down the line. It's essential to strike a balance between the efficiency of low-code development and the critical responsibilities of security, operational robustness, and long-term support

Top comments (1)

Collapse
 
wyattdave profile image
david wyatt

With explosion of low code getting it's easy to think it solves every problem. Knowing when to go low and when to go pro is a challenge for everyone. Great article, thank you for sharing