Why is Microsoft stack said to be costly? [closed] - asp.net-mvc

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Many people suggest to develop web applications in open source technologies.
And one of the reason is the cost involved in hosting and the licensing of software.
How costly can it be to build and deploy an application in asp.net mvc compared to any other open source technology?

I don't think they're talking about the time required to develop on the Microsoft stack. They're talking about the cost of:
tools (Visual Studio, Resharper);
operating systems (Windows Vista, Windows Server); and
databases (SQL Server 2005/2008).
And yes you could use Mono + Linux but that's a feature-incomplete implementation (at this point) and presents greater risk than the Microsoft-certified solution. Plus MonoDevelop isn't as good as Visual Studio. I think Mono is still fairly limited as a production option.
Microsoft has a program for startups (called BizSpark) that can effectively eliminate those costs for startups (less than $1m annual revenue iirc) but get beyond that and it can get real expensive. Based on some of Jeff's comments I have to wonder if Stackoverflow is deliberately staying below this level (by only accepting a certain amount of ad placements) to avoid this. Note: he hasn't said that. That's just a question that occurred to me.
But compare that to say a PHP or Java development stack:
Dev machine: Windows, Linux (free), Mac or whatever;
MySQL (Free) running on Linux;
Apache or nginx (both free);
etc.
That being said, the concept of using really cheap boxes, while popular, isn't universally better. You'll use a lot more power that way (compared to higher spec servers). And higher spec severs will tend to work out cheaper in commercial licensing costs than buying software for lots of cheap boxes. So you have to be careful in comparing commercial vs non-commercial solutions.
Take a look at Scaling Up vs. Scaling Out: Hidden Costs.
I don't want to get into the issue of the cost of development because there are too many factors to make any unqualified statements. Like any other stack, there are probably things it's good at and things it could be better at.

All the discussions here about cost assume that you're going to buy your own server (which is pretty much crazy for 99% of the world). Third-party hosting services are generally pretty cheap, and it doesn't matter whether you go for Microsoft or Linux or whatever. Let the hosting service deal with all that crap, and go with the stack that is easiest for you to use.

Unless you qualify for BizSpark or maybe the Empower program, you will need to buy licenses for Windows Server, SQL Server, Visual Studio, Windows 7 (or Vista, XP). For a startup that can be cost prohibitive.

That depends entirely on which Microsoft products you license for your project. For example, SQL Server 2008 Enterprise alone costs $24,000. If you can get by with the Express addition, however, it is free.
http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx
Then you need the OS (again several choices) and development tools (yet again more options at different prices).
Summary: If you are building a small app it is not very expensive. There are free versions of most parts of the stack except the OS. And if you are using a hosted solution, the OS cost is even hidden. If you are going large and doing it all yourself, it can be extremely expensive.

On a totally different side of the spectrum, check out the prices at GoDaddy.com for shared hosting (and there are probably other hosts as well). On the 7-buck-a-month plan you get ASP.NET v1.0/2.0/3.0/3.5 and two MS SQL databases. Serious devs will say, "who would use shared hosting?" but seriously, put some hosting up there and hit it hard. You will see that the response times are nice, app deployment is easy (but you do not get full control, so you have to use medium-trust security and other stuff), and you get 1,500 GB of monthly transfer and 150 GB of disk space.
So that's the full MS stack for $7 a month. Of course, everything is shared (even the MSSql instances), but for MANY apps it is a perfect solution. Shared hosting is a joke in certain cases, but colocated servers and all that stuff is a joke for many startups that have no particularly interesting technology needs.

For basic web apps they're strictly talking about Windows itself. Linux is free, so hosting is cheaper for Linux-based hosting than for Windows-based hosting. However, the entire Microsoft stack beyond the initial Windows license is completely free, so long as you stick with the "Express" flavors of all parts. SQL Server 2008 Express is more akin to a straight mySQL deployment than SQL Server 2008 Standard Edition is.
Download: MS Web Platform (free tools)
For enterprise applications, they're talking about the enterprise-class toolsets. SQL Server 2008 Standard or Enterprise edition costs thousands of dollars. Visual Studio 2008 Pro costs hundreds. However, if you're comparing to Linux, you really don't need any of that; anyone who needs that stuff is already working with the Microsoft stack at a heavy level anyway. The Express stack will get most people very far.

I don't know Microsoft's specific licensing policies (I can assume they are pretty reasonable), but I can tell you that developer tools are often more pricey than you'd imagine when you start licensing for your company.
Often when you start buying developer licenses for teams of, say, 20-50 you are starting to talk about millions of dollars up front costs. $100,000 per developer wouldn't be unheard of (not counting the often mandatory annual support fees which can double that number easily).
I wouldn't think this would happen with Microsoft because Microsoft developers are such a wide market, but I wouldn't be surprised if specific MS developer licenses for all your assorted tools--database, MSDN subscription, enterprise servers (which will probably be required by the database or something), ... got to be rather pricey once you started multiplying them by 20 - 50 seats.

If you want to use ASP.NET you need
IIS
A server with Windows (for IIS)
Visual Studio
A work station with Windows for Visual Studio
If you want to use PHP, Perl, Mono, Ruby... you need
A web server that supports the technology wanted. May be Apache, IIS...
An OS that supports your weberver
A workstation with any Linux, Window or mac
So if you chose to use an Open technology, you have the choice to work with what you want.
If you want to use .NET you have to work with Windows.

Related

How and What to convince my agency give up on Visual SourceSafe

As stated in the title, my agency (also whole software department of my company) still use Visual SourceSafe 2005 as Version Control System.
My company is a hardware manufacturer for over 5 decades, and software development have started for nearly 2 decades. Just only my agency there are 30 developers, and the head office have even more devs. My agency VSS database is around 133 GB and the head office is more than 200 GB.
I've also skimmed through Google:
How do I convince my team to drop sourcesafe and move to SVN?
How to convince a company to switch their Source Control
Visual SourceSafe: Microsoft's Source Destruction System
Source Control: Anything But SourceSafe
etc.
I also know that extended support of VSS will end at July 11 2017. I also verified many things listed in the articles (lack of atomic checkins, poor branching/merging, binary files trouble, slow history, etc.). For example, I just status search through whole agency database (I can't check HQ since permissions):
55 "File names.dat maybe corrupt. Ask your SourceSafe administrator to run Analyse utility on this database."
5 "Error reading files."
1 "VSS/data/terqeaaa.b not found."
Is the situation of database bad? If it's right, then, how can I convince them to switch to other VCS? I need some reliable recently information and some evidence. The guide how to show/proof them is better.
I asked the admin to run Analyze but he ignored my words since I just started to work for a few months. People can see VSS basic weakness. They also complain "who check out this file?" and resolve conflicts by barehands. They have to use WinMerge to diff and compare, Get latest version instead of branching and checking out, never comment orsee history log, create entire new folder for new code, etc. However, they do not give up on SourceSafe. (They are using Visual Studio 2012 to develop and didn't notice Team Foundation Server).
I think you already summed up many of the reasons:
VSS is already in extended support and is only kept secure, but barely functioning. It's on life support in the palliative care ward. Extended support, in the real world means unsupported. Unless you have a very strong credit limit, Microsoft will not help you if it turns out you need the support.
VSS officially supports only the following operating systems, none of which are currently supported anymore:
Windows XP, Windows 2000, Windows NT 4.0 with SP6 or later, Windows Server 2003.
It hasn't has any improvements, fixes since 2008.
The Visual Studio and TFS documentation have been advocating the migration to TFS since 2008. There has been a full migration tool since 2012.
It has known issues with stability, internal consistency and corruption. A conscience administrator will need to spend regular time to ensure internal stability and consistency.
It doesn't support modern development workflows (transactional commits, distributed version control, modern branch/merge, cherry picking, optimistic locking etc).
It has a very limited security capacity, users with access to the share can simply grab the whole file share and force access.
It's not useful for remote access. Or at least requires VPN and a stable, very fast network connection. Even then it'll likely increase the chance for corruption.
The user experience in Visual Studio and other tools that directly support TFVC or Git is much, much better.
Cross platform support is non-existent. In the current market this is becoming more and more important.
The standard backup (archive) tool built-into the product has a limit of 2GB repositories.
Microsoft recommends at least weekly analysis of the sourcesafe database and recommends the logs and backups of the repo to be kept so corruptions can be manually be put back together by copying files from the backup back to the active share.
There is a supported migration path from VSS to TFS.
A migration to TFS brings more, ability for Continuous Integration, Release Management, Work Management (Agile tooling, backlogs), Test Management on top of a much more stable, performant and secure backend that makes use of the qualities of SQL Server for robustness, integrity and security.

What is the correct architecture when upgrading multiple small vb6 applications to a centralized MVC app

Challenge:
We currently have 100+ vb6 applications. Our setup is that for every desktop server that we have (currently 20), those apps should be installed. So all in all, you can do the math. Users would then approach that server, or connect through RDC, and they will generate their reports there. Problems have already popped up, but the main reason the management now chose to upgrade is because we do not have VB6 dev't licenses anymore.
What we are currently using:
Visual Studio 2010 SP1 Professional
Microsoft Server 2008 R2 (For the deployment)
Oracle 11g (where the data are coming from)
The Question:
Given the cards we were dealt, I would like to seek a proper strategy in consolidating these decentralized reports. Right now, I'm suggesting we do MVC. However, I am not certain how it should be done in such a way that multiple developers can contribute in the development simultaneously. How/what will be the layers (DAL/BLL)?
We are new to this coming from a VB6 background. Thanks!
Well, not to rain on your parade, but questions like this always boil down to ROI (return on investment), and based on what you've said, your ROI is incredibly small. MVC is a good bet, since it's based on a pattern that all good applications should follow to a greater or lesser extent, but if you're stuck with VS2010, you won't be able to work with the latest and greatest versions of MVC/Web API/Entity Framework/etc. That means your brand spanking new app will already be out of date and rotting before you even kick it out the door.
If your organization is unwilling or unable to upgrade to at least VS2012 (but as long as you're doing that you might as well go all the way to 2013), so that you can utilize MVC5, Web API 2, and Entity Framework 6, then forego any new development and just do the bare minimum to make your current applications work. From a cost perspective it's just insane to go into new development on old, out-dated technology.

About client/server Peachtree Accountant software

We plan to setup client and server for peachtree accounting system.
currently, we have software Sage Peachtree Quantum 2010 Accountant, so could we use this
software for making client and server?
Do you have any ideas regarding this issue?
If the Quantum still uses the pervasive database, it uses the server side database to lock the files, and is very active. Depending upon your latency of connection it may or may not work out. We used Peachtree Compete 2004 and were successful in connecting by VPN, with a mapped drive to the datapath, nut it was very slow, albeit the connections were very slow back then. So this is a no answer answer, just an encouragement to setup a VPN and give it a try. Our last current version is Peachtree apremium, and it will not run this way, nor will it run under terminal services, which is an alternate solution. However, I am told that the latest versions will run under terminal services, as we are considering upgrading to such. Sage's tech support is junk, so do not look directly to them for much help, however there are a lot of good VAR support companies that vary in competence and may be good for some assistance. Good luck.

What databases are people using in Cloud environments with ASP.NET / ASP.NET MVC? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I am looking at hosting a new site on a cloud service. It looks like cool technology, pricing is attractive, and I can scale in case my plans for global internet domination come to fruition.
I have spent a good chunk of time figuring out what back-end to use thought. The site is in ASP.NET MVC, and I have hit a brick wall when it comes to SQL Server. I am not keen on paying the licensing for a small site just starting up. It's great for the day job but I am looking past it for this new site.
SQL Azure looks like it's price is perfect, however the price of their computing scared me off, and Development Accelerator Core is too much risk with its contract stipulations.
I have been checking out all sorts of alternative approaches:
Open Source Databases (MYSQL, Postgres) with Entity Framework
Nosql (MongoDB, CouchDB, SimpleDB, DB40, Cassandra)
Dedicated SQL Server
SQL Server Web Edition
Calling SQL Azure from another cloud
Right now my plan is to host the web server (IIS) and the database server on the same instance (1GB RAM Windows 2008 R2) and then scaling out as needed.
At this point I welcome what others have figured out, what has worked, what hasn't worked. I appreciate any experiences you want to share.
db4o isn't free and their licensing is chaotic, or at least was when I spoke with them last. As a result, I'd stay away.
Don't forget about RavenDB by Ayende & crew. The licensing is about $700 but they say that they will consider waiving the first license fee for startups. I've been dabbling around with it and I've got to say, it's quite impressive NoSQL solution. It's similar to CouchDB but very .net oriented with some one ups on Couch (imo).
Finally, if you join BizSpark by Microsoft, they will give you some free airtime on Azure. Pretty sure some sql love is included with it.
Cheers and good luck mate.
Sql Azure here. You don't need the computing time to use the database, it only exists if you're running an application on Azure.
MySql with EF: so far only real issue I've faced was a bug with a very long running query in the MySql connector / a trip to the issue tracker revealed a workaround that one could use by modifying + compiling the source of the connector ... just until the fix went into the next patch.
db4o: this is in a recent project / already in place when I joined. 2 issues so far:
It doesn't have much support to efficiently aggregate data. As I understand this is usual in NoSql / you just use a different design for it (at least that's what we have done and have worked).
You need to understand well the various modes involved for the database and the operations. Trying to jump too far ahead easily gets you into performance issues at even small loads. It's more a learning curve issue, using the right bits performs very well.
I have to admit that Chance answer worried me for a moment. When I joined the project with db4o it was already in place, so I didn't look at license considerations at the time. This said, I've always understood that you can use GPL code on web sites. Similar to this answer: https://stackoverflow.com/questions/94346/can-i-legally-incorporate-gpl-lgpl-open-sourced-software-in-a-proprietary-clo/94468#94468, if you don't distribute you can use it. Based on the last comment posted by Chance, I'd say it's likely there was some sort of communication issue there.
orcsweb.com offer cloud servers for US$99 per month. Pretty good deal considering that I was paying US$300 to them for a virtual server.
The thing that sets orcsweb.com apart is their technical service. For US$124 per month, they provide a fully managed service on the server.
So for US$223 per month, I get it all and don't have to worry about the server for all my clients.
Database is thrown in for free: sql express 2005 or 2008. This sounds enough for your initial requirements. We run full blown eCommerce catalogues on this and it is fine. If the website grows, well then you that is good news and you can afford to pay for a sql server licence.
If this sounds like a plug for orcsweb, it is, but I don't get anything out of it... We have had great service from them. My job is to write apps, not run a server. We have about 30 clients and we host them all on our one account with orcsweb. That works out a US$7 per client. Can't be bad.
EDIT:
Important!!:
Please note that the above prices are for a Web Server. It host any number of websites and has a SQL Express installation thrown in.
I may have misunderstood the question, but the answer is still valid because the SQL Express will run your app in its early stages.
Not sure how much data you are dealing with, but are the SQL Express skus an option? They can handle just about anything a web app should be doing with the data while being at the right price point and an easy upgrade path.
Failing that, I'd go with the nosql option as that seems to make quite a bit more sense these days and its designed with the cloud in mind.

Can I really develop on ASP.NET MVC for free? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I'm currently developing a web app on Django/Python, and I consider moving to ASP.NET MVC. I downloaded the Visual Web Developer Express edition, read NerdDinner, and I'm ready to go. I will probably keep working on MySQL.
One of the reasons I chose Django+MySQL in the first place was that it was free of charge. I'm bootstrapping a business and can't afford to pay for expensive software, even for deployment (storage and bandwidth are the exception).
My question is: can I develop on the express edition and get my product to production without having to pay to Microsoft? This is both a legal question and a practicality question (Assume I'll use open source version control, build server, etc).
I'm not experienced in Microsoft's different licenses, I wondered if anyone has any experience in driving a product to the web based solely on the express editions (I know you guys are not lawyers, but some of you are probably working at companies paying lawyers to help with such decisions...)
You've asked two questions here, so let's take a look at both.
From a legal standpoint the answer is pretty straightforward: yes, Visual Web Developer Express is provided free of charge and there is no limitation regarding using it commercially.
Your second question has to do with the practicality of using Express editions commercially. The short answer is: yes. The longer version of the answer sounds a little more like "yes, but...".
Although Visual Studio Express editions are fantastic -- especially when you consider their price -- you should be aware that they do lack functionality. To me, the most important things Express editions lack are --
Extension support. There's a healthy Visual Studio add-in ecosystem out there that you'll be locked out of. Not a fatal flaw, for sure. Just something to keep in mind.
Ability to create setup projects. Again, not fatal. You can do it manually or using some external solution. Also, if you are developing something for use on one customer (or for yourself) this is a complete non-issue.
Native 64-bit support. This is the one I can't work around. If you need to work on 64-bit environments and use some 64-bits controls, you're in a pickle.
Support for test projects. If you are into test-driven development, this is a very cool feature you'll miss on the Express editions.
Also, they have no class designer, some (small) limitations on debugging and most development tools you'll find that work with Visual Studio won't work with the Express editions.
All in all, you can definitely develop with VS Express. Compared to the tools you probably had for Django+Python, Visual Studio Express is a big leap forward anyway IMHO.
Also, you can always go with the Express edition for now and upgrade later if necessary.
Point 7 in the "Express" FAQ probably answers it best:
Can I use Express Editions for commercial use?
Yes, there are no licensing restrictions for applications built using Visual Studio Express Editions.
Other then that, reading the EULA should confirm that there is no "products built with this software is for private use only" clauses.
Not only can you develop ASP.NET MVC for free, you can do it on Linux using Mono, as Miguel points out and Michael explains... so in addition to no license fees for the runtime or IDE, you can host on free operating systems too!
You can also use MonoDevelop on Mac OS-X and although I'm pretty sure Windows users will prefer Visual Web Developer Express, they are getting MonoDevelop running on Windows, too.
When you've made your first million dollars, then you can 'upgrade' to Visual Studio 2010 :)
Yes, the Express editions are really free.
yes, you can develop on the free versions of microsoft software. you will have to pay for the os license of the development and hosting servers though.
for a business you may want to investigate the bizspark program which can give you up to three years of everything, including hosting.
It is absolutely possible to develop and deploy ASP.NET and ASP.NET MVC applications without having to pay to Microsoft. I see no any limitations/differences (both legal and practical) in deployment of ASP.NET applications, developed in express/full versions of VS. Personally I would recommend to buy VS2008 Pro (or maybe wait for VS2010) - it's much more powerful then VWD Express. Yes, It is expensive but I think it is worth its money.
UPDATED:
Reliable Dedicated/VPS hosting is expensive for both Linux/Windows platforms. So if your site will grow quickly - yor main costs will be hosting not tools
in development yes it is free visual studio express is really free but when it comes to deployment you will really need Windows server 2003 or 2008 you might also need another edition of SQL server if express doesn't meet the requirement :)
There is no need to settle for the Express editions or open source. If you are a legitimate startup, you can join Microsoft's relatively new BizSpark program and get a free MSDN subscription, which includes full editions of all the software for development purposes (e.g. Windows Server, SQL Server, etc).
Plus for web apps you get licenses to deploy the software in production, which I think makes BizSpark unique versus other MS partner programs. It doesn't include free hosting however.
Check out the site for eligibility requirements and restrictions.
(sorry Matt I know you mentioned Bizspark, but I wanted to provide more info and emphasize how relevant this is for the question).

Resources