On the one hand this article is somewhat pointless because many of the currently available no and low code platforms don’t offer many (if any) options in the way of hosting, often time it’s their prescribed way or no way. And just because of that lack of choice I think it’s an important aspect to consider because your opinion, situation or decision here may determine your choice of platform or disqualify low/no-code development altogether.
The main items to consider when deciding on the hosting solution that is right for you are: integrations and access. If your integration points are available only inside of your own corporate network you may have no choice but to select a platform that offers the ability to host the application in your own data-center, and while this is a situation that occurs less often as time passes the companies with security and technology policies requiring this are still out there. Alternative is to implement secured proxy services that expose your internal integrations to the outside world using modern day authentication and encryption technologies, problem often is that this is a project far exceeding the timeline of your no/low-code application project and the scope of your influence. End-user access is another important aspect that also often conflicts with the integration requirements, do only your corporate users access the application, and then only from within your corporate network or does your application have users external to your company, maybe customers or sub-contractors then you may have no choice but to host the application somewhere exposed to the public internet. Often the conflicting needs of these two items results in a hosting solution somewhere in a secure no-mans land on the edge of your corporate network and the internet, a place often named the DMZ (De-Militarized Zone) by security experts.
Once you have made your decision of hosting in your own network you have pretty much also made the decision to self host, running your own hardware, virtualization, operating systems, database and any other supporting systems. This can be costly and complex to setup and maintain, especially since the low/no-code application platform probably has a set of requirements for all of these that your company IT department has vastly different opinions about. If however you’ve chosen to host your application in a public accessible place, you have another choice to make, shared or private hosting and if private self managed or provided as a service by the platform supplier? If possible I would go with the option that is closest to the vendor, the solution that the majority of their customers use and provides the optimal flexibility and cost profile for you.
While considering all these hosting options you need to keep in mind the scale-ability of your application. There are very few applications that have a constant use, most business applications have vastly different usage during office hours then any other time of the week. On the other hand some applications, one I helped build for an annual event comes to mind has very little use for every day of the year except one when the use was 100,000 times higher than the annual average, have periodic peaks. Hosting an application with large use spikes, either because of end-of-month processing or because of event driven needs yourself means you have to provision for that peak use, especially if those peaks aren’t as easy to predict as the event application I mentioned. While hosting an application like this in a shared hosting environment might allow you to only pay for the actual capacity used and put the strain of having enough capacity available for your unexpected peaks on the shoulders of the platform provider.
Cost is another important element, your choice of hosting may severely impact the operating cost of your application. How flexible is the solution provided by the platform company, do you pay for max capacity or actual used capacity? but when self-hosting there probably is a minimal spend with the platform company and the cost of having all that equipment, supporting software and the people to install and maintain it all probably is also considerable.
For some applications there is no real question about hosting, applications used exclusively on edge devices as local applications. Most of the times these are mobile only applications, but they could also include applications hosted on embedded devices, signage and laptops or desktops. For these kind of applications a completely different set of requirements emerge. Firt there is the question of how they interact with the platform they are used on and what happens when that platform changes, how does the application handle an update of the underlying operating system or how does it deal with local security measures like firewall settings. The second element to consider is use of and access to the platform app-store, this is specifically relevant to mobile platforms as they often don’t offer an alternative method to deploy your application. Will the google play-store accept your application for install on Android devices (and if so to what versions of the Operating System?) and the same question applies to Apple and the App-store a notorious selective and complex process to navigate.
In the end your hosting choice is probably a balance of company requirements, users expectations, scale, cost and very importantly the actual device your users will be using the application on. As with traditional software development you probably won’t be able to get your optimal mix for your project but you should be able to get pretty close with the suggestions form this article.
You must log in to post a comment.