

Where to host .NET applications? - richards
http://seroter.wordpress.com/2013/08/16/where-the-heck-do-i-host-my-net-app/

======
jasonkester
Missed the real answer: In your cage at the local colo.

The sweet spot for the Microsoft stack is one beefy server. While you can rent
that from a cloud provider, you're just plain always going to get a better
deal by building your own box and dropping it in a datacenter.

It's not anywhere near as daunting as it seems to do so, and it will run you
about $400/month all in, amortized out over a 3 year box lifetime even
including licenses.

That'll get you the firepower of a medium sized cluster of Linux gear running
your open source stack of choice, without having to deal with a dozen virtual
machines spinning up and down to deal with load. It'll just handle as much
traffic as you can throw at it, up to the point where you're big enough to
simply pull a half dozen of your hundred devs off what they're doing to help
scale you up.

That's probably the reason you don't see many .net paas companies around. For
the most part, they're not the right tool for the job.

~~~
rbanffy
That's a good solution, until you need to do a major upgrade, or when you need
to hire additional capacity for a temporary spike (say a campaign). It's only
a solution if you are OK with occasional downtime - because you'll need to
stop everything to apply service packs.

With something like EC2, you just spin up a similar box with newer patches
applied, redeploy your application, load-balance between your versions and
just delete the old one when you are happy.

I cannot imagine going back to colo. Or even physical boxes. If I were forced
to have a physical box, the first thing I'd do would be to deploy everything
on virtual machines or containers inside it.

~~~
jevinskie
If you're willing to spend the cash, 3 servers can offer you a hot failover
with a spare staging server. Of course with just 3 servers, you would have to
accept failing over to a different version while you update the 2nd server.

------
sitharus
Interesting list. Though I didn't see much consideration to Mono on Linux,
which is my personal deployment strategy.

It would have been nice if it was compiled in to a larger comparison table so
I could see it all on my widescreen display, but an interesting read
nonetheless.

~~~
cybrjoe
I've been trying for weeks to get a Mono environment that will host an MVC4
application (minus async/await). Any suggestions?

~~~
sitharus
I haven't tried MVC4 yet, I was waiting for async support in Mono.

Personally I run everything on a VPS, because I'm not worried about scale. If
I was running something larger I'd probably go with Azure.

~~~
chris_mahan
can't do Select Into in Azure.

~~~
sargun
Even with the new dedicated Azure SQL Always-On instances?

~~~
chris_mahan
i'll check.

~~~
chris_mahan
After some googling and stackoverflowing and msdning, I think any version of
SQL on azure does _not_ support "select into". I also found a request to have
that added, and in January of 2013, it was closed as "won't do". ( see
[https://connect.microsoft.com/SQLServer/feedback/details/776...](https://connect.microsoft.com/SQLServer/feedback/details/776409/add-
select-into-to-sql-azure) )

------
dyml
Happy to see some .NET posts on here! Also, comments that doesn't include
bashing over the evil M$ and how they will rip your startup apart.

Very nice list, i was not aware of many of these solutions. I have used Azure
for my private sites before, and it is a really nice solution.

Scott Hanselman wrote an interesting article, comparing Azure Web Sites to
your $5/Month Host. Read it here:
[http://www.hanselman.com/blog/PennyPinchingInTheCloudWhenDoA...](http://www.hanselman.com/blog/PennyPinchingInTheCloudWhenDoAzureWebsitesMakeSense.aspx)

------
skilesare
I've been using appharbor for a long time and I've been very happy. The recent
additions of spdy and web sockets is really great....they've been very active
in integrating with other providers. It is pretty shocking how easy it is to
spin up a $10/month 10GB sql server instance. And in general, it 'just works'.

------
sirkneeland
Interesting, thanks for sharing. I would have just thought "Azure and done"
but it's nice to see that there are other options in this ecosystem.

------
maslam
We host Cloud Cellar on Windows Azure and have had positive experience doing
so. PS: The BizSpark program is really good for .NET developers - use it!

~~~
cpayne
BizSpark has to be one of the most under promoted feature by Microsoft. I
think its absolutely fantastic and it boggles me why they don't make more
noise around it...

------
RachelF
The main problem with .NET is the higher price due to the Microsoft tax. That
said, it has advantages over the free stacks.

~~~
jinushaun
At my previous company, despite being a .NET shop, our main problem was not
the cost--even though SQL Server is outrageous. It was the difficulty in
implementing continuous integration and deployment. RDP is not a scalable
solution. Implementing Chef on Windows was a major pain. The insanity of
having to install VS on the build servers just to get automated builds of web
apps. _MS, what were you thinking with making VS a dependency for building
websites?!_

I know TFS offers a lot of the benefits we were looking for, but we were
committed to git. (This was before they added git support in TFS) We were also
burned by a lot of bad MS versions of things in the past, so were weren't
eager to dip our toes into TFS.

~~~
adrr
RDP isn't a scalable solution. I'd recommend PowerShell for all that. For the
build server, you just needs msbuild which i think is available on the .net
SDK. For CI, i've used TeamCity in the past which worked well. Staying away
from TFS is a good a decision. On windows boxes i recommend mercurial because
tortoiseHG is so nice, really miss it ever since i moved to developing full
time on a mac.

~~~
noveltyaccount
Yes. PowerShell, PowerShell, PowerShell a thousand times. I think that _every_
.NET developer should be functional in it. PowerShell can do everything they
already know from the .NET BCL, AND run every command line tool they've ever
used, AND every server administration task you can imagine. And it's
extensible with .NET. I've personally witnessed some pretty awesome one-click
deployments with PowerShell, including to Azure with zero-downtime using the
MS-supported cmdlets.

~~~
skeletonjelly
Can you share anything about that one click (nothing to do with one-click™ I'm
sure) deployment?

~~~
smhinsey
We have a number of one-click deployments running in TeamCity. It's honestly
very straightforward. If you're deploying to Azure you can use either the
Powershell or node.js libraries to talk to their API. We use powershell.
Basically, we compile using msbuild, package the artifacts into an Azure
package, and deploy it via the API. Doing zero-downtime deploys to Azure is a
matter of how you use the API. You can substitute EC2, another cloud, or
traditional hosting and while the tools and APIs get progressively less
powerful, it's all doable. At the simplest level you may just use msdeploy as
your "API."

I'm a huge believer in this kind of automation. We make extensive use of
TeamCity to drive it. In addition to builds, automated tests, and deployments,
we also use it for release promotion and doing other housekeeping tasks like
cleaning up data from QA environments, restoring testing databases, etc.

------
nreece
Here are some more suitable (reliable and inexpensive) options (based on
first-hand experience and research/testimonials):

VPS: AppliedI ([http://www.appliedi.net](http://www.appliedi.net)) or
UltimaSystems ([http://www.ultimasystems.net](http://www.ultimasystems.net))

Cloud: Azure or AWS (or even DigitalOcean or Linode if possible to run under
Mono)

Dedicated: ReliableSite
([http://www.reliablesite.net](http://www.reliablesite.net)) or OVH Canada
([http://www.ovh.com/us/](http://www.ovh.com/us/)) or Hivelocity
([https://hivelocity.net](https://hivelocity.net))

~~~
nreece
Few more, with SSD RAID (found from recent survey for an ASP.NET app):
Dediserve ([http://dediserve.com](http://dediserve.com)), RamNode
([http://www.ramnode.com](http://www.ramnode.com)), DotBlock
([http://www.dotblock.com](http://www.dotblock.com))

------
thinkbohemian
Curious if anyone has experience running .NET applications under mono on
Heroku?

~~~
dazbradbury
You probably want to see this comment:

[https://news.ycombinator.com/item?id=6241570](https://news.ycombinator.com/item?id=6241570)

------
kayman
+1 for Azure or AWS

