Move asp.net application out of IIS

327 views Asked by At

We have a VS 2012/.NET 4.51 app, uses MVC, asp.net, and a bunch of other pieces.

For all the usual reasons, we are finding IIS to be a deploy/ops nightmare (how much script are we expected to write to install/configure IIS? crazy!)

Actually, the app is two web sites: - REST API, based on WCF - Web site, based on MVC, ASP.NET, and several other pieces (a whole big .js/handlebars rich js app)

I looked at moving to Nancy, but that would appear to be a lot of work. (It is not clear to me that asp.net would be happy under nancy. But in all events, it does not look like a drop in.)

What are my alternatives? (IIS is the biggest mess of our whole deploy process. Apache or nginx would be cake.)

OWIN + Katana looks close, but from my understanding you cannot (yet?) run a full ASP.NET app in OWIN/Katana.

We have done some work with powershell DSC. It can solve a lot (and is really great... the IIS part is the biggest pain).

We do not use TFS (we are a Visual Studio + Perforce shop).

Is there magic in the next VS/.NET/Windows/IIS to address this?

Alternate perspective : Migrate ASP.NET app on .net 4.5 to ASP.NET v5 - docs? concepts?

1

There are 1 answers

0
Antonio De Leon On

Have you checked out Release Management for Visual Studio? It previously belonged to InCycle and was bought and re-branded by MS with few real changes to the application. It takes some setup but is pretty Microsoft platform friendly. I've used this tool for similar application deployments on Server 2012/2008 platformed .NET web applications/services.

Depending on your Microsoft license tier for TFS, the proof of concept license cost would be nil and it may even be free moving forward (based on previous discussions with sales reps). I was using TFS with this tool and once you push through the configuration challenges it can be pretty impressive and provides a nice viewpoint for those who might be concerned with status, environment versions, and etc. You'll want to become a bit more familiar with powershell if not already. Also, not sure how many different web applications/teams you are attempting to solution the problem for but it scales decently up to medium sized organizations. It can become pretty complex to manage though at an enterprise level unless you are managing completely separate installations.

You may also want to look into Desired State Configuration or Chef to get your servers configured initially to separate the configuration of IIS and etc from the actual deployment of the application. This will limit the deployment to IIS cycling and file copies (less deployment risk but increases configuration drift risk).

I tried posting all of the links by my rep points are restricting me. Anyways, hope that helps a little.

If trying to avoid the MS route completely, I suppose you could start down the path of moving onto the open source version of .Net and start working on porting it over beginning here http://docs.asp.net/en/latest/getting-started/installing-on-linux.html