11 ms·
My startup is Microsoft-based, here's why
- 1010011010 13y agoSucker. Microsoft cannot be trusted. They'll change the game out from under you at some point and you'll have no recourse, because you're depending on Microsoft's proprietary software.
- petercooper 13y agoThe guy behind PlentyOfFish (the dating site) has written similar things in the past. Various links and tech info: http://highscalability.com/plentyoffish-architecture http://highscalability.com/plentyoffish-architecture It seems a lot of MS stuff, used properly, scale well and easily, making it particularly suitable for single founders or small teams where they don't want to devote a lot of time to ops (while still keeping it in-house). Becoming a member of their "BizSpark" program literally provides you with all the software free of charge. Entering BizSpark is easy and costs nothing. If you can get in, of course, which is far from certain. My company seemed to fit the criteria well a couple of years ago but was rejected without explanation. Of course, now we are profitable enough to afford any software we want but have stuck to open source as, well.. that's what we built our stack on instead ;-)
- giulianob 13y agoI got into it with my game company but once you graduate, then you need to start paying up. Maybe it only cost him a couple hundred bucks a month now but once he needs to pay for the licenses then that's when he can judge if it's really worth it. Until then, he's just getting stuff for free and saying how great it is.
- merlincorey 13y agoWhat if... the linked blog post is worth 1 extra year of free licenses and was commissioned by Microsoft PR.
- lazyjones 13y agoDon't forget StackOverflow: http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html http://highscalability.com/blog/2009/8/5/stack-overflow-arch... - apart from the somewhat unbelievable PlentyOffish project, it's the only prestige project based on MS software most people will recall. In their 2011 update, they claimed to be using "a lot more Linux machines", because apparently it's fun to develop using Microsoft technology, but for some infrastructure components (proxying, Nagios...), there's no way to beat Linux even if you're a MS fanboy. ;-)
- adventured 13y agoPlenty Of Fish shouldn't be considered unbelievable. I've been following information about their infrastructure from the first moment they posted about it. There's nothing unbelievable about it at all. Over the years he has openly described changes to the site's setup as they've scaled, and it makes fine sense. Stack isn't the only prestige product. Nearly all of Microsoft's infrastructure runs on their own dog food. That's a lot bigger of a product than Stack Exchange is.
- anoymous9352 13y agoAzure offering support for Linux shows how much faith Microsoft have in their own crap.
- TheAnimus 13y ago>It seems a lot of MS stuff, used properly, scale well and easily, making it particularly suitable for single founders or small teams where they don't want to devote a lot of time to ops (while still keeping it in-house). This is the thing, I've regularly scaled MS, almost RAD tool technologies to multi-thousand request per second scenarios. Normally for in house things, so I've had the benefit of warning for demand. But it gives me the nicety of fast to dev tools, the fact maintaining C# code is almost pleasurable at times, with good performance. Sure some custom C in Linux kernel land system will be faster, but the price performance is really good. Comparing MVC 4 to Ruby on Rails and Django for a new project, the performance of MVC4 was an order of magnitude better under load. But at the last HN meetup I went to in London they were taking an informal survey of languages. Despite having Erland and Lisp mentioned, the hosts didn't ask about C# or F#, despite my knowledge of at least 10 people there heavily in to it, I'd have guessed at least 30 people must have been. You also get some bizarre comments, a friend of mine who spends most of his time in just one nameless language, half ask/told some people that Asp.Net doesn't scale... Some people have a religious zeal against it I think. Which is a shame, C# is a great language, and if people want to 'stick it to MS' go contribute on mono instead of bitching about MS!
- vittore 13y agoStack overflow was another great example of hi load project on .net
- Spooky23 13y agoHow much of this is old-school admin practices vs. the new "cloud" philosophy of spinning up lots of boxes that you don't care about? I don't see a Microsoft vs. Open-source argument for alot of this stuff. Many of the devs I see working with "cool kids" tools don't know anything about operating IT environments, yet they are playing admin. They're spinning up dozens of single-purpose VMs, sometimes to perform trivial tasks. The motivation is often to reduce the need to have dedicated admins ($$$) and change process (time). But... managing dozens of VMs ain't free either!
- aetimmes 13y ago>...managing dozens of VMs ain't free either! It's not free, but configuration management tools make it pretty cheap. There's a reason Puppet/Chef/Ansible/Salt are getting a lot of attention in the DevOps world.
- bhauer 13y agoThis--and by "this" I mean cultural or philosophical differences--is what I feel is ultimately behind the stark performance gulf described in the OP's article. I love Microsoft's technologies. I use Windows on my development environment (even though I don't do Windows development; I know, I am crazy). I own a Surface and a Nokia Lumia phone. Nevertheless, I also know that there's nothing absolutely fast about Microsoft's web stack [1]. I suspect what is at play here, instead, is one side being efficient with resources and the other being reckless. My opinion is that some platforms and frameworks come bundled with a set of philosophical characteristics that most practitioners adopt. Some popular open source web frameworks include a poster of Knuth's famous quote about premature optimization and adopters consider that quote to mean more than it does, thereby expressly avoiding spending time thinking about performance because doing so might lead to time spent on optimizing code and that is evil. Further, in our efforts to capture production-grade deployment instructions for many open source frameworks, we were left wanting, often having to turn to community opinion rather than specific instructions. Many frameworks' communities were Balkanized, leading to uncertainty about the best performing production-grade configuration. It's not surprising when systems get built and deployed without any performance benchmarking, let alone tuning. I have no idea what "Charm" was or if it suffered from this sort of thing, but I've seen the described situation before and suspect it's fairly common. Meanwhile, although I've not been a Windows developer, I suspect their culture comes bundled with a modest helping of being mindful of CPU and disk resources and preparation for production deployments. Microsoft is too friendly with corporate IT to leave production deployments a guessing game. Finally, perhaps the OP in particular is just especially careful about performance, perhaps without even consciously making it a priority. Certainly none of us think it should be especially difficult for an m1.large server to process hundreds of thousands of dynamic web requests per day. It's more instructive to me, frankly, that we have come to think that is noteworthy. [1] http://www.techempower.com/benchmarks/ http://www.techempower.com/benchmarks/
- jaredstenquist 13y agoOne server? Not much redundancy in that setup. It's no wonder your costs are so low.
- Flavius 13y agoBizSpark is kind of awesome for startups. Even if you're not "Microsoft-based" you can still take advantage of their free software (Windows, Office etc.) which otherwise will cost you a small fortune.
- maxhowell 13y agoI'd consider Windows more readily, but you are a bit screwed if you do decide you want to dip in the Open Source pool. You can dip there, but it's harder and less well supported, and some things simply don't work. So you are tying yourself to Windows, and often, Microsoft tools. Fine if you're sure it'll work, but I would feel like I was gambling.
- statictype 13y agoWe're building a web-based saas on a Microsoft stack. We use coffeescript, sass, compass in our development environment and it works really well. There are open source libraries for doing REST, unit testing, performance testing and they work pretty well. Node.js and npm run on Windows. Mercurial always has and git now works as well. What are the components that you miss?
- bayesianhorse 13y agoIt does sound a bit as if you were using a node.js stack on top of a Windows operating system, which I wouldn't exactly call a Microsoft stack. In which case there is really just the question of what you know better, linux ecosystem or Microsoft...
- statictype 13y agoNo, we're are using a Microsoft stack - ASP.NET MVC and Sql Server. We're not actually using Node.js in that sense. I was just pointing out that it works well (we use Node and npm to run the coffeescript compiler - that's it)
- pathy 13y ago>"But most importantly, because the customer doesn't give a darn. My clients don't care what I'm based on as long as it works. So when choosing a platform for your great idea - just go with whatever platform you're comfortable with and start hacking, stop wasting time." This is really the best advise. What you actually use is less important than you being comfortable with using it (assuming it is not something totally bonkers). The customers want results, they don't care if you wrote it in Ruby or .net. They won't know the difference anyway.
- dkhenry 13y agoWhile Microsoft might be a good solution for many people (Use what get the job done), this specific article has absolutely no real reasons why you _should_ use Microsoft. The truth is if One 8-gig windows server is what he needed for his start up he could get by with one 8-gig Linux server and save a couple of bucks a month. While that might not be a big deal now, if he ever wants to get big, those little costs start to add up. Also while its great Microsoft is subsidising his starup via the Biz Stark program, we have seen many times what happens when you rely on "free" to run your buisness. Even tually he will need to start paying for those software licenses he is getting for free and by then he might not have a choice in what platform he is using.
- deleted 13y ago[deleted]
- hkarthik 13y agoI agree, he could easily be using a JVM-based stack to get the same or better efficiency out of his 1-server configuration. Also there's some clearly naivety when bragging about his "low cost" $200/month setup. His SQL Server licenses alone will probably triple or quadruple his costs when his Bizspark status runs out.
- sljd 13y agoWell, AFAIK he can easily switch to MySQL for instance, under the same ORM.
- hapless 13y agoMySQL is possibly the single hardest database to port to/from, because it supports nothing.
- twistedpair 13y agoIn that case porting FROM it should be simple. TO it would be hard if you're using all those fancy features of your current DB. That's why I eschew all the sirens from Oracle DBA's of "oh... but Oracle can do that too!" Keep database activities in the database and application activities in the app.
- mbesto 13y agoAll our stuff runs on one (1) server This has nothing to do with MS, but why would you set up such an architecture? If one of the apps hits a memory leak (their HeatTest project did), than all of your other critical services/apps are interrupted. That costs us about $200 a month. By the way, that's Amazon What Amazon configuration gets you 8GB or RAM for $200/month?? Am I missing something? Database servers for all of the above MS SQL licensing costs are crazy stupid. You either (a) have to fork over about $2-3k fee or (b) the cloud based cost is an extra ~$150/month on top of the standards windows vm cost. I'm genuinely curious about all of the above, because I am working with a MS-based startup and would be good to know. But most importantly, because the customer doesn't give a darn. 100% agree.
- zdw 13y agoExactly. If he was paying list price for any of this, there would be a sudden, dramatic increase in price. Which will happen, when BizSpark runs out.
- jasonkester 13y agoKeep in mind that BizSpark "runs out" when you pass a million dollars per year in revenue. At which point you can presumably afford a thousand dollars for a SQL Server license.
- mjn 13y agoThere's also a cap of 3 years, even if you haven't hit $1m revenue yet: http://www.microsoft.com/bizspark/faqs.aspx#16 http://www.microsoft.com/bizspark/faqs.aspx#16
- jasonkester 13y agoFortunately, they reinvent the program every few years. So in reality you can be in EmpowerISV for 3 years, then BizSpark for 3 years, then [thing that replaces bizspark in 2/2014] for 3 years, etc. I've personally been in Microsoft's "let's give developers everything for basically free" programs since 2006, and am not worried that I'll suddenly face a crippling bill down the line. Shafting little startups for a lousy grand or two really is not their business model. Think about it for a second and it'll make sense. EDIT: To be clear, I'm not advocating gambling your business on Microsoft's goodwill here. For the same reason I don't advocate building a business that a single bill for $1,000 can kill. The worst case result of MS pulling the rug on all their BizSpark-esque programs is an extra couple thousand dollars a year in the expense column. Here's hoping nobody here works for a shop where that would be a big deal.
- stugrey 13y agoBizSpark is fantastic, not for the free MS software but for the $150 a month of free Azure use for 3 years. For my bootstrapped project which has a significant server-side component it has removed my only monthly expenditure. There is also no compulsion to use MS products or to develop for Microsoft platforms either as i'm using Azure to power the Linux based backend of my iOS app.
- growt 13y agoI don't want to bash microsoft or anything. But 2.5 daily visitors and 1.5k new tickets daily can probably be served by nginx, a raspberry pi and a potato.
- 3pt14159 13y ago500px hosted 10x that on a Mac mini with a USB hard drive when they were starting out.
- growt 13y agothats a really bold decision for a photo hosting site. has anyone coined the term "minimum viable hardware" yet?
- venomsnake 13y agoThey give 1.6 volts each. So you will need 3 of them for the power source and you may have a problem with amperage. But yeah - people seem to gravely underestimate the power of the current hardware and how much of it is wasted currently.
- smanuel 13y agoI would rather use a lemon battery. It lasts longer and I won't have to think about redundancy for a few... seconds.
- tbrock 13y agoWouldn't you be doing something horribly wrong if you couldn't serve 70k requests a day? It's actually less than 1 a second: 70000 / (60 * 60 * 24) = .81 I think this article is more about distributed systems being costly (yes) and perhaps overly complicated for the types of applications most people build. I agree. However, you could easily do the same with Linux.
- icedchai 13y agoyou can serve 70k/requests day on a 386 from 1989.
- jzwinck 13y agoRequests to a typical smallish site will not be uniformly distributed--not by a long shot. Given that the peak is what matters, if we might get a day's worth of traffic in a single hour, that's 19 requests per second instead of 0.8. Those 19 transactions per second will still sound tiny to many people, but a couple months ago we heard that Mt. Gox could only do 37 TPS. So 70k requests per day is not nothing, especially assuming non-uniform distribution, minimal effort to optimize performance, and cheap hardware (or virtual hardware).
- venomsnake 13y agoOn my home dev machine which is nothing to brag about (i5-750 overclocked to 4.2 ) golang was able to process that per second on a single core if you keep the static stuff prezipped in the ram.
- eduardordm 13y ago80% of my costs come from securing client data and having a HA environment. We were using Oracle DB for many years, switched to PostgreSQL last month due to usability problems, not cost. I hope you make clear to your users that there will be data lost (to the point of your last backup) in an event of failure (which is certain thing in AWS). If you think Multi-AZ will save the day: we lost a whole region of data in 2011 and again in 2012. If we didn't have a slave node on another region, we would have to restore a 13 hours old backup, that would pretty much make us go bankrupt.
- jasonkester 13y agoI'll pluralize this anecdote. Every bit of my little software empire runs on a single Windows box. That includes my 3 main money-making products, a couple dozen smaller sites being hosted for consulting clients and my partner's businesses, and the Expat blog. Lots of steady-state traffic to lots of sites, several Techcrunch, Reddit and HN poundings, nothing to write home about as far as downtime or drama in the 6 years it's been running. Say what you like about Microsoft, but their server stuff just plain works.
- viraptor 13y agoJust out of interest - what's your plan for when that host dies? (complete disk corruption) How quickly can you recover to the exact same state? (I don't mean getting the data back, I mean actually having your software empire back online, serving live traffic again with minimal data loss)
- jasonkester 13y agoRestore from yesterdays backup onto the machine below it in the cage. Then buy a new machine to replace it. That 2nd machine is already running all the same sites (as a QA/Staging server), so it's pretty much good to go already. Sorry if I wasn't clear that "running everything from a single server" doesn't equal "only owning a single computer".
- toomuchtodo 13y agoI've worked in IT for 12 years. Microsoft server stuff never just works. I'm in the process of replacing a $1 MM video asset management system that sits on top of Windows Server with OpenStack/Debian precisely because of this. Microsoft server just works. Hah!
- soundgecko 13y agoMeanwhile millions of businesses are able to get it to work quite well. Ever use StackOverflow? NewEgg? Their server and tools revenue continues to increase by double digits. You think that's all media manipulation? Go search Dice for for the number of openings. Just because someone was not able use the right tool for the right job in your instance doesn't prove anything. One of my friends used Windows Server to stream popular sports and got so much traffic that he got shutdown by Dish.
- cl8ton 13y agoOur startup diphur.com is 100% Microsoft and also went through the BizSpark program and highly recommend it. When you exit the program you get to keep all licenses free with all future patches. We exited the program 2 years ago and have yet to buy a MS license for IIS or SQL. When we upgrade to Windows 2012 which is not free, we will let our business plan we implemented pay for it and choose our MS Server versions according to function.
- lmm 13y agoSo compare like with like. If you had a similar architecture using open-source equivalents - not trendy mongo/node/etc, just basic Java/postgres - what have you got? A similar, slightly worse language. A much bigger open source library ecosystem. Similar, slightly worse IDEs. Better admin and deployment options. Free licenses forever, rather than until MS decides they want you to start paying. You can write distributed large-scale SoA under microsoft, and you can write high-performance monolithic applications under open source. Stop conflating two very different issues.
- danso 13y agoThe reference to Amy Hoy's Charm is interesting, just because that was such an interesting (and somewhat distressing scenario, if you're into RoR and Ubuntu). But to say that the Windows architecture is significantly better bang for the buck requires more of an apples to apples comparison. The best I can find is that Hoy describes Charm as having 3,800 interested users in Oct. 2012...The OP describes having hundreds of companies (each with a variable number of users) issuing about 1,500 support tickets daily. (I'm not counting the traffic visits to the blog because that should be trivial, in the scheme of things, to manage...though I guess kudos for putting it on the same server as the software platform?) I guess knowing the other costs, such as developer time/salaries, would be helpful.
- throwa 13y agoTwo of the biggest help desk app on the web are running on rails. Salesforce helpdesk app with this as its url http://www.desk.com/ http://www.desk.com/ and ofcourse the helpdesk startup http://www.zendesk.com/ http://www.zendesk.com/. Based on the facts above, I submit to you that there is nothing interesting about the reference to Amy Hoy's charm (and there is nothing in there to depress a rails developer using ubuntu). As far as I am concerned, Amy Hoy's app did not get the kind of traction they envisaged simple. Hence they shut it down. I am sure that both jitbit's app and Amy Hoy's were not as big customer wise as that form Zendesk and Salesforce. I am sure their traffic numbers wasn't anything near what zendesk and desk.com does.
- earlz 13y agoI'm amazed that more people don't use Mono. Best of world to me is using Visual Studio for local development, and then deploying to a Linux server running Mono and Apache/Nginx. It's actually a lot less painful than people think, after you get ramped up a very small learning curve as to what is not supported in Mono.. And if you want to go completely free, MonoDevelop also isn't too bad, though you will find an occasional bug
- Toshio 13y agoThe vast majority of startups in the Valley use MacBooks for development.
- venomsnake 13y agoUnless mono has improved dramatically in the last 5 years it has that poor man's C# feeling about it - when I had to develop for it was nightmare - it had problem managing a lot of io buffers and silent improvements like making dictionary thread safe had some very very bad side effects in non blocking io applications.
- coderguy123 13y agoMSDN subscription(for work) comes with Azure hours. I can run 6 768MB linux VPS for free. sure I will use MS.
- sixothree 13y agoWhere can you get 6 linux vps for free? And why would you use 6 VPS as opposed to one?
- 3amOpsGuy 13y agoThis article could really do with a disclaimer at the top. I got about 25% in before i realised there was more than meets the eye (i didn't previously know who jitbit were, i had no idea of their Microsoft relationship). Something like "we're a member of Microsoft's BizSpark program and you can find out what that means for us here: http://www.microsoft.com/bizspark/About/Default.aspx" http://www.microsoft.com/bizspark/About/Default.aspx"
- Encosia 13y agoAnyone can get into BizSpark. It's not a special relationship. It basically just requires that you have a company of some kind formed and ostensibly are building some kind of software targeting the Microsoft ecosystem.
- victorlin 13y agoYou're rich man, dude :/
- TillE 13y agoYeah I really don't understand how anyone can justify paying for a constantly-running EC2 instance. Amazon's prices are absurd; even Linode is better value. For $200/month I could rent three dedicated servers with vastly better hardware specs.
- pplante 13y agoi am curious which datacenter you're looking at. mind sharing?
- mbubb 13y agoi was a bit coffee deprived when I read this and was starting on a teeth gnashing trollfest - but then realized it is 'JitBit' not 'FitBit' which I seemingly need to find a Windows machine to get to work... Then was interested in this article because at our company we have 400-500 servers - mostly Ubuntu with some CentoS and FreeBSD. Lately we need WinSvr to run a BI app that generates nice visualizations for datasci to feed business/ sales. Funny how not one sysadmin wants to touch this project... ;) That all being said, the developer affection, in certain neighborhoods, for C# and .Net seems genuine, which makes an argument for developing an app on this platform - that seems clear. I do not see this scaling out however. And historically Microsoft largesse (in education, research or with this startup initiative) has a way of drying up...
- srameshc 13y agoI really don't see any point why this post has been upvoted to this position. This someone got some discount because of being in some MS sponsored program and has no clue on how safe or unsafe his architecture is and has absurd rational on pricing. Good for him if he is happy to build with his MS gifts. Only if I could down vote this post and down rank it to absurdity.
- OptimusSubprime 13y agoYou're bragging that your SaaS app, which serves hundreds of paying customers, runs on a single EC2 instance? lol
- Kudos 13y agoFrom your marketing: > Small enough to be personal. Large enough to be stable. What happens when your one server goes offline?
- endeavour 13y agoDon't forget about Mono. You can write code in your favourite MS language (F#, in my case) and have all the benefits of cheap linux hosting and your favourite SQL database/NoSQL solution. http://thecodedecanter.wordpress.com/2013/06/22/hosting-websharperasp-net-apps-on-linux-with-mono-nginx/ http://thecodedecanter.wordpress.com/2013/06/22/hosting-webs...
- boothead 13y agoHow do you find integrating mono hosted apps with the Linux toolset. Do you use anything like chef/puppet/ansible? (Sorry If you've answered in the article - I can't read stuff on WP at work)
- voidlogic 13y agoThe author doesn't explain why his stack is better than Java/Scala/Go/C#(Mono) + MySQL/Postgresql + Linux/BSD. You don't have to use Ruby/Python/PHP/Perl/node.js to have an open stack. What happens in 3 years when his bizpark runs out? What happens if he is successful before then and is running many servers and DB instances.... What if he need to re-arch to support HA? Its almost like his argument is.. meh.. in the short term running a Microsoft stack wasn't overtly harmful, since its what I am used to I discarded other considerations...
- lifeisstillgood 13y agoIf you are defining your startup based on the operating system of the servers, you are really really looking the wrong way. As you name-checked Amy Hoy in the first paragraph, I assume you follow the 30x500 list, or at least know of it, which is pretty basic common sense - and all of it focused on users not servers. Now - stop flame-baiting HN and get out of the office ;-)
- cm-t 13y ago1st July fool ?
- joshuaellinger 13y agoBizSpark is a better deal than most people realize. You get permanent licenses and a decent amount of cloud hours. You get office. You get dev tools. When the program finished, if you are not making enough money to afford to pay them, then you should just shut down and do something else. But even if you keep going, you can probably live on old versions for 3-5 years before it gets too painful.
- eddieroger 13y agoThis was the most relevant bit, far as I can tell: >> Because I love C# Fair enough. If I liked C#, I'd live in a Microsoft world, too. I don't, though, and without this being a language war, the ones I like are easy enough to set up on Linux, and tend to be a heck of a lot more stable and easy to install, too.
- tinco 13y ago> Fair enough. If I liked C#, I'd live in a Microsoft world, too. That says more about you than about C#. I like C# too, I think it's the best imperative statically typed language out there. If you'd take the time to research it you'd find that it's easily the most advanced and developed language out there period. Still, I think the whole statically typed idea is not feasible for large applications. So I use Ruby for professional stuff, and C# for performance critical things (like videogames). Visual Studio lifts a lot of the pain of developing on Windows (which is still rather painful).
- bad_user 13y agoMeh, I have an instance hosted on Linode for $26 per month (price includes backup + 1 additional IP used for an extra SSL certificate). My Linode hosts about 3 static websites (2 blogs generated with Middleman [1], plus one Maven repository in which I publish stuff). It also hosts a Wiki and a CRM (both powered by Ruby / MySQL). So that's Ngix + Passenger + 5 MB of Memcached + MySQL + file storage. I also host several apps I've made on free Heroku dynos, which can get you quite far if you use Scala/the JVM in combination with all the freebies ;-) [1] http://middlemanapp.com/ http://middlemanapp.com/
- hudo 13y agoI have several dozen asp.net sites and one startup (asp.net + background services). And people ask me why I use MS products, they are expensive. But reality is: prices of win shared hosting are almost exact like linux shared hosting. Windows licence on Hetzner (or many other win VPS providers) is 15€/m. I don't mind paying 15€/m, I spend more on coffee and cola, and dont make any money from that. And for database, if sql express is not enough, I go with mysql/postgre, simple as that. I also played with ruby and php little bit, but don't find any special advantage or stuff that are hard/complicated/long to do in .net, even they're nice products (RoR at least). All those tools looks very similar to me, and hosting price on VPS/cloud is really low also today. Maybe one thing that's missing in .net compared to some other ecosystem is community, but last few years that changed a lot (to better of course).
- gtani 13y agoI have no beef with MS (disclaimer: I don't have any close friends who work there but I do live in Seattle area and talk to lot sof people in the C#/C++/F# spheres). The one problem here is the C++11 implementation and how it's been rolled out, or not in the VS 2012/2013 releases. If anybody's interested, /r/cpp has herb Sutter and a couple other MS people dialoging: http://www.reddit.com/r/cpp/comments/1harvz/microsoft_switches_to_annual_vs_releases_promises/ http://www.reddit.com/r/cpp/comments/1harvz/microsoft_switch... http://www.reddit.com/r/cpp/comments/1h47qi/herb_sutter_the_future_of_c_build_talk_on_friday/ http://www.reddit.com/r/cpp/comments/1h47qi/herb_sutter_the_...
- workhere-io 13y agoI totally understand the "I like C#" argument - that's a personal taste, and we all have personal tastes when it comes to languages. What I don't understand is the "we can run it on one server, so Microsoft is better". The same sites could very easily be run on open source software on the same hardware or even less. I've never heard anyone, not even Microsoft, claim that Microsoft server software requires less RAM and processing power than open source software.
- voidlogic 13y agoYeah, not to mention I am sure he could run C#Mono/MySQL/Linux on one server as well...
- ebbv 13y agoI don't see what the anecdote about the other person has to do with your story. It seems like you're citing it to try to imply that Linux can be expensive, but that's not really a valid point based on that anecdote. Their software costs were $0/mo of that $3000/mo. Linux has nothing to do with whatever reasons they had for such expensive server costs. There is no question that whatever their server costs, they would have been even higher if they had been Microsoft based. Secondly, I'd disagree with your assertion that the customer doesn't matter. Customers may not care when they're using your SaaS product, but my company is in the market for new support software and we looked at yours but because yours is Microsoft based, it's disqualified. We are looking for a self hosted solution. So you lost at least one customer right here. I'm not making this up, this all happened a couple weeks ago prior to this blog post. EDIT: PS - I liked your previous blog post about A/B testing, so it's nothing personal I just think this one is kinda bogus.
- codeulike 13y agoLinux has nothing to do with whatever reasons they had for such expensive server costs. It might do. The point is that Node/Ruby etc aren't particularly efficient compared to C# and the CLR, so you need more Server power for a given application. For example StackOverflow ran from a single windows server in the early days, they didn't add a second one till Oct 2008 http://blog.stackoverflow.com/2008/10/adde-a-second-server/ http://blog.stackoverflow.com/2008/10/adde-a-second-server/
- KaiserPro 13y agoA bad[1] workman is perfectly capable of being inefficient with any tool. [1]this isn't passing comment on any of the people referenced in the original post
- spamizbad 13y agoTechempower's benchmark's paint a different story than you describe. Node.js seems to be the fastest. ASP.NET MVC shows some strong performance in a handful of database tests but when it comes things like json serialization etc it falls behind the competition. http://www.techempower.com/benchmarks/#section=data-r5&f=ug-13ydj4-0 http://www.techempower.com/benchmarks/#section=data-r5&f=ug-... Edit: FWIW it doesn't test Microsoft SQL Server. Still, for most simple-ish web applications I can't imagine MSSQL server being significantly faster than Postgres or MySQL. Its selling point is really its feature set as opposed to its performance anyway.
- icefox 13y agoThe final paragraph seems to answers his question with the statement that it is simply "what he knows best". And in fact the rest of the article backs that up with his lack of information about alternatives (as many of the comments here point out). There is nothing wrong with going with a solution because it makes you more productive for your small problem, but trying to make any conclusions beyond that seems forced. I am 100% sure that there is someone who could write the exact same article, but instead they use a single Linux box with PostgreSQL, emacs, etc because it is simply what they are comfortable with.
- deleted 13y ago[deleted]
- warrenmiller 13y ago"Becoming a member of their "BizSpark" program literally provides you with all the software free of charge. Entering BizSpark is easy and costs nothing" Not true. After year 3 you start paying.
- whydo 13y agoWhy do some people just love locking themselves into closed platforms?
- etherael 13y ago2 SP3's from OVH would be both cheaper (89*2) and have way, way more bang for the buck than a single weak amazon instance. (E3 1245v2 8 ht cores @ 3.4ghz , 2 x 120GB SSD in soft raid and 32gb memory) If you wanted to run windows on those, you'd need to buy two licenses pushing an extra 50$ a month onto the price. You also wouldn't need to screw around with spawned instances in failover, and you could actually use the capacity of both systems at the same time to massively increase your initial capacity before it becomes necessary to expand that investment again and get more steel. None of your windows based software will scale well horizontally, especially at the storage layer compared to the competition, and if you're relying on bizspark for the price advantage, you should also mention it expires in 3 years and you then either have to go full in to microsoft licensing and massively increase your software spend, or drop your engineering investment in the past three years and go with something off the MS stack. It sure is a neat trap from microsoft's perspective, but it's a pretty shitty deal for anyone that actually looks at it economically and long term. On the other hand, if you build your apps around a horizontally scalable storage solution (of which there are about fifty hojillion these days on open source stacks) you have near infinite ability to scale upward by just throwing more boxes at the problem. Visual Studio may be very pretty but for a nice IDE you drop a well behaved git, and everything that goes with it. You also lock your software engineer options to people that are satisfied working on the MS stack, which whilst acknowledging that anecode is not data and all, in my experience means that you will get poor results. If you look around and all you see is masses upon masses of startups pursuing fairly similar infrastructure strategies, you should probably think very hard about why everyone else thinks you're wrong before you're certain you're not. From my perspective the equation looks like this; Pros; Visual studio. MS CLR performs well against python / ruby / php. In a single server environment, you can probably get away without any sysadmin expertise. Cons; Everyone has to use Windows. Storage layer doesn't scale well horizontally. Git not so great. (apparently this no longer applies and msysgit works perfectly well now) CLR may perform well compared to interpreted languages, but not so great if you're willing to go a bit more esoteric or if you're happy with boring old java. Application server scaling is largely the easiest part of any horizontal scaling stack at any rate, minimising the significance of your competition using even extremely slow interpreted languages. Licensing fees are infinitely more than the (typically free) competition. When BizSpark expires, even moreso. And you bought yourself a nice solid vendor lockin by using their sandpit in the meantime. You're stuck with microsoft monoculture and all the associated baggage that implies from a HR and strategy perspective. Most of the stuff everyone else is using that you might want access to works either not at all or poorly on windows, meaning when you run up against the same problems as your competition, they'll have more ground on you from the get-go. (ansible, redis, practically every NoSQL db in existence, etc etc etc, pick a problem space you need to find a solution in and compare the MS CLR based options to "everything else" and MS rarely comes out on top unless it's dealing with MS proprietary formats or interfaces in some way)
- _jmar777 13y agoJust a few points: 1) If traffic is low enough, you can fit 100+ different apps on 8GB of RAM, regardless of tech. 2) Hourly backups are better than nothing, but not good enough if you want to make claims of durability and/or high availability. 3) BizSpark is more or less a loophole (they don't always accept), and when they do, you have to hope you go out of business w/in 5 years or never make more than $1M in revenue, or you're out. 4) Snarky comments about what the "cool kids" are doing hardly (in)validates anything. 5) If you enjoy the Microsoft stack and it works for you, then awesome. We're developers and should enjoy what we work on day in and day out. 6) My current projects have me bouncing back and forth between Node.js and .NET on a daily basis. Aside from getting an order of magnitude more enjoyment from developing w/ node, I'll also add that our node servers (plural) have been running for ~2 years for a total cost that isn't even approaching the cost of my Visual Studio license. If that makes me a "cool kid", then I'll rock that sag all the way to the bank (if cool kids are still sagging, that is).
- midnitewarrior 13y agoHis point is, it's dirt cheap to do any solution, and all that matters to the customer is customer value, assuming you are on a platform that can deliver on the "ilitys" (maintainab-, reliab-, supportab-, etc.), which Microsoft can. The thing he doesn't point out is how much cheaper it would be if he dumped the VM and went with Windows Azure Cloud Services.
- gregd 13y agoI have to wonder, why not Azure?
- alekseyk 13y agoSeems like the author has a habit of making poor decisions. "All our stuff runs on one (1) server" Thanks, but no thanks.
- rottyguy 13y agoWhile the article speaks of server costs and such, lest us not forget (from wikipedia but, I believe, attributed to Larry Wall): "The design of Perl can be understood as a response to three broad trends in the computer industry: falling hardware costs, rising labor costs, and improvements in compiler technology. Many earlier computer languages, such as Fortran and C, aimed to make efficient use of expensive computer hardware. In contrast, Perl is designed to make efficient use of expensive computer-programmers." Thus having your people accomplishing things in a more efficient fashion trumps all :-)
- yatendra 13y agoFor my side projects I use Visual Studio express editions (free) and use postgres (local) for one and mongodb (hosted at mongolab) for another for storing data. I host both of them on 1 VPS with single core and 1 GB of RAM. So All I am paying extra is 2$ a month for a windows vps instead of a linux vps, and I think that 2$ extra that I am paying is well justified.
- KeyBoardG 13y agoAll that on one machine? I hope it doesnt go down and you lose your entire company. You should have several redundant instances. You also breezed over the license costs for VisualStudio, Windows Serer, and SQL Server.
- microcolonel 13y agoAnother opinionated, lame IDE addict thinks that his stupid little startup is an example for others, wow HN, didn't see that coming. “I found an expensive hosting package, and compared it to a less expensive one from another provider running Microsoft Windows” is a really compelling argument.
- dawkins 13y agoI switched from windows/.net/SqlServer to linux/mono/MySQL two years ago and in a single server I handle among many many other things 10k-20k reservations/day. The server is a small dedicated machine with 8 cores and 16GB ram but never goes beyond 30-40% cpu and 2GB ram. This in Hetzner for about 60€/month. So I don't understand what the author finds so amazing about the numbers he posted.
- antihero 13y agoOk, so I'm on about day 3 of trying to get a MS ASP.NET 4.5 environment set up, and I feel like killing myself. Every download is gigabytes and gigabytes. It feels like everything wants me to reboot my PC. Installations take hours at a time. On opening the project, half the references are gone, and I have to rebuild (takes ages) the solution to figure out what exactly is missing. Using NuGet doesn't seem to actually install many of the things and so I have to manually do it and wonder why some need me to put -pre on the end. SQL Server is a ~4GB download. Everything is hidden away in weird little dialogs and installation steps that if you mess up you have no idea how to fix. Windows is now taking up about 50GB and it's rising. Install steps appear to do nothing and then spring a window up after about five minutes. I don't know what is going on. My co-worker and I just want to sob and have this nightmare finish. I never want to use Windows ever again. I need a fucking drink. I miss being able to `apt-get install python-virtualenv postgresql-9.1 virtualenvwrapper; mkvirtualenv derp; pip -r requirements.txt` and be pretty much set up. On the plus side I've read quite a lot of this book...