7 ms·
The main problem with .NET is the higher price due to the Microsoft tax. That said, it has advantages over the free stacks.
by RachelF 13y ago
The main problem with .NET is the higher price due to the Microsoft tax. That said, it has advantages over the free stacks.
- wslh 13y agoWhat prices are you calculating? You can install and use Microsoft .NET without Visual Studio for free, so the Windows OS is the only price in the server in that case if you use a free database, etc.
- recursive 13y agoYou can even use VS for free, as long as it's the Express version, which is capable enough for a lot of use cases.
- jinushaun 13y agoAt 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 13y agoRDP 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 13y agoYes. 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 13y agoCan you share anything about that one click (nothing to do with one-click™ I'm sure) deployment?
- smhinsey 13y agoWe 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.
- sitharus 13y agoYou can get quite a bit done on Mono these days. My main job is at a MS/.NET shop, so for my personal projects I'm mostly using MVC 3 and PostgreSQL deploying to Mono. Probably not good for large installations who want vendor support, but it works.
- nreece 13y agoWhile Mono is largely compatible with .NET, I'm still not convinced about its performance and scalability compared to .NET. I haven't come across any case-study or even an example of a high-traffic public Web app using Mono.
- sitharus 13y agoI'd be cautious about deploying a high traffic app to Mono as well. This is more for experiments and personal apps.