Hacker News new | past | comments | ask | show | jobs | submit login

Nice write up. Things have certainly changed since the first time I saw benologist comment about the original architecture on HN. At the time I was excited to know there were other startups using .Net.

I know, I was also excited. We feel lonelier now.

Still by reading the article I still don't see how moving to another framework + platform made it better. Maybe our case is so very different.

I have considered the move for quite a while, every time I run the performance tests, .Net comes faster.

Maintainability wise, it is still easier to manage .Net applications than NodeJS. The tooling for testing (and not just Unit Testing) is abundant and mature.

Cost savings are also debatable. In our case, we measure Infrastructure Costs + Maintenance Costs, and windows is way cheaper putting the two together. Now, they are using a PaaS, so that might make it worth while. For us a PaaS is really not an option since we need a lot more control.

I do agree with the mongoDB choice. I love Mongodb. We us eMongoDB. But we have so many problems because it never reclaims deleted data. The size just grows. And that is maintenance hell. We are analyzing potential replacements.

For us, NodeJS still doesn't have that much to offer. :D So we are sticking with .Net.

Look into capped or TTL collections on Mongo, those are generally best for handling data churn. You can also check out the new usePowerOf2Sizes option on collections to see if that will help (TTL collections use these implicitly): http://docs.mongodb.org/manual/reference/commands/#usePowerO...

Thank you. I will definitely check that out. :D

I'm still ~50% .NET, the website and a lot of backend processing and maintenance software is staying C# because there's no benefit in shifting that to whatever language like there was with the API server.

I have started running some stuff under mono though!

You know, we have also began testing with mono on the backend. And I love it. This create a really cool flexibility of running your apps in Linux and Windows... :D

Did you had a look at .NET 4.5? It has WebSocket support and very convenient async keyword. Seems to me it can match easily match Node for a site like Playtomic.

(I was replaying to benologist's comment, but there's a bug in HN system)

While .NET 4.5 makes a lot of things easier, there's nothing new. Sweeping generalization: it's all been syntactic sugar since generics arrived in 2.0. (This was especially evidenced by all the magic done by the Rx people as the only MS team interested in supporting 'legacy' framework versions.)

For example, the 'official' WebSocket support (SignalR):


  > Please support .NET 3.5 Please
  > ...
  > Of course it's technically possible, but it's not a goal.

This all started a few years ago on .NET 2.0 originally, the NodeJS rewrite began before the 4.5 beta was even announced.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact