We recently had a client ask us to build a custom application to run on their environment. We love these types of jobs because of the challenges they present and the creativity they unleash when it comes to building the solution. We have plenty of options to choose from when building a custom application in terms of technology. In some cases we might simply utilize an existing SharePoint / Office 365 package and build them a small SharePoint portal that utilizes Microsoft Flow to satisfy the requirements of the client. In other cases we may build a custom .NET web application in .NET Core with a back end SQL database to really customize each aspect of the application for the client.
There are some challenges we encounter when building a custom application for a client that, in this case, would like to host the application within their network. In this case we opted for a .NET application with a back end database. Typically if we are hosting the application or if the application is going to be hosted on Microsoft Azure, we have a SQL Server available. This particular client did not have a SQL Server available, so we had to use an alternative to host the small amount of data that will be contained in the application.
The hosting environment can also play a part in what technology we employ. This client did have a Windows 2012 Server available to host the application, which was something we could take advantage of for our .NET Core application.