Jump to content

deploying over multiple servers using the same domain name


Wicket

Recommended Posts

Hi Guys,

Just after a bit of advice about deployment. 

 

Here is my scenario..

 

(If I am ever lucky enough to have lots of customers for my application - this is a good problem to have!)

  • Let’s say I own www.uniguiapp.com
  • I am using a VM which can scale to a certain degree(I can add more RAM and CPU cores etc.) Lets say for now the limit of the server is 2 customers.
  • I have my application deployed on IIS – Underneath an application pool I have a site for each “Customer” eg.
  • www.uniguiapp.com/customer1 goes to the application and connects to customer1’s database (on the same SQL server instance)
  • www.uniguiapp.com/customer2 goes to the application and connects to customer2’s database (on the same SQL server instance)
  • Each folder on the file system has its “own instance off the unigui application, eg its own ISAPI dll (as each is treated as a different site, underneath the application pool)
  • Now, this setup works well for me, everything is on the same server I can roll out updates and make backups easily enough.

 

Now down to my question…

 

However, the server only has a certain amount of scaling, let’s say I have maxed out ram/cpu and I now have a new customer, let’s say customer3. I would now have to purchase a new VM server to accommodate customer3.

 

I would like to be able to have customer3's url of www.uniguiapp.com/customer3 , eventhough it is running on a different server. (with a different IP of course)

 

I want to know if this is possible, and how to achieve it. 

 

Currently I have my server IP mapped to the domain name using a single A record, then my site in IIS maps to the correct directory. 

 

Can I achieve what I need by have another A record on the new server of www.uniguiapp.com/customer3 ?

 

Apologies for the long post, and thanks for reading.

 

Any advice is welcome.

  • Upvote 1
Link to comment
Share on other sites

After some thought, would it be such a bad idea to have one application server , then have a different database server, this way SQL server would be on its own server and I could essentially add more database servers as needed.

Then the application server only has to worry about the application, not the DBMS.

 

This to me seems like a viable option splitting out concerns , may cost more , but long term is more scalable.

 

Anyone have any thoughts?

 

Sent from my Pixel using Tapatalk

Link to comment
Share on other sites

You have a multitude of choices. Just a few ones :

 

1.All on one machine : If the applications are the same you put a single DLL mapped to the URL and connect o a "master database"

                                   The master gives you access to one or more "work databases"

                                   so the URL for different customers is the same ( www.uniguiapp.com/myapp....)

                                   but the login directs you to a particular customer database so you skip all the hassle of defining different URL-s ,

                                   registering them in the DNS etc.

                                   

2.One Application Server ( cut1 + cust2 + .... cust n) and one separate machine with the Database server. You split the load o 2 machines.

 

3.If you use Apache you can define VirtualHosts for the same IP but different URL-s.

 

There are other variations as well.

 

The only thing that remains to be clarified ( at least for me ) is how to work with a load balancer for really big sites.

At this point I think Fershad & Co has to give some more details.

Link to comment
Share on other sites

Hi

 

We have the same concept as Adragan described for uniGui applications

- 1 uniGui application server with IIS for 1 or more uniGui applications

- 1 mySQL database server for all databases

 

For existing Windows applications we have a portal based on http://www.terminalserviceplus.com 
You install the Windows application on a Windows 2012/2016 server and the user can
run the application in a HTML5 browser.

These Windows applications will be migrated to uniGui,- if possible, this year. Why possible...we
use lot of direct printing of wristband, rfid card printing, reading/writing.

 

Regards Peter

Link to comment
Share on other sites

Peter, does running the application on a separate sever from the database effect performance much?

 

Do you use SSL on you application server, if so does this mean the data served up to it from the database server is encrypted also?

 

I am slightly concerned if out my database on a separate server it will be vulnerable, as only my app server will have SSL.

 

Sent from my Pixel using Tapatalk

Link to comment
Share on other sites

Hi


I use a separate application server + a separate database server.I notice minimal performance compared to everything on 1 server.
This is because we use a VMware server with 2 separate VMs.
1 for the application and 1 for the database.

You can also put everything on one physical server, then you keep the traffic internal.

Unfortunately I do not use SSL yet, that will be the next step

By using the VMware servers, security is also well organized and if something happens
on 1 server then it does not affect the other server.


Maybe I am privileged because I have my own server in a data center
Link to comment
Share on other sites

Hello,

 

After some very long assessment and research, our team found that we should wait until UniGUI is released for Linux and built-in load balancer server.

See what come next.

 

We started our current big project in .NET Core 2.0. I personally wanted to use UniGUI but after long research, we decided to give some time to UniGUI and let it mature a bit more. There is quite a limitation of third-party components for UniGUI at this moment. Hope some companies like TMS develop some components for it as they developed for IntraWeb.

 

Besides everything, UniGUI is a GREAT product.

 

Good luck UniGUI Team.

Link to comment
Share on other sites

  • 4 months later...
×
×
  • Create New...