As a follow-up to my initial Azure post, I wanted to show that if you have an ASP.NET app that also has attachments (for example – PDFs archived against a PO work order tracking system), it really doesn’t affect monthly pricing that much. For example, lets suppose we add attachments into our previous calculation.

If we allow for attachments of 500kb, and each user either attaches (or downloads & reads) 5 attachments per hour, the total gigs transferred per month grows by about 50%.

In addition, you also have to “store” those attachments in Azure. If we assume storing about 50 new attachments per day, that comes out to about 6gigs of space per year (or 12 gigs over 2 years).

But when we look at Azure pricing for the additional bandwidth and storage space, we see that it really only adds another $10/month. Not a significant cost by any means.

For Force.com, its also not an issue. Their $50/user/month charge includes 612mb/user (or a little over 6gigs for our 10-user example). So, essentially, the storage of attachments are “included” within the Force.com price (Force.com gives you a minimum of 11gigs storage space, so that should essentially cover our example 2-year analysis).

Microsoft has had their Azure online PAAS offering available for a while now. And while it does promise some awesome capability (mainly, zero-hardware scaling), some of our customer’s can’t help but get confused every time they try to determine “how much” their app will cost per month before they go-live. Many believe it will be too expensive.

The compute and storage pieces are easy enough to calculate. But it is the bandwidth that scares them. Often “older” applications were not necessarily built to be lean. Taking advantage of newer frameworks like ASP.NET MVC can help, but that often requires a complete re-write of the application – usually not a cheap option.

Most of our traditional ASP.NET workflow-based web apps come in at about 100kb per page (including images). If 10 users hammer at it most of the day, their monthly bandwidth would come to about 10gigs. You can scale this out by adding another 1gig per user per month. Here is my spreadsheet calculation:

So, for a 10-user app, you are probably in the ballpark of $280/month (Medium instance, 6gigs database, 10gigs per month bandwidth). That comes to $28/user/month. Not bad really, when you consider the fact that with Azure you do not need to pay for a hardware/technician to patch and maintain your infrastructure (Microsoft does it for you automatically), nor do you have to pay for the server hardware itself, any Windows Server licenses, or the SQL Server licensing.

What other options are there? You can also go for Force.com – which allows you to build your own Salesforce.com-type applications. But there, you will have to essentially rebuild your app from scratch, as there aren’t any “converters” available to port code from ASP.NET over to APEX (the Force.com language). Also, there comparable sever is $50/user/month – a bit pricier, but perhaps the better option if you are going to rebuild your app. Force.com is fairly easy enough for anyone to develop a basic workflow app. With ASP.NET, you are probably looking at hiring someone since it is a traditional programming model.

Is there value in Azure? I’m telling my customer’s yes – if they have existing ASP.NET applications, and no longer want the complexity of having to maintain servers internally within their organization. Azure offers a great “first step into the cloud”.

What if your ASP.NET app has an extensive amount of attachments? Not much different really. Your monthly pricing will go up, but the major cost with Azure is in the instance and the SQL database – not the file storage or the additional bandwidth. But to clarify, I will re-do my calculation to detail that in a follow-up post.