* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!

Links:

» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)

Moderators:

Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

ASP.net or PHP for SAAS? What do you use?

Hi Guys,

I'm curious if anyone here is building their saas apps with asp.net.

I know php is free, but I'm a .net guy.
Was thinking of learning php, but the overhead of the learning curve is quiet high as far as time is concerned.  So I'm thinking of sticking to asp.net.  But the webapp I'm building relies heavily on database interaction of back and forth messages, like a chat app.  but its not  chat app.  Database on an asp.net type site/server is quiet costly.  Or am I wrong?

Please share your thoughts an experience.
NewGuyOnTheBlock Send private email
Monday, January 27, 2014
 
 
I write in Go and deploy on Linux servers, where databases are free (although your time isn't).

But you should stick with the technology you know, especially if the alternative is PHP.

I don't understand your point about database price - both asp.net and PHP have drivers for any database imaginable. How much that database will cost is independent of what programming language talks to it.

If you're concerned about price, on Unix you can use great, free databases (MySQL and PostgreSQL for traditional SQL databases and a thousand various no-sql databases) and you can run asp.net with mono.

Then again if you're concerned about learning curve of PHP, going Windows => Unix will be much, much worse. Then again, if college freshman can learn it, so can you.
Krzysztof Kowalczyk Send private email
Tuesday, January 28, 2014
 
 
Hi,

I'm using PHP + CakePHP and PostgreSQL to write my new SaaS.

At the beginning I was thinking about using ASP.NET, because it seems very fast for the application I'm writting, a kind of line-of-business web application (but not an invoicing system!), but at the end I choose to stay with PHP for a very simple reason: I already know PHP and Linux administration, and my Windows Server and ASP.NET knowledge is very basic.

So, my advice for you is to stay with ASP.NET. You already know the technology, so you can start inmediatly to work in your project, not in learning a new technology.

Regards,

Marc
mcs Send private email
Tuesday, January 28, 2014
 
 
I'm using ASP.NET for my SaaS, as I've been using it since it launched, so it is very easy for me.

To be fair, I don't use a lot of it, like the complex forms, postbacks, etc, etc. Rather, I have my own handler classes which get called to handle requests. So, it is closer to a "bare-metal" .NET, but I still have all the expressive power of the framework at my disposal.

As for database "costs", you should not worry until you have an actual issue. Measure, modify and repeat.

My approach doesn't suit everyone, but it works well for me and is based on 30 years experience (I guess that makes me a Hacker, in the PG sense of the word).
Scorpio Send private email
Tuesday, January 28, 2014
 
 
ASP.net MVC it's very powerful and flexible nowadays. I'm using it for all my projects and very, very happy. But remember that your app will shine more with the front-end side of things (HTML+CSS+Javascript)

I use MS SQL Express (free), but that's because I've used it for a long time and I am pretty confident using it. I've heard great thinks about PostgreSQL (Open source and also available for Windows)

Finally, remember the cloud. Azure it's becoming better and cheaper every month, and you don't have to worry about the infrastructure. (I'm not into it just yet, but will be in the future)
edddy Send private email
Tuesday, January 28, 2014
 
 
I go through this routine periodically. I'm a .NET / SQL Server guy, but always go back to weighing the (slightly) higher cost of Windows hosting vs. Linux.  I always go back to the decision that the lost productivity will be far worse than the higher cost of hosting*. 

As you say, the SQL Server licensing is usually where the cost starts to sting.  But, SQL Server Express is free and often plenty powerful for a lot of SaaS applications.  If SQL Express is not enough for your needs, you can run just about any OS database on Windows that you want.  If I ever decide to go to a new OSS RDBMS technology, it will most likely be PostgreSQL.

Like other posters have said, if you *have* to shave on hosting costs, there is always Mono.NET on Linux.  When I have researched this, I always got the suspicion it would claim a lot of unexpected time, too.  I have never tested that theory, though.  It's just a gut feeling.

*The caveat is, if you are just wanting to learn new technology on a completely OSS stack, then you could consider this an investment.  Although today, if I were investing in other languages, I would give a harder look at Python or maybe Ruby.  I've done enough PHP to know it is not for me.
maelstrom1335 Send private email
Tuesday, January 28, 2014
 
 
I'm not familiar with the Microsoft stack (and my reward for learning it would be more money spent on licensing, so I have little motivation to do so).

On my current project, my back-end consists of a collection of REST services written in Scala (with Scalatra), with PostgreSQL for my database.  Since my back-end is just a REST API, I figure I have a lot of flexibility when it comes to front-end clients.  So far, I'm working on a rich web app written in Coffeescript and Backbone.js.. but I may add a mobile client as a value-add for the main SaaS service.  In the past I've used RoR, but I'm starting to dislike big frameworks like Rails (the Ruby language itself is fun to use though, and I might consider using Ruby + Sinatra sometime). 

I'll be launching this thing in a couple of months, so hopefully I'll actually have the scalability issues that are easier to address with Scala than PHP, Python, Ruby, etc..

As for PHP, I really only use that for simple stuff (contact forms, etc.).  Writing a complete SaaS with PHP, while possible, does not sound like fun to me.
James A. Send private email
Tuesday, January 28, 2014
 
 
For anyone concerned about licensing costs for the Microsoft stack, you should check out the BizSpark programme, which allows you to have everything for free, even for production use. I can't recommend it enough.

http://www.microsoft.com/bizspark/

There are some restrictions, but mostly they don't apply to startups and similar.
Scorpio Send private email
Tuesday, January 28, 2014
 
 
I'm not a fan of .net . . . so it's hard to recommend that.

If it's what you know . . . that might be the best approach.

If you're building your first SaaS app I would recommend building it with what you know. If you build it up from scratch you'll know all the workings of a SaaS app.

Then if you decide to move to a framework like Ruby on Rails it will make a lot more sense what's going on behind the scenes.

I develop SaaS apps in PHP and Rails. The first time I started learning rails I wasn't ready and it was tough to know why you do the things you do in rails.

After developing several SaaS apps in PHP and then giving Rails another go it made a lot more sense and I could see the reasons rails shines.

So maybe build this one on .net and think about learning rails in the future.

In the end it doesn't matter what it's built with as long as it's fast, has a good UI/UX and provides value to your subscribers.

To get a head start on UI/UX I would recommend using bootstrap. You're going to want to customize it but it's a great starting point.

I recommend:

Stripe is great for SaaS payments.

Mail Chimp Mandrill for  transactional  emails for your app.

Mail Chimp for building your email list.

Good luck with your SaaS app.
Scott U Send private email
Tuesday, January 28, 2014
 
 
Scott U: "I'm not a fan of .net . . . so it's hard to recommend that."

Just curious, why no love for .NET?

I really like it and have done since day one. I find it really expressive and productive. No doubt other people have different experiences and recommend other platforms, but .Net works great for me.
Scorpio Send private email
Thursday, January 30, 2014
 
 
Why no .net love?

It's probably just what you are used to . . .

I did create some small windows apps with .net and it worked well. (When you're building apps for windows you don't have a lot of choice though).

When learning web development I started with HTML/CSS then added in some javascript . . . then PHP . . . then MySQL. So when I wanted to build my first web app PHP/MySQL was a natural choice. I didn't even think about going back to .net.

Here are a few personal preference items . . .

I'm a fan of open source

I'm not a fan of windows hosting

Appear to be more resources on the web for learning PHP/Rails than .net

I'm a fan of startups, most are using PHP or Rails.

I prefer the Rails employment opportunities vs .net. (Types of companies)

Seems like more cutting edge technologies happen in open source vs .net.

Those are just a few off the top of my head . . .

Again . . . as long as you execute on your idea/app and it has a good UI/UX and provides value it doesn't matter if it's .net, PHP or Rails.

And if you're charging money . . . then scaling won't be an issue as you'll have money to handle it.
Scott U Send private email
Thursday, January 30, 2014
 
 
anyone recommend an asp.net site based on azure for scalability?
Any big sites that use azure as a platform?
NewGuyOnTheBlock Send private email
Thursday, January 30, 2014
 
 
ASP.NET is better for me. PHP is very easy for simple tasks. On ASP.NET, you can write complex task. In PHP you need to use a third-party DLL for this. Also have mono - ASP.NET version for Linux.
Alex Vasilevsky Send private email
Friday, January 31, 2014
 
 
@Scott U
Thanks for taking the time to respond. I kind of fell into .Net because I loved C#. I started with machine code in the early 80's, then assembler, then C/C++ and MFC, then VB for a while, then when .Net came out, I jumped on it because I never liked the VB syntax and C# was close enough to the C/C++ that I liked. Most of my clients were big firms, so the MS stack was de facto standard, although I started off using Oracle on Unix a lot, but that seemed to tail off 90's as clients realised that SQL Server was getting a lot more competitive.

Now, I'm so used to C#, .Net, SQL Server, etc that it would be inconvenient to use another stack, although I have used Rails, etc a bit.

One day, I might switch, but right now I'm happy.
Scorpio Send private email
Friday, January 31, 2014
 
 
Stay with what you know. If you're building a SAAS you should only be spending 10% of your time coding, so you don't want to be limited by your lack of knowledge with other tools.

It doesn't make much difference what you use, so long as you're comfortable with it. You can run ASP.NET on Azure or even AWS (Elastic Beanstalk) against whatever database you feel comfortable using.

There may be a cost differential, but if that means the difference between success and failure, you have bigger problems elsewhere.
Dominic Messenger Send private email
Sunday, February 09, 2014
 
 
@Dominic Messenger,

> If you're building a SAAS you should only be spending 10% of your time coding

What are you supposed to be doing with the other 90% of your time?
Racky Send private email
Wednesday, February 12, 2014
 
 
@Racky

Selling, marketing, doing support, etc
mcs Send private email
Wednesday, February 12, 2014
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz