Different modes of deployment for multiple surveys

Dear users,
We’d like to know about your experience of running Survey Solutions on your servers. Could you vote on the below poll to gives us some background on the modes of deployment?

How many instances of Survey Solutions are you currently running?
  • Currently running one instance of the app
  • Running multiple instances, with separate server per instance
  • Running multiple instances on the same server

0 voters

can we install survey solutions in different port on same server?..I have survey solutions installed on my amazon lightsail. but for another project it looks like I have to buy another server since I cant do multiple project in same server(because I have to share the login to clients). is there any way I can keep those project separately on same server?

Website/application on a server is addressed with a unique combination of three components: IP address, port and the host header. So as long as you differentiate apps by one of these you can run more than one app on a single server.
Specifically on your question, if you have one app running (listening) on port 9700 (default port when you install Survey Solutions), then you can bring up a second app and assign to it port 9701, and the third app with port 8080, etc etc
So if you own dns address mysurvey.com and your server is running on an ip address 1.2.3.4 you point www.mysurvey.com to the address 1.2.3.4 (this is called A record in DNS tables) and on the server you have two apps listening to :9700 and :8080 (all incoming traffic on each port goes to the corresponding app). And your users have to type http://www.mysurvey.com:9700/ and http://www.mysurvey.com:8080/ to get to the corresponding application.

For an externally, user-facing applications using multiple ports is not the best option though, people are not accustomed in accessing websites by typing in the browser address bar www.mysurvey.com:9700. Much better (and universally used) option is to separate your apps by host headers.

First, you change the port and instead of non-standard 9700, use 80 (this is default when someone types http://www.mysurvey.com). Then, for the second app, you create/register a second name, say www.mysurvey2.com. So now you have two A records in your DNS table:
www.mysurvey.com -> 1.2.3.4
www.mysurvey2.com -> 1.2.3.4

On the server, you setup that instead of taking incoming traffic based on port as in earlier example, two applications get traffic based on the host header (‘www.mysurvey#.com’ part). And this way, users of your first app will have to simply type www.mysurvey.com and the second app will be accessible by www.mysurve2.com while both running on the same server.

You can google ‘adding binding in IIS’ to see the instructions on setting host headers. https://docs.ukfast.co.uk/operatingsystems/windows/iis/hostheaders.html is just one example with screenshots

thanks for the detail. . but what I meant was running multiple survey solutions project on same server. I have survey solutions installed on my server, but for another survey solutions project I cant use the installed survey solutions because I have to share the HQ login details to my clients. so is there any way I can install survey solutions multiple times on same server or any way I can separate those projects.

like I have survey solutions running on 9700 port. so to access it we have to do 1.2.3.4:9700 ( I haven’t changed the port to 80). and I was wondering installing survey solutions again on same server which is totally new and has no relation to the one running on 9700 port.

Yes you can and that is exactly what I explained. One part was missing though, when setup Survey Solutions using the installer, you cannot run the installer again to setup the second copy, running the installer second time triggers the update of the already installed version (will not get into detail but this is by design how msi installers work in Windows). In order to run the second (third, forth) copy of Survey Solutions on the same server you have to do it manually. After you installed the first copy via regular procedure, you have to manually copy the site folder, and manually add a new website in IIS (again, googling will give you plenty of tutorials online), and also manually change the appsettings.ini file to point to the different database.

One major disclaimer is required here: installing and maintaining applications on a server still does require certain IT skills and knowledge, although modern developments in cloud services and simplifications in Windows/*nix application delivery channels, but without at least basic understanding of how web applications are run, what settings to modify and how, you will most likely risk messing up the setup and jeopardizing the data-collection effort.