Is Azure ready for production usage?
Last week at the SDN Event in Houten, I presented a session on Windows Azure and how you can develop applications on it. How it differs from developing for servers that run on premises. After the presentation, the question was asked if developing for Azure was a wise idea, as some stuff did not seem production ready.
After thinking a bit more about this, I believe the person based his question on the fact that I talked about two subjects
- Creating Azure Storage tables in the cloud and not being able to detect whether they’re there already.
Read this article from Steve Marx for more info, although since the article it changed a bit. Blog coming up on that.
- Deleting all entries in a table (truncate table) isn’t (directly) possible via the API.
You’ll have to read every entry and delete each of them manually.
I’ve talked about this and perhaps because of this (or me) people got the impression Azure is not production ready. Maybe these issues will be solved, maybe not. These are all API related issues though and have nothing directly to due with Azure being production ready.
From what I’m observing, the Azure team is working really hard to get Azure working and perhaps spends less time on tooling and API. I’m very sure these will come in the near future, but we can already develop for Azure and it’s less important than getting a complex technology like Azure ready for release. And that’s what I am sure of, that the team is making sure Azure will work.
Is Windows Azure production ready?
The short and simple answer is probably no, because Windows Azure has not been officially released yet. But in my opinion it’s definitely worth checking out, because –as I said during the presentation- Microsoft is investing heavily on it. Invest in Azure now and reap the benefits of it sooner or later. It is expected that cloud computing will be as common in usage, as plugging in an electric device and instantly getting power is common right now.
Azure is NOT ready. One of the fundamental building blocks of any application is Data. Azure recognizes this and storage services will support Tables / Queues / Blogs.
At this point in the game (6/30/2009), the REST API is finalized. If you hit up MSDN.com and go digging, there is NO managed API!!!! Yes, you can write your own C# code and wrap their REST xml based implementation and start building proof of concept applications. (Optionaly you can use the StorageClient sample in the SDK, but Microsoft has already said do not rely on this for production via social.microsoft.com forums).
I always looked at cloud computing this way:
Big Business: The costs of cloud computing is too much. We do too much business, process too many transactions, eat too much bandwidth, store too many GB’s. We eat the cost, buy our servers, run our application on a 10-year plan and all is well in the world.
Medium Business: Gray area. If I am building something from the ground up, and I am out of staff/server resrouces, this might be a good idea.
Small Business: Ok, the same guy that installs Windows on the desktops also manages the network and maintains all the production apps my preferred vendor build for me in c#. New project coming, yes, let’s build it for the cloud…. Except I have a 6-month ramp up period on the technology just so I can get data in/out of tables.
Summary: Wait till version 2.0 when we have nice Managed libraries that handle splitting our blob into 16 MB blocks for us.