views:

120

answers:

5

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.

+1  A: 

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.

msarchet
Where is your site hosted then?
blu
@blu company servers. You don't have to host your site on Azure to use Sql Azure
msarchet
Understood, but I am interested in knowing how well that works for you. Do you notice any latency, what are your lessons learned from going this route?
blu
@blu, sorry misunderstood what you were asking. It works pretty well, obviously not as fast as a local server would be. We are using it as a lookup database for our software we write, and it has a admin MVC 2 portal for doing updates and reports. I haven't really noticed anything different than a traditional SQL Server.
msarchet
+2  A: 

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.

Chance
@Chance care to elaborate on 'db4o' isn't free. The OP is building a site, so its not a packaged product that is going to be distributed. As far as I know he can use the free GPL license, am I totally off on this?
eglasius
@eglasius when I spoke with them, they essentially told me that I'd have to have a license per cpu on each server it was deployed too. It was a rather confusing conversation because it appears that they primarily deal with developers deploying packaged apps.
Chance
A: 

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.

awrigley
$99 is a lot a month. But, your bottom line when combining multiple clients onto the one account looks like it worked out for you in the end. Also SQL Express is free, did you mean a different version?
blu
Not so expensive: it is a server, not just an account. So you can host as many websites as you want. It works for us... and our clients.
awrigley
I think the SQL Express point is valid in that will suffice in the beginning. It being "thrown in" I don't follow, its free from MS. The concern is as soon as you have to scale out it becomes exceptionally expensive.
blu
In regards to the host, it is $99 for 1GB RAM, which puts it at the higher end of the spectrum of the prices I have seen (about $500 per year more than other solutions). The other cloud servers I have looked at give you RDC access to a server with IIS. At that point you can do whatever you want in terms of how many sites are hosted (depending on how DNS and IPs are configured).
blu
You get two GB of RAM. And unless you go for managed hosting (ie, they do what you tell them to) you get RDC. I go with them because I trust them with my clients emails and because their tech support is great, their back up is great. What price peace of mind?
awrigley
Not to ride this one into the ground as it doesn't affect me, but their site says, "Cloud Server "A" 1vCPU / 1GB / 40GB $99.99" http://www.orcsweb.com/hosting/windows-cloud-servers/
blu
Sorry, I didn't say that they are offering two GB for the price of one. Have just checked and it is only for November. And yes, SQL Express is free, to say "thrown in" was just a figure of speech.
awrigley
+1  A: 
  • 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: http://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.

eglasius
A: 

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.

Wyatt Barnett
Do you have experience with either in production deployments to cloud servers?
blu