Make it less expensive to run my very small service on Windows Azure.
At PDC 2010 Microsoft announced the Extra Small Instance, which will be priced at $0.05 per compute hour in order to make the process of development, testing and trial easier. This will make it affordable for developers interested in running smaller applications on the platform. A beta of this role will be available before the end of 2010.
Please let us know if this addresses your needs for a more cost effective Azure offering.
David Burrell commented
Really $59.95? Thats insane!
I look around at other hosting sites and I can get unlimited bandwidth, unlimited disk space, Windows Web site for $17.95 per month, and its discounted if I pay for the year...
Why can't we match these kind of offers? I'd love to use Azure, but at the prices currently, I would be drastically reducing the revenue of our small business. We have about 200 people visit our site a year...and we make approx $4k a year. Not a big site. We hope to grow, but at the prices you are offering, we would have to have a yearly income of $50k to justify it.
Mike Leach commented
$59.95 per month Azure promotion here (good for 6 months)
I'm sure any Angel/VC investor would be happy with these start-up costs :-)
I'm surprised that no one has caught on to the bigger problem here: the advertising on the pricing page is borderline false advertising. Why the hell would you write in hours something that's almost always written in months if not to deceive?
Seriously, if there won't be really really cheap plans for Azure, fair enough; I'll look for alternatives. But I didn't expect to be lied to.
Extremely disappointed. Not so much because there's no cheaper way to use Azure, but because I've been conned by a company that I've trusted to be honest if nothing else.
Daniel Chambers commented
I initially looked at using Azure to host my small website. The reason? Developing my own website and hosting it on Azure would be a good experiment in using Azure technologies, and hopefully (because I get very little traffic to my site) it would cost only a small amount. However, when I saw that Compute Time is measured not in CPU time but the time your site is running (ie real time!) I realised that Azure is ridiculously and prohibitively expensive when compared to shared hosting.
This doesn't make a lot of sense to me, considering the spirit that Azure seems to be in: pay for what you use. My website would use next to no resources (CPU, data space, bandwidth), so I would have expected that it would cost me very little to host, yet the pricing means that I would have to pay through nose for it!
As a point of reference and comparison, I was hoping that Azure would be comparable or less (considering how little resources my site would actually use) costly than the shared hosting at discountasp.net (~$20 per month).
I think that by making Azure prohibitively expensive for tiny sites, Microsoft is losing the developers like myself that would like to give it a shot with some of their personal stuff and learn it. This is valuable because if I had knowledge and experience working with Azure for my personal stuff, I may see uses for it at work and therefore be in an informed experienced position to recommend its use.
The introductory offer is unfortunately useless for my use case, since 25 hours of compute time is only 1 day per month of my site being live!
Another case where I saw the possibility to use Azure was with my web development clients. Currently, I develop small websites for various small clients. These websites see very little traffic and I had hoped that I could push them all up onto Azure instead of managing and hosting them on a LAMP server. With the high cost of compute time for sites with tiny resource consumption, this is simply not possible.
I hope you reconsider your approach here. An approach where you charge (reasonably!) for CPU time actually used would be fantastic, as I would be able to host my site and my clients’ sites at a cost that reflects their actual usage.
Survivor Zero commented
A pricing model for "the small guy" would be ideal. I'm not interested in "Introductory offers" becuase the amount of time I'd have to invest in building and deploying my app to Azure could be entirely wasted when the cost of hosting the service completely outweighs the cost of just having developed a 'traditional' application that is hosted physically at a greatly reduced cost.
1. No introductory offers - just a flat, clear offer for small web based services
2. Based on actual CPU time used, not wall clock used.
There is a massive potential to get innovation and growth from grassroots developers in this space that is being denied due to a foolish marketing and sales policy!
I mentioned before about the opportunity for Microsoft to really innovate when it comes to pay-as-you-go pricing. As an example of such innovation, consider Amazon's recent announcement of spot instances - http://aws.amazon.com/ec2/spot-instances/. Here we see a company thinking outside the box in providing a service which you can't currently get anywhere else. This is what Microsoft is up against when it comes to pricing, and shows the importance of innovation in this area. If you don't come up with something innovative and appealling to developers, they will flock to somebody who does.
Tim Morrison commented
Sometimes I feel that the rate which MS rolls out new technologies is out of touch with the real world in that they forget we dont all have the time to get up to speed with new things instantly. Most of us spend our days coding, designing and testing, mostly to customer driven targets and deadlines.We don't have time at work to investigate new stuff (unless we're lucky enough to be specifically given the time), we have to do that at home, in between bathing, feeding, playing with, reading to and clearing up after the kids. I love the AZURE platform and would love to become proficient in it, but I have NO CHANCE of doing that before February 2010. I would like to propose that a developer account limited to 1 instance and 1Gb disk would be ample.... perhaps all developer pages could be framed with a "Running on Windows Azure" advertisement display which calculates how much the platform being developed would cost to run on a regular account?
Bicheng Cao commented
I have been using Amazon EC2 for 2 years for a small business and worked on Java for 5 years. Recently I'm attracted by Microsoft because of Silverlight and Bing.
The issue I have with all the linux, Java, Flash is that there are too many things I need to figure out myself when I want to make them all work together. I can see that the consistent programming model of .NET and complete solution stack offered by Microsoft will make my life much easier as a developer.
On the other side, I have no doubt that I'm going to use one of the cloud computing service for my projects. But the pricing model for Azure is really blocking me out.
That's a big loss for Microsoft if lots of developers like me find GAE is much more risk free to get started. Once people get used to GAE, it will be really hard to move out to Azure due to learning curve and data lock.
With the current pricing model, my choice is below:
Use Silverlight and Bing services at client side, use GAE at server side.
I cannot use RIA services in this case and there will be additional intergration effort. Ideally I should use the whole Microsoft stack but I'm not, simply due to the pricing model of Azure.
So what's the solution? Another pricing model for shared instances additional to the current one. It doesn't need to be free to start, but it should be charged by traffic instead of charged by time. What I mean here is very similar to GAE pricing model so I'm not going to repeat details.
Rob G commented
Further to my thoughts in my earlier comment, I've spoken about my concerns in the pricing department of Windows Azure in this blog post series.
As benoire correctly pointed out - Google are getting all the developers on their turf because they offer a "no cost - no risk" starter package which is highly attractive to the hobbyist developer - the trick is, those people have day jobs, and they talk to their bosses, who in turn hold on to the purse strings.
I voted for this also. In the beginning I was super excited about Azure and Cloud computing. However that excitement has been loss now that I have looked into Azure and other could computing services. Let me explain.
I am .net dev that loves to tinker. Like many tinkering is how I learn. Much of what I do runs on my home’s broadband connection on a computer that is my home's "server". The problem with this is that my home internet connection has great download speeds but has little in terms of upload speeds. Serving anything is quite slow. I also try to post on my blog what I am working on so others can view and learn from it. So when something running on my home server becomes popular it takes out my home network with just a few requests.
I became excited about cloud computing because I thought it would be perfect for this scenario. I was hoping to have cost effective means of hosting my side/hobbyist projects and have the ability to scale if anything became hugely popular. However it became quickly apparent that it is cheaper to have a dedicated server than for what Cloud computing instance.
I am a realist at heart. I know full well that Azure and others probably cannot compete with the oversold shared hosts that are out there. I mean my current shared hosting plan is 150gigs of storage space and unlimited bandwidth (some restrictions apply) for less than $100 bucks a year. I can’t afford to have sites and services setting on the web that may or may not be being used for $1000s of dollars a year. I know that Azure and other cloud services are not geared towards small time clients and the pricing models reflect this. They are set up to be interesting for larger clients. The bad part about this is that it is the smaller clients such as me that will push Azure (for example) to our employers if we have used it and liked it. Much like why Microsoft gives out “evaluation” copies of Windows and Visual Studio to people at events. If we like the products we will tell employer to pick up corp licenses (where the real money is). This system of promotion of a products works well for Visual Studio and Windows (I think), what is to say it wouldn’t work for Azure?
I am willing to pay a bit extra to work with a system that could scale if I ever needed it to. At the same time I am not willing to sell my kidneys to do it. Hopes this is somewhat helpful.
Shrenik Jhaveri commented
Hi Mike, Thanks for this gr8 explanation, I am working as software developer but same time i am working on non-comercial and some hobiest idea. I found Windows Azure is very expensive for hosting something which is not going to give me any return out of it. Also i would like to try out windows azure more but as PDC over i can't even try my ideas as its just close now. Do you have any thoughts around how Windows Azure going to be in reach of developers who can develop more application with less money. I just wanted have final comment that... If you check out any platform which are successful today either computer to mobile, they are successful because no of applications are available and people can trust on that not because that platform is just excellent... :)
Hope i will have more chance to play with Windows Azure... :)
I think your blog post makes some valid points Jouni, although I'm not sure I agree with your main point. I think the argument that small time devs want fixed price over performance is not quite right - in such cases you could simply used shared hosting, or a VDS, as OmariO points out.
I am quite happy to pay for what I use - I just don't want to pay for what I don't (and will potentially never) use. Yes, a free quota would be nice (and remove one of AppEngine's big attractions from the equation) but ultimately free isn't essential to lower the barrier of entry to an acceptable level.
The very reason I'd like to use Azure rather than a regular host is to be able to leverage the benefits of scalability when I need them. However, I can't predict exactly when that might be, and it may be that my service never takes off and is scrapped. However, on the current model I would pay a fortune just for my base usage, with no perceived benefit from using Azure over a regular host. It's this risk that I think Microsoft needs to mitigate for developers - the risk that Google are well aware of:
"App Engine will always be free to get started so you can try it out with no risk." (http://code.google.com/appengine/)
You could argue that paying a higher "base rate" is insurance for when you need the spikes, but the simple truth is that small devs just won't pay that, and will look to alternative cloud offerings like AppEngine which fit the pricing model they're looking for.
I think the fact that this request currently has nearly as many votes as the #2, #3 and #4 suggestions put together shows just important this is to people, and that's before you factor in #5 ("Continue Azure offering free for Developers") which is effectively asking for the same thing, and #6 ("Provide multiple roles per instance") which is along similar lines (wanting instances to be more cost effective).
In fact, when you consider this request alongside #6, it seems to me that Microsoft have an opportunity to be really innovative here - to provide a level of flexibility in pay-as-you-go pricing that far outweighs that of other cloud providers. To allow free/low-cost, low-risk experimentation and innovation but with a clear path for growth.
Finally, by way of example, I currently have many GBs of personal data stored on Amazon S3. I would love to be able to write myself a web based interface to manage that data which ideally would want to be in the same datacentre so as not to incur bandwidth costs. At the moment, Amazon's pricing model is not cost effective so I can't do that. I was hoping Azure would be, and that would lead me to move all my data over (paying you accordingly) and deploy my app. However as things stand that's not going to happen. On the other hand, I could move to AppEngine without any increase in cost...
There are chip alternatives
Thanks for your blog post on this Jouni, I appreciate the thought you put into this discussion. Other, if you haven't done so please check out his post.
What are other's thoughts on Jouni's summary recommendations which I've included below? Is this what you were asking for as well when you voted for this?
Thanks - Mike
Jouni Heikniemi's Summary Ask:
Windows Azure Express
Fixed price offering at $10 / month
A shared slice of processing power for a web role (see below)
Access to email sending functionality (hopefully coming!)
Windows Azure storage, capacity of 20 gigs
Full ASP.NET programmability
Data transfer and storage transactions limited to some reasonable values
If you go beyond the limits, service is denied for the rest of the month (preferably with the option to pay for more)
The point here is that consumers/hobbyists do not want to carry the risk of pay-per-use pricing, as they are unlikely to reap sufficient benefits from the extra traffic. Also, if somebody wants to spice it up with SQL Azure, it is appropriately priced already.
Windows Azure Compute Small Business Edition
Like the current Windows Azure Compute offering, but:
A shared slice of processing power for a web role (see below)
Priced at $0.03 / hour
You can’t buy several slices; the upgrade path goes directly to a full core.
What’s a shared slice of processing power?
The essence here is that you don’t need a full core to run your sites, so you can share a core with several other sites – in practice, you can probably share a whole 8-core (or whatever) box with them. My point is that the two small editions with shared cores should sacrifice peak-load response time for cost efficiency.
How many sites to deploy? As much as the system can squeeze in without unreasonable slowdowns.
What is unreasonable? Determinable through an SLA, but really, it’s not usually defined even in a normal shared hosting scenario. I’m sure this isn’t very hard to gauge in practice. Of course, heavier pages will be slower, but I think the key measurement should be the time it takes to get an IIS
How to prevent a single site from hogging the whole CPU? If a site starts consuming too much CPU time vs. clock time, throttle its requests. Notify the author automatically of the throttling. It sucks, but it’s the cost of being cheap. Most of the time this is just due to a programming error.
What about measuring by CPU time used instead of wall clock time? It’s a logical suggestion, although I’m not sure on how easy it is to implement. But despite its natural appeal, I’m inclined to vote for fixed prices and varying performance, because at the small end of the scale, fixing price is generally more preferable than fixing performance – it’s not like performance usually ever was a factor for really small applications anyway.
I have posted some further discussion and ideas on this subject at http://www.heikniemi.net/hardcoded/2009/11/get-your-azure-ideas-out-and-vote-for-mini-azure/ - interested parties may want to navigate there.
This is obviously a topic in which there are a lot of passionate people! I sincerely appreciate all of you spelling out NOT ONLY why this is important to you, but I also REALLY appreciate the arguments you make why doing something in this area is important to Microsoft.
Again, thanks for taking so much time to spell it out in great detail. The type of debate I am seeing on this topic is exactly the reason I wanted to get this forum up, I appreciate you investing time to engage with me and have a healthy dialog - - it is super helpful.
Dmitry Kukushkin commented
Why Google App Engine is much more profitable? Please, add pricing for CPU time, but not for machine time!
Just to clarify my previous comment, I appreciate that you get Azure allowances with MSDN and possibly BizSpark (?), but putting aside the suitability of the quotas, this still doesn't help those developers who may just want to experiment with an idea without committing to it by enrolling in such programmes, waiting to gauge reaction before taking things further.
If you can make it cost effective for developers to host their blogs on Azure it will give them a good reason to try it, get the skills and then use it for larger applications. Surely it would help to drive adoption?
Appreciate the response Mike, thanks. I did pick up on the introductory offer, but as Rob G pointed out, it doesn't really meet the needs of small devs - anything less than 744 compute hours a month means you can't run the instance permanently and therefore you can't deploy a typical site or application. Added to this, it's only a temporary offer for the first half of next year - I have ideas in the pipeline that aren't going to be ready for deployment until after that, so I'm not going to start off with Azure when I know that by the time I go-live I'll need to switch elsewhere.
It strikes me that the risks to Microsoft are higher than just losing Azure business as well - there's a high chance that devs/startups starting from scratch on a cloud project will choose not to use any of the MS stack if they can't use Azure, which means you will lose potential MSDN subscribers etc as well.
I also disagree with Dennis - whilst it's super easy to migrate an existing .NET app to Azure, when you want to process data on Azure storage you're going to incur (potentially high) bandwidth costs if you can't perform that processing inside the Azure data centre. The competition isn't really coming from shared hosting, but from AppEngine and other cloud providers with free quotas.
"Mighty oaks from little acorns grow" - if you want the oaks on Azure, you need to make it possible to plant the acorns...