back

by wslh·15y ago·view on hn ↗
Currently the same applies to every known service. You have developed using AWS or App Engine and try to migrate to other systems without changing a line of code?
3 comments
There's some level of tie-in there; but it's not nearly as intense as a full-stack lock-in like .NET.

"We're tied to AWS and we need to edit some code to deploy on Rackspace Cloud or into our new DC"

vs.

"We're tied to MS so our options of where we're going to go are severely limited by the fact that we can ONLY move to providers who work with MS."

I'd buy your argument if Ruby on Rails only worked on Amazon servers, or if by using Ruby you could only use nginx and not Apache.

The fact is when writing a .Net web app, if you don't like the way IIS or Windows Server or their providers are handling things, you're out of options. Oh and if you want those nice features that make the ecosystem usable, you get to upgrade everybody to the Pro version (not just the people who need the features.) Remember to buy the next version, too, so you don't fall behind on updates and enhancements. And the next version.

That's not really true. The providers in .NET are similar to the convention over config philosophy present in RoR. IIS and ASP.NET provide a lot of features in what they consider the "most common" manner. However, almost every one of the built-in providers can be overridden with a custom provider. In fact, I've set Wordpress up on IIS a few times and used a custom ISAPI module to allow mod_rewite like functionality to create friendly URLS.

You don't have to rely on the built-in providers any more than and RoR app has to use only the scaffolded views.

Also, the Mono project has made it possible to run almost any .NET app on Linux. There are a handful of projects at Novell that are written in C#, but are served via Apache on a Linux box.

> Also, the Mono project has made it possible to run almost any .NET app on Linux

I'd argue that the gap between 'any' and 'almost any' is larger than what you're implying - at least large enough that it can't be ignored.

huh? on AWS I can develop python/php/ruby/c/lisp/go/whatever on linux/freebsd, using pretty much any software stack i want.