Wicket Posted January 7, 2018 Share Posted January 7, 2018 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. 1 Link to comment Share on other sites More sharing options...
Wicket Posted January 8, 2018 Author Share Posted January 8, 2018 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 More sharing options...
adragan Posted January 8, 2018 Share Posted January 8, 2018 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 More sharing options...
Wicket Posted January 8, 2018 Author Share Posted January 8, 2018 Thanks for some advice adragan, a few things for me to think about now. Looking forward to hearing about the load balancer! Sent from my Pixel using Tapatalk Link to comment Share on other sites More sharing options...
mierlp Posted January 8, 2018 Share Posted January 8, 2018 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 canrun the application in a HTML5 browser.These Windows applications will be migrated to uniGui,- if possible, this year. Why possible...weuse lot of direct printing of wristband, rfid card printing, reading/writing. Regards Peter Link to comment Share on other sites More sharing options...
Wicket Posted January 8, 2018 Author Share Posted January 8, 2018 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 More sharing options...
mierlp Posted January 8, 2018 Share Posted January 8, 2018 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 stepBy using the VMware servers, security is also well organized and if something happenson 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 More sharing options...
Wicket Posted January 8, 2018 Author Share Posted January 8, 2018 Thanks for the info Peter! Sent from my Pixel using Tapatalk Link to comment Share on other sites More sharing options...
sbokhari Posted January 9, 2018 Share Posted January 9, 2018 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 More sharing options...
dagromo Posted May 11, 2018 Share Posted May 11, 2018 Hello It's sounds to me that you need a http switch like octagate http://www.octagate.com/this one it's pretty old and seems to be abandoned, but maybe are others that can do the same stuff. With this kind of "switch" you can upscale easly adding servers and also provide failover. Regards, David Link to comment Share on other sites More sharing options...
Recommended Posts