Windows Azure is part of the Microsoft "stack" - the suite of software and services we offer. Because we have so many products in almost every part of technology, it's hard to know everything about all parts of what we do - even for those of us who work here. So it's no surprise that some folks are not as familiar with Windows and SQL Azure as they are, say Windows Server or XBox.
As I chat with folks about a solution for a business or organization need, I put Windows Azure into the mix. I always start off with "What do you already know about Windows Azure?" so that I don't bore folks with information they already have. I some cases they've checked out the product ahead of time and have specific questions, in others they aren't as familiar, and in still others there is a fair amount of mis-information. Sometimes that's because of a marketing failure, sometimes it's hearsay, and somtetimes it's active misinformation.
I thought I might lay out a few of these misconceptions. As always - do your fact-checking! Never take anyone's word alone (including mine) as gospel. Make sure you educate yourself on your options. Your company or your clients depend on you to have the right information on IT, so make sure you live up to that.
It's true that we don't give out numbers on the amount of clients on Windows and SQL Azure. But lots of folks are here - companies you may have heard of like Boeing, NASA, Fujitsu, The City of London, Nuedesic, and many others. I deal with firms small and large that use Windows Azure for mission-critical applications, sometimes totally on Windows and/or SQL Azure, sometimes in conjunction with an on-premises system, sometimes for only a specific component in Windows Azure like storage.
The interesting thing is that many sites you visit have a Windows Azure component, or are running on Windows Azure. They just don't announce it. Just like the other cloud providers, the companies have asked to be completely branded themselves - they don't want you to be aware or care that they are on Windows Azure. Sometimes that's for security, other times it's for different reasons. It's just like the web sites you visit. For the most part, they don't advertise which OS or Web Server they use. It really just shouldn't matter. The point is that they just use what works to solve a given problem.
Check out a few public case studies here: https://www.windowsazure.com/en-us/home/case-studies/
This is the one I face the most, and am the most dismayed by. We work just fine with many open source products, including Java, NodeJS, PHP, Ruby, Python, Hadoop, and many other languages and applications. You can quickly deploy a Wordpress, Umbraco and other "kits". We have software development kits (SDK's) for iPhones, iPads, Android, Windows phones and more. We have an SDK to work with FaceBook and other social networks.
In short, we play well with others.
More on the languages and runtimes we support here: https://www.windowsazure.com/en-us/develop/overview/
More on the SDK's here: http://www.wadewegner.com/2011/05/windows-azure-toolkit-for-ios/, http://www.wadewegner.com/2011/08/windows-azure-toolkits-for-devices-now-with-android/, http://azuretoolkit.codeplex.com/
No, we don't. That would be disasterous, unless the only things you run in your company uses works perfectly in Azure. Use Windows Azure - or any cloud for that matter - where it works.
Whenever I talk to companies, I focus on two things:
If something is broken, and you need new tools to scale, extend, add capacity dynamically and so on, then you can consider using Windows or SQL Azure. It can help solve problems that you have, or it may include a component you don't want to write or architect yourself.
Sometimes you want to do something new, like extend your company's offerings to mobile phones, to the web, or to a social network.
More info on where it works here: http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx
If Windows Azure is a PaaS - a Platform as a Service - then don't you have to write code to use it?
Windows and SQL Azure are made up of various components. Some of those components allow you to write and deploy code (like Compute) and others don't. We have lots of customers using Windows Azure storage as a backup, to securely share files instead of using DropBox, to distribute videos or code or firmware, and more. Others use our High Performance Computing (HPC) offering to rent a supercomputer when they need one. You can even throw workloads at that using Excel!
In addition there are lots of other components in Windows Azure you can use, from the Windows Azure Media Services to others. More here: https://www.windowsazure.com/en-us/home/scenarios/saas/
Windows Azure uses .NET, OSS languages and standard interfaces for the code. Sure, you're not going to take the code line-for-line and run it on a mainframe, but it's standard code that you write, and can port to something else.
And the data is yours - you can bring it back whever you want. It's either in text or binary form, that you have complete control over.
There are no licenses - you can "pay as you go", and when you're done, you can leave the service and take all your code, data and IP with you.
So go out there, read up, try it. Use it where it works. And don't believe everything you hear - sometimes the Internet doesn't get it all correct. :)
Nice post, Buck. I learned a few things.
One reason that was enough to make me not try Azure:
data ownership laws. Microsoft will turn over your data, on a simple request. The data is also stored by a US company, and my clients wouldn't want their data to be in the land where vague terms like "suspicions" are enough for the company running the cloud to give all your data away.
So when the choice is between running locked down standalone servers, or a cloud surrounded by vague laws, and a sense that your data is easily exposed.
Sure, you can run a silly site with no critical data, like a front page for a big company that should be accessed all over the world... But when you have sensitiva data, the cloud is simply not an option.
Absolutely incorrect. We would never turn over data "on a whim". We follow the same laws you have to follow from the authorities - no more, no less. Another myth.
Non Myth 1: It's incredibly expensive.
I can get a dedicated server with 6 cores, 16GB Ram, 1000GB HD (x2 Raid1) for $150 per month. What's that cost on Azure? About ten times (10X) that amount.
Until the price comes down to someplace between shared hosting and dedicated servers Azure hosting only going to be affordable to large businesses or companies with cash to burn.
Your blog made the Code Project Insider Daily Developer News email.
No, it isn't. Another myth. You have to architect the application to have a cost metric - it has to make sense. Yes, moving something as-is into a cloud be pricey, but I already stated we don't want you to do that. If the site drives revenue, you can make it pay for itself - we do this with clients every day. And you need to consider all costs if you run it yourself - hardware, buildings, power, people. Most folks only look at a server and say "it's cheaper to run it here".
My web application makes $20,000/yr. I can host is as I've described for about $2,000/yr at a dedicated hosting site or host on Azure for $20,000/yr and make nothing. To top it off, on Azure if I roll out 5 different apps each with similar traffic and similar revenue I still net nothing because with Azure I pay by the hosted app rather than the server.
As far as "hardware, buildings, power, people." Hardware, Buildings, Power: No additional cost with dedicated hosting as they're included in the price and owned by the provider, just like Azure. And the people are the same either way. Just a slightly different skill set.
Like I said, Azure makes sense for large companies pulling in millions of dollars from their web sites, not for regular Joes hosting web applications for a few hundred or a thousand people.
Will, I guess we just have to disagree. I have TONS of clients - large and small - that did the math, and Azure made sense over our competitors or hosting it themselves. As I say - repeatedly - do what works. Broad claims usually are incorrect, so I generally stay away from them. :) Glad you're making money in the cloud - at the end of the day, you have to make the choices that work for you, but understand they don't hold for every situation.
Great post, thanks!
"Absolutely incorrect. We would never turn over data "on a whim". We follow the same laws you have to follow from the authorities - no more, no less. Another myth. "
(someone used my name there)
NOT TRUE!! It's NOT the same laws! That's exactly what I just said.
Microsoft goes by USA laws. My clients would never consider it. Same for me, as the db and server admin, I know I cannot place the data under US law. I don't trust USA laws. Nor should I be required to learn them. I do not trust them for 5 cents from what I've read.
The only way Microsoft could make me reconsider, is a guarantee that I retain FULL control of the server space; MS relinquishes any form of control to me and my company. Laws of my company's home nation would have to rule over the data. Not USA. It goes as far as for some of the applications, I have to comply with local laws, and host the data inside the country laws. For those applications, moving the data to USA would be a breach of contract.
NNM - That would be true if we only had datacenters in the US - we don't. We have them worldwide. You would put the data in the datacenter with the laws you follow, not ours.
Again - I have said repeatedly that we don't expect you to put everything in the cloud. Only put what you want there, data that you're comfortable with in your country.