mercredi 29 juillet 2015

Infrastructure to host multiple sites on (multiple) IIS server(s)

We have an application, which consists of web app running in IIS, windows service and data storage in file system and a database (PostgreSQL).

We have two types of clients, that host the system on their server (site, win service and postgre can be on a single machine), also we offer 'hosting' services - when we run multiple instances of the system on our servers for clients.

So with the requirement of local installs, we don't use any cloud-based services or tools, just run multiple instances in parallel on our VMs. So all the clients are completely segregated, there are as many sites (app pools) as clients, multiple win services, and separate databases in postgre.

So how our current operation work is that we start a web-server with IIS and db server, start adding new instances, and once a server is 'full', we open another one... This is done manually, as there may be many cases when someone is just interested in the system and asks for a new instance for testing. That new website/database can be mostly empty, don't take much resources so on a single 'standard' VM we can host many of those. But at some moment, one or several sites will start growing and then we can decide to a) not add any more to that server; and b) move larger instances to another machine...

This manual process is error prone of course and results in long down-times if something goes wrong.

We started moving to new hardware infrastructure and in this process are trying to revisit system organization as well.

I started looking at IIS web farms to at least reduce some of the issues with multiple servers - like having one gateway (arr in IIS case) that receives requests and directs to the right webserver. Plus we can benefit from adding load balancing and ssl offloading later. While for single sites this works fine, I couldn't find a way to have a logic that says 'for list of host names go to web1 server, for another list go to web2' etc.

So wanted to ask, am I on the right track and need to come up with correct setup in IIS ARR or the whole organization needs to be reworked, with different routing, internal dns etc?

Thanks, Zura




Aucun commentaire:

Enregistrer un commentaire