If you are reading this, you are probably in the phase of considering a low-code platform or you are already using a low-code platform to address your application development needs.
The pace of change in technology adoption is leading to an increasing demand for cloud-ready, enterprise-grade applications. There is a sense of urgency to develop and deliver applications with speed. Application development cycles have reduced from weeks or months to days. While the promise of low-code platforms is to accelerate application development with ease, not all platforms would be suited to your business requirements, scalability and application development strategies.
Despite the pressure, it’s time to pause and take stock of your existing systems and resources to identify how you can adopt technology meaningfully. Understand your business needs, your existing systems and processes, and the skillsets of available resources. To leverage the power low-code has to offer, you should take the time to evaluate and choose a platform that suits your enterprise needs.
Over the years, as low-code providers, we have come across some insightful questions from customers before they decided to partner with us. To understand the evaluation parameters when assessing a low-code vendor, this Webinar by Deepak Anupalli, Co-Founder and Head of Product Engineering at WaveMaker will help.
1. Is the platform purpose-built for developers? Is it easy to use and learn to build web UI or mobile applications?
Ideally, the low-code platform should give your developers the bandwidth to focus on innovation, and the complex and critical functions that would make the application rich.
2. Does the platform support a ‘real code-behind’ strategy? Is the code generated readable and modifiable? Does it allow for interoperability of code changes across IDEs? Customization is a key aspect when developing enterprise apps with real world applications.
Like Deepak said, “You don't have to reinvent the wheel. A low-code platform that supports an open standards-based technology stack gives you the right level of maturity of software that has taken years to perfect. It also gives developers access to open standards libraries and open source frameworks like Angular, Spring or Hibernate. In this way you don't have to reinvent the wheel in using a completely different type of software when you can get access to the same kind of capabilities by leveraging an open-standards based technology stack.”
3. Does the platform help to build scalable applications to cater to larger user base or growing use cases? No application can be scalable right away. Application scalability is deep rooted into the architecture and technology used by the platform. In terms of scaling applications, modern applications use microservices-based architecture instead of monolithic architecture.
4. Does the platform have architectural best practices in place that include enterprise-grade security? Enterprise grade security has become a critical requirement. And one of the primary reasons for delay in application delivery is getting clearance for security compliance and governance rules.
5. Does using the platform minimize risk and maximize digital transformation efforts? One of the key aspects when using a low-code platform is leveraging existing assets. To succeed in your modernization efforts, you cannot just replace existing technology, you need to integrate them with existing systems and create modern workflows and processes.
6. Is the pricing or licensing model scalable and affordable? There is a lot of confusion and complexity in understanding of licensing models of different platforms, especially when you want to build more applications.
Nothing holds truer today than the statement by Marc Andreessen that “software is eating the world”. In the last decade, software development has rapidly evolved and there is an increase in cloud and mobile adoption. The increasing change in pace at which software is getting delivered is faster than what enterprises and users can keep up with. Given this fact, it can only mean that it's time to pause, assess and improve the technology you have to deliver more with less.
When assessing a low-code vendor, to understand the evaluation parameters and find examples of how low-code can deliver value, you can get a first-hand perspective in this Webinar by Deepak Anupalli, Co-Founder and Head of Product Engineering at WaveMaker.
In 2020 there are 2.7 billion smartphone users and counting. 90% of their time on these devices are spent on apps. This is just mobile applications, there are also web applications used on the desktop for personal and professional purposes.
With the increasing number of app users, developing applications at scale has taken precedence in the market today and low-code platforms are leading the evolution in application development. And these are not just ordinary applications that users demand, companies also need enterprise-grade applications that provide high performance to meet their business needs.
At a time when application development is in demand, high performance and massive scaling are primary business drivers. From an IT Leader's point of view, it's about speed, performance and business continuity. How fast can applications be developed cost-effectively? How to scale applications to meet the demands of business users? How can modern applications be developed to transform and complement existing legacy systems, without disruption?
At the rate at which apps are consumed, the questions arise. What is the breaking point of the applications that your enterprise can build? How scalable is the platform on which your applications are developed? Is the low-code platform you use truly scalable?
While low-code platforms have taken a front seat in terms of scalability, only those platforms thrive that can manage variable workload, support multiple developers, provide resilience in service availability and sustain user experience in production. Only if all this can be achieved by the low-code platform you choose, can it prove itself to be truly scalable. To find out if your low-code platform provides scalability, whether it is dev-time or run-time scalability, use this simple checklist.
The best way to extract the real value of your low-code platform, in terms of scalability, is to make your internal processes and architecture design aligned to your scalability needs.
Meet demands with capacity planning. Scalability is all about adjusting capacity to meet your demands. It is important to first identify the number of developer logins and app deployments permitted on the platform, based on your license terms. For instance, you may have the infrastructure capacity to develop and deploy applications but it may be restricted by your license terms, and vice versa. When setting up, find out the platform capacity and know if it suits your scalability needs.
Use an architectural design suited for enterprise scalability. AD&D teams spend a lot of time to manage, validate and fix large application systems that use different architectural designs. To save time, make teams more agile and create reusable applications at scale, choose low-code platforms that are built to have a microservices architecture model, as it provides the required scalability.
When evaluating a low-code platform ensure that applications built on the platform follow modern application architectural models. A truly scalable low-code has well-defined REST APIs that separates the UI and the backend layers, allowing for developing applications at scale and ensuring that the best practices in terms of performance and design are followed as per industry standards. Ideally, the low-code platform must have fast API creation and binding tools, with automated API documentation, to help you re architect your monolithic, legacy applications to modern, microservices-based microapps.
Streamline operations for faster deployment. The premise of scalability also revolves around the ability to deploy applications with speed. By using a low-code platform that has containerized application delivery, development teams can ensure faster deployment, streamline operations, increase scalability, and portability. With cloud-centric applications pivoting on the scalability factor, low-code platforms that use the Docker containerization model provide a resource-optimized environment that ensures deployment to cloud providers and Kubernetes. Moreover, those platforms that provide auto-containerization also power microservices-based deployments at scale.
The increasing demand for applications today has led to large-scale deployments, which need to have low response times for high concurrent requests. What makes a low-code platform truly scalable is when it is built to use architecture that is stateless, one that allows to develop applications at scale for deployment on container-based systems. When addressing the demand for massive scaling of applications, the best way is to align your internal processes and architecture design to the low-code platform you choose.
Software Automation, today, has been the bent of mind in almost all sectors - fast-moving consumer goods, manufacturing, banking and finance, infrastructure, telecom, and more. The post-Covid world has posed serious challenges to both humans and industries. Industries and Plants are grappling with absent migrant laborers with the social distancing exigencies. As a result, plant closures and productivity losses have led to huge losses in businesses. So much so, many businesses are considering automation of their shop floors with robots.
Wavemaker has been farsighted in this paradigm and has capabilities for integrating with automated workflow engines already in place. A Wavemaker application can integrate with the open-source lightweight BPM product - Camunda.
An organization made up of multiple nations wanted a solution that is completely open source and not locked into any commercial software. So WaveMaker's application architecture of code generation in open source technologies combined with Camunda’s open source Engine was the clincher.[/vc_column_text][/vc_column][vc_column el_class="hide-mobile" width="1/6"][/vc_column][/vc_row][vc_row bottom_padding="30" class="builder-advantages"][vc_column width="1/1"][vc_row_inner][vc_column_inner width="5/6"][vc_column_text]This organization has a Mechanical Plant with thousands of machines, requiring the automation of inspection and assessment of maintenance Tasks for its machines.
Each of these steps typically requires the intervention, across the hierarchy, of Subject Matter Research Officers (SMRO), Subject Matter Experts (SME), and Maintenance Management Officers (MMOs).
A step like the Assessment of a task has its own workflow.
Implementing the entire business logic to such granular levels using traditional development methods would impede the speed of development, efficiency and tracking and so a lightweight Workflow Engine is a good fit.[/vc_column_text][/vc_column_inner][vc_column_inner el_class="hide-mobile" width="1/6"][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width="5/6"][vc_column_text]The business stakeholders for the plant chose Wavemaker which provided an easy modular implementation along with Camunda.
Here is a snippet of the Interaction Diagram at a high level -[/vc_column_text][minti_image img="23885"][vc_column_text]The Wavemaker Application and the Camunda Workflow can be deployed separately in different cloud instances so as to be able to scale them horizontally. [/vc_column_text][/vc_column_inner][vc_column_inner el_class="hide-mobile" width="1/6"][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row]
Has this happened to you? You want to build an application within weeks. You find a low-code platform that allows you to build an application with speed, using only a small team of professional developers. After building a custom application you decide to move to another platform. That's when you realize you are “locked-in”!
The low-code platform you used generated proprietary code and it required a subscription to run applications independently. You have problems with data access and control, as the platform uses proprietary technologies, and code maintenance and access to libraries is a challenge.
Being “locked-in” is a challenge many developers, architects, and application teams face while using or moving applications in different platforms. To address this challenge and understand the extent to which you could be locked-in you need to first ask some of these questions:
In Gregor Hohpe's book, The Software Architect Elevator, he talks about how modern ‘elevator architects' are instrumental in aligning organizations and technology, reducing friction, and charting a transformation journey. When they ‘ride the elevator' from the penthouse (where business strategy takes place) to the engine room (where technologies are implemented) they understand that the common attribute in system design like lock-in is not binary, it's not black and white.
The attributes of a “lock-in” come in different dimensions, in the form of a platform, code, or vendor lock-in. The approach to understanding lock-in cannot be in an all-or-nothing manner. It needs to be considered across the application development and deployment lifecycle, at a broader level in terms of business / vendor, platform, and code lock-in. And while the seductive proposition of low-code is to build applications faster with leaner teams, you need to consider the different dimensions of a lock-in to unlock the real value of low-code.
Platform Lock-In. Can you run applications on infrastructure of your choice?
Once you build an application, the question is does the platform allow you to run applications on infrastructure of your choice, on-premise, private or cloud? How certain are you about the cost of running your applications in say a year or five years from now? To avoid being locked-in to a low-code platform, you must consider how your applications will be run in the future, on what type of infrastructure, and other aspects of accessibility, scalability, and portability.
By supporting hybrid and multi cloud app deployments, low-code platforms allow running of applications on infrastructure of your choice. With the increasing importance of delivering and deploying applications on cloud infrastructure, you can lower infra TCO by leveraging container technology. Docker containerization helps you to manage your IT app infrastructure, faster than VMs, enabling portability of workloads between cloud vendors. Low-code platforms that support cloud-native architecture, and have auto-containerization and application delivery integrated, can help you seamlessly deploy and scale applications on infrastructure of your choice.
Code Lock-In. Can the auto-generated code be extended and customized?
You could get locked-in to a platform in various ways, from proprietary application-level services to control over associated access rights. Moreover, when shifting platforms, exporting and re-importing projects is a tedious affair. With the need to copy-paste code, it makes the development process time-intensive and error-prone.
Given that the majority of the code is auto-generated by a low-code platform, the quality of code, the flexibility to extend and customize is something development teams need to be particular about. Taking a developer-centric stance, low-code platforms adopt a standards-based ‘real code-behind' approach. This provides extending code in the future and interoperability of code changes across inbuilt editors and external IDEs (Eclipse, IntelliJ).
Distribute applications freely without concerns of being lock-in to vendor-specific frameworks. The low-code platform you choose must be built on an open-standards based technology stack, one that allows you to distribute applications without licensing concerns, and without a lock-in to vendor specific frameworks.
Write and extend custom code in an IDE of your choice. Another aspect of a code lock-in arises when you need to build applications on one platform and use it on a custom Integrated Development Environment (IDE) of your choice.
To optimize application lifecycle management, low-code offers a unique development experience. The IDE sync feature in low-code platforms enables you to mix-and-match custom code written in an IDE of your choice, such as Eclipse or IntelliJ, with the platform components.
To know how you can seamlessly sync project changes between our low-code platform and the IDE of your choice, check out The Studio WorkSpace Sync Plugin. Using this plugin, you can pull the latest project changes made on the platform and ensure they are applied to the IDE code, you can push IDE changes to the platform, and synchronize projects.
Keep in mind that when switching vendors, you are also moving to a new product. You could be locked-in to a product because it becomes difficult to release new features, manage updates, make heavy customizations, configure integrations and setup proprietary extensions.
A low-code platform allows deeper customizations using custom methods and extensions accessible from frameworks, without being locked-in to a product or the platform. With access to an open-source runtime environment and libraries, a low-code platform uses popular frameworks used by millions of developers, making it easier to make customizations and avoid a product lock-in.
Synchronice and track code changes with version control systems. Most development teams also face the challenge of tracking and updating code when version upgrades happen. Every time a version is released, most of the times applications need to be rewritten to maintain the existing extensions and customizations built.
To synchronize changes and track code changes, low-code platforms offer version control services. By using an inbuilt version control system (VCS), you can manage changes to your projects files, including source codes, documentation and web pages. Low-code platforms provide an integrated version control system where you can configure external VCSs such as Gitlab, Bitbucket, and Github.
Business or Vendor Lock-In. Is the licensing and pricing option future-proof?
A business or vendor lock-in is typically what IT teams mean when they say ‘lock-in'. This type of lock-in could happen when you are switching from one vendor to another. Commercials such as support agreements and licensing that you sign up for could get you locked-in to one vendor.
To avoid a business or vendor lock-in, begin with asking whether the pricing suits the requirements and size of your enterprise and if it is future-proof when you want to scale in the future.
Software development platforms have always had some type of proprietary nature embedded. With open source technology like low-code, this has changed. Low-code platforms take an extensible approach to application development and delivery, one that supports open source technologies. That being said, when evaluating a low-code platform, you need to be aware of not getting locked in to the ‘abstraction'. The abstraction of code extensibility, data accessibility, flexibility to customize, and freedom to track and manage components in the application development and deployment process.
How you use your technology will determine its success. Be aware of the types of lock-in.