locked
Best API to configure ARR? RRS feed

  • Question

  • User-357497408 posted

    I plan to use ARR as a 'gateway' server to forward requests to different IIS servers based on requested subdomain (like this) and want to know which API to use to configure ARR on that gateway server. 

    e.g. I'll have *.mycoolapp.com pointing to Server A running ARR, and it might redirect tenant1.mycoolapp.com to Server B and redirect tenant2.mycoolapp.com to Server C. I'll have an admin web app where I configure which server should receive requests for which tenants, and that admin web app will be running on a different IIS Server.

    What API would you recommend I use within this admin web app to connect to the 'gateway' server to update the ARR configuration? Is it the "IIS Administration API" https://github.com/microsoft/IIS.Administration? 

    My dev platform is C# .NET Core running on windows. Probably all the IIS servers will be running the same version. A REST API would be great, so I'm guessing it's the IIS Administration API but wanted to check if there's any reason not to use that or if there's something else that's easier. 

    Thanks!

    Rory

    Thursday, October 1, 2020 9:37 PM

All replies

  • User-2064283741 posted

    How many sites and servers and frequency of your changes are you talking about here? 

    Do you mean constantly changing what goes where? (say every minute looking at some logic to decide where the requests will go) 

    Or a script /api to change say adding a new one every week when a new domain /client comes in board? 

    To be honest I think you seem to over engineering the routing of traffic to your servers. Why can't you have all sites on all backend servers and just route traffic to any server based on the built in ARR Farm logic. 

    In general scripting is used for adding and removing servers to farms or changes to the urlrewrite section 

    So changing the Web or applicationhost.config

    But it depends on what things you are changing. 

    Friday, October 2, 2020 3:57 AM