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.
Bob Dog commented
"Make it less expensive to run my very small service on Windows Azure."
The best suggestion ever!
Ross Sponholtz commented
Two simple suggestions:
1) "fractional" cpus. If I have a small application, I don't need a whole CPU sitting out there for me. I may only need 50%, or even 25%, presumably with a comparable reduction in cost. I can have a fraction of a CPU for my VM under Hyper-V right now. Why not under Windows Azure?
2) multiple applications per web role, and multiple apps on a worker role. We can do this on Windows Server, why not on Azure? Right now, I can put all my .NET code into one big application, but thats going to be a mess.
Jeremy Howard commented
A minimum of $1000/year is too high for testing a new product, which may or may not turn out to be successful. Azure's pricing model is only useful for migrating existing projects, which already have a known demand.
The "specials" are also useless, since they run out in 12 months' time - why would I develop on a platform for which the economics are only beneficial for 12 months? If I'm going to invest in a platform, it needs to scale down to a startup level, and provide good value for the entire lifetime of the product.
After spending the last couple of days investigating Azure, I've now realised I have to use a different platform, since as an entrepreneur I need something where I can put up lots of little apps and see which ones work. At $1000/year/app, that's not an option with Azure.
looks like you can now get one month of azure for free - no credit card required - http://azurepassusa.cloudapp.net - finally MS gets it!!
Nobody wants to pay for CPU idle. Do you?
Even if the price is similar to Amazon EC2, EC2 is way cheaper for a bunch of sites. My EC2 instance can fire up and in that windows image I can be hosting 10 or 20 small / hobby sites for the price of one instance.
Now 10 or 20 small / hobby sites on Azure would be $thousands a month.
Let's move to a pay for traffic pricing model. Most of my sites barely get hit, but they are out there and available 24/7.
Paul Deen commented
Another possibility is allowing us to run the Windows Azure software on our own servers, much like the development server allows us to do. That way we can build 'cloud compatible' applications, without actually putting it on the cloud. This 'Windows Azure Express' could have hard limits on it, so that once the application becomes large enough to warrant going onto the cloud, we migrate it without a huge refactoring exercise.
CPU cost model is too expensive.
I (we) need a model like Google App Engine: no traffic --> no cost.
I should add that it would be nice if each role, when deploying or starting an instance, you could determine which instance/billing type to use for that instance. So, if I have an web app that requires a web role with reserved resources 24/7 I could indicate that it should have wall clock billing, and then say I have a high priority worker role that I want to be clock cycle billing at the second tier (half as many roles deployed ont eh hardware as a first tier option) and a low priority worker role that uses the first tier of shared / clock cycle billing. Then, say I'm monitioring the low priority queue and notice its growing, I could start up another instance of my low priority queue worker role BUT I could deploy if to the second tier or even wall clock tier if I chose.
The current prices do seem a bit high for smaller shops. While the pricing would be reasonable for my current company. The current pricing structure, using wall cock instead of clock cycles, is nice because you have dedicated resources available to you. What I would like to see is a less expensive option based on clock cycles for those that realize that if their's and a bunch of other people's applications that are hosted in the same/similar fashion all have a spike then they will notice slow downs do to a SHARED resources environment. If these slow downs are "too much" then those who wish to alleviate them can either a) switch to a slightly more expensive plan that has fewer shared accounts per hardware or b) switch to the more reliable wall clock pricing.
Richard Fine commented
I'd really support the idea of charging for CPU cycles instead of wall clock time, mainly because it'd allow me as a developer to build and operate my worker roles in a much cleaner way.
I've got a bunch of background tasks that process queue messages to do things in response to activity in the web role (like sending email, or running spam checks, or reindexing changed documents, etc). These need to be permanently available, but they're often sitting idle. To keep costs low, currently I have to merge all of these background tasks into a single 'master' worker role that round-robins them all. If I want to do things like double the processing power dedicated to one particular background worker, I have to implement that myself in my master worker role.
If we were charged for CPU time instead of wall clock time, and if there were some mechanism to sleep until a new queue message is retrieved, then I'd be able to build each background task as a separate worker role that wakes up when there's work to do, does the work, and goes back to sleep. I'd also be able to skip writing any processing-power management stuff; if I want to process sending emails more quickly, I can just run a second instance of the ProcessEmailQueue worker role.
Heck, I registered 14 days back for that Introductory offer, which said no price for 25hrs, i thought 25 hrs of consuming the app/azure, today which i read somewhere in blog, it's irrespective of we use it/not, they'll charge, oops, when i checked in my azure a/c, it's already crossed 325 hrs for 14.xxx days, and says i've to pay 36$. what this ripping off. it'll come to close 110$/mth.
lots of hosting providers offer 24/mth for reseller hosting, even VPS/shared. i dont mind M$ asking more, but, tell clearly what that 0.12 cents / hr means. with example how much it's going to be for a month, let's not get fooled by words.
BTW, i just tried 1 sample app in azure, which i deployed, which's a helloworld app. now i've deleted, but still it shows my service is active in billing page, not sure they'll still charge me /not.
called support, it says 24/7, but no one picked up, it's 1am EST. what the heck it is i dont know.
Steven Nagy commented
I don't believe this is valid. Azure is a highly scalable platform. If you want to run Mum & Dad websites I think you've misunderstood the intent of the platform.Use a shared hosting service instead since it will suit your needs. Cheers.
My top priority is *not* to turn Azure into a discount ASP web provider, rather it is to develop in a true emulated environment. Azure is a Platform-As-A-Service (PaaS) and has unique development features that I cannot emulate elsewhere. At PDC '09 there was a Lessons Learned session where Quark described how essential it was to develop and test in a comparable Load Balanced environment.
I don't have an F5 load balancer; only a laptop, Visual Studio 2010, and a couple of ideas. I do need a free/cheap development environment:
(1) Located behind a comparable loadbalancer
(2) With the same configuration as a production Azure box (see machine.config), same restrictions
(3) Has a similar Blob/Table/Page store
(4) Identical WCF, .Net Service Bus and ACS functionality
I cannot currently emulate these components offsite.... and as far as I know, no partner offers the same technology that gives me headroom to build and grow.
Mike you asked for ideas so here you go:
::The Discount Approach::
- Partners (HP, EMC, etc) could host an Azure Compatible Datacenter with lower SLA's
- Charge $20/month for 4 extra small web roles and worker roles. Practical performance limitations apply
::The 'Free' Approach::
- License the Azure technology as an Add-On to Windows Server with a Go-Live license
- Keep the Staging environment free (with a changing DNS name)
- Activity restrictions (throttle connections/sec, bytes total, IOPS/sec)
- Quantity restrictions (validate user by Credit Card)
- Limit the source/destination IP addresses. Most developers work from a few fixed addresses
Thomas Albers commented
Add my vote to the pricing. I have been using Ruby and Engine yard for a couple months now and I am finding it tough to justify moving back to .NET do to the cost (Although I continue to do all my enterprise dev in .NET). BizSpark nailed it for us with the licensing, and with appropriate cloud hosting costs, Microsoft will surely be able to recapture the hearts of like minded small businesses.
Our business model is to serve the masses with small useful apps. The challenge is, some are hits and some are not... this is the nature of the web. And when one takes off, I need the flexibility of the cloud to accommodate. The costs associated with moving my development/hosting to azure would be astronomical. The azure services has to cost us < $29.99 for a single web and storage instance. (paired with a multi-role worker instance for $39.99) This would truly enable the ramp up time for me to build, test, market, and refine products for web consumers. (This is truly why the open source community is thriving among small business. Imagine catching the wave of any of the "new" breed of scaling open source based sites... Facebook, Twitter, DIGG, Gravity)
Microsoft needs to determine whether you are here make money at premium hosting or are you here to facilitate your .NET community's aspirations of building cloud based applications for the world.
Federico Lois commented
Speaking from my own experience (left a message in the Free for developers too), to keep costs down we had to resort to create parallel workers inside our worker instance just to avoid having to start that. In the end that creates a situation where, you are replicating what Azure already provides that is the Worker Role just because you cannot or want to pay for the extra "low compute" but "necessary" work to be done. So now instead of having a Worker Role to handle email, another to handle task scheduling and another one to handle indexing, I have a single Worker Role with multiple threads that does all of the above. Adding to more complexity, and time/cost needed to make it work properly.
Hope that helps as a reason on why pricing on roles is not a viable option. As noted, as developers we can engineer solutions to just bypass the problem (multithreading, single dispatching, etc) and on the same time have to pay in complexity because of a clearly not technical restriction.
Paul Deen commented
I have a site, www.walkmate.co.uk, I originally developed this to run on Windows Azure, but sadly Microsoft released their pricing model, and I realised it would be prohibitive. It looks to me like Microsoft want to run enterprise applications, rather than small(ish) websites. Is this a reasonable assumption?
Thanks for jumping in David with your point of view, and in particular I like that you told me (and thus the Azure team) what your SPECIFIC expectations are here, what's working, and what's not, and that you are looking forward to an announcement (that got my laughing to start the day). It's all super helpful.
In the coming days I'll try to summarize what people here are asking us for and ask for reactions to see if I captured it accurately.
Thanks again David, Mike
David Svanlund commented
I'm currently using Google App Engine and love their pricing model. But I'm a curious developer unable to resist taking a look at the Windows Azure platform. The big issue for me is instance pricing. It's a lot of money for hosting small personal projects. I do understand the difference between GAE's "run when necessary" compared to Azure's "always on" strategy. I'm not sure which model I prefer, but there is no doubt that reserved resources come at a cost and I'm willing to pay for that. I don't expect it to be free.
The Development Accelerator Core offer is a step in the right direction for me as a hobby developer. But $60 per month is still a lot of money for a single small personal project. What If I care about uptime? Then I need to run at least two instances. And when I have a second project to host? More money. After the six month term the price goes up.
I would like to see a low cost subscription package including at least 750 hours of compute time. Compute overage pricing is important as well. Add a tiny amount of storage and bandwidth. It does not have to be a small instance. Some kind of "mini"/"starter" instance maybe? It is also important to consider that a developer might want to use multiple web roles and play around with worker roles - without a hole in the wallet. Make sure we can experience the full potential of the platform. Up to $20 per month would be reasonable for this subscription.
Google has set the bar with a low barrier of entry. If Microsoft wants to attract hobby developers, students and small companies it is important to offer an attractive pricing model.
I'm looking forward to your announcement ;)
Very disappoint, I'm a student & I'm learning this new platform of Microsoft. Test with a tiny service & it cost 72 hours per day (2 instances webrole & 1 instance worker role), I was shocked with the bills & delete that service immediately.
Compare to Google Apps :((