Microsoft announced the limited production release of the Windows Azure platform appliance, a turnkey cloud platform for large service providers and enterprises to run in their own data centers. Customers and initial partners using the appliance in their data centers will have the scale-out application platform and data center efficiency of Windows Azure and SQL Azure offered by Microsoft today.
As with Internet Explorer, do we have to go through years of Azure before it becomes a product which:
1. aligns to open standards for cloud applications and management?
2. allows interoperability with other clouds or API-clone clouds?
3. allows you to have an easy exit strategy for your applications and data? (how many proprietary products have swallowed and locked onto your data and not let go … )
I think we won’t have to wait long – today the environment is different to 10, 20 years ago. We can compute without Microsoft Windows, we have been freed by the web and web standards. We don’t need to go with Microsoft – we can chose Google or Amazon open cloud APIs (Eucalyptus). Microsoft will choose either to exit or align itself to standards and compete on the quality of its implementation, not by locking customers in.
Having said that, I’m sure some Microsoft shops will go ahead with this anyway … as long as it’s not my taxpayers money …
Edited 2010-07-12 17:56 UTC
I went to the launch of Azure in Wellington, New Zealand and unfortunately the big thing holding back adoption in most other parts of the world are the data costs which until are addressed will end up strangling cloud computing no matter who is offering it. The funny part is how much things change but remain the same – Cloud computing is a jazzed up version of timeshare computing from 30 years ago but with a new way of accessing it and a little more flexible than before.
As for the issue of lock in – Microsoft have already made it clear at the launch in New Zealand that there is a decision you have to make; you can stick to the open standards and remain portable or you can tweak and tune or you application/job to the max and end up being locked in, something you need to weigh up. Microsoft as so far as their New Zealand launch has been pretty damn open about the limitations of their platforms and the choices you as a developer have to make – if there are f-ckwitt programmers out there who don’t do their research then the problem falls on the shoulders of those programmers and not Microsoft. Microsoft have gone out of their way to explain the platform – if people aren’t willing to listen then I hardly think it is Microsofts fault for that.
Edited 2010-07-13 00:28 UTC
The first job I had was a webapp on the java/linux/oas/oracle stack. There were _reams_ of open standards there. At the end of the day though, we were locked in. Where? Turns out there are loads of platform specific bugs and performance considerations when writing non trivial java applications. Appservers being written according to an open spec was great, but there were features that set different app servers apart, those things would also lock you in. Finally, any database you can use have completely different functions, datatypes, and languages used to write stored procedures. Even though we are talking about an ANSI standard, once you seriously start using something, you get locked in. (this was before the days of Hibernate)
It was also extremely difficult to get things like visual debuggers working with different appservers (due to obtuse open standards, all implemented slightly differently.)
Now, by contrast, after you install visual studio, you press f5 and immediately are in a visual debugger session. Everything actually works together really well, you rarely have to spend time trying to get the different bits to work together. If you can’t, you can open a PSS case with MS, and they will figure it out for you. Finally, any new hotness will work great with the rest of the eco-system.
Its not all roses and butterflys by any means, but when it comes to tying all the bits together, it is WAY easier in ms, and at the end of the day, you end up locked in on the java side too. The only real difference is at the start of a project, you have way more options with java. On the ms side, if you don’t want to deploy on windows, you are SOL.
There are many, many considerations that go into choosing a platform for a business to build off of. “Lock-in” is something to consider, but it is not the thing that people in places like this think it is. In fact, the integration that is possible due to lock-in often outshines the lack of choice in other regards.
In the case of azure (or most non-EC2 clouds), you need to realize if you code against their APIs, you are not going to be able to move without substantial re-writes. What you get is on-demand scaling, which solves a massive problem that has sinked businesses, and all the other benefits you would get from having your servers hosted (security, redundancy, backups, service, etc).
Dude, there are no open standards for “cloud interoperability and management”, and sql is sql, you can do a dump off of azure just like anything else.
If you don’t understand something, don’t just start making stuff up about it.
Cloud computing should enable me to leverage my vertical integration strategies with my knowlege resource capitalization, furthering synergistic capacity realization.
Then again, I really don’t know clouds at all…
Your web 3.0 relevance strategy may lead to technological codependency.
For synergistic vertical cloud strategies there needs to be a continual questioning of relevance. I can help ascertain your cloud relevance for a small consulting fee of $20000.
And the speaker in question was emphasizing the use of VisualStudio all the time, as the bridge-application deployer within Windows Azure. I suspect that you can’t use Azure unless you have VisualStudio too.
There is this you could always use with Eclipse:
http://www.windowsazure4e.org/
I would say that it is pretty safe to say that 99.99% of all ms development is done on visual studio, and if you take .net/sql server out of the picture, there is no real reason to want to use azure. You have GAE, Amazon, and loads of private on demand offerings (like mediatemple, rackspace, etc)
Edited 2010-07-13 03:27 UTC
I’m a bit disappointed that “Azure Platform Appliance” is a “limited production release”. Nevertheless, it paved the road to a broader release which would be interesting, as long as this delivers true innovation. The platform concept (and even the appliance concept) is interesting and it would be more interesting if it was somewhat a different context, like a stack to deliver both standard HTTP stuff (via ASP.NET, PHP or whatever) AND a completely different stack which gets rid of HTML+JS crap.
As for cloud stuff, MS already has Windows HPC to scale to lots of processing nodes AND Application Request Routing module to implement that in a HTTP-enabled context.
This new appliance could change my (negative) perspective of Azure.
Edited 2010-07-12 20:21 UTC
What? You want a “platform” to “deliver” a “stack” of HTTP stuff and a “stack” that which gets rid of HTML + JS?
I can sort of guess what you mean by thte http “Stack” ( maybe a load balanced group of webservers combined with a smattering of dynamically allocated virtual machines).
But that second “stack” is just weird. Do you mean Silverlight or something like that? What does client presentation and interaction have to do with cloud based server architecture?
Key word here is appliance (or framework). Azure is not simply Windows + IIS installed but rather a more complex platform. Check SQLAzure for example.
So my wish would be for a platform where I can publish my RIAs (yeah, Silverlight is fine) and such platform will execute my code on different nodes (based on load or availability) without me to require to even know, and thus be able to scale out to hundreds of “nodes” where processing of apps will be performed, a la Windows HPC. My 2nd wish is to have something tightly integrated with presentation (not like HTTP+JS but rather like Silverlight which can access server-side code)and a more advanced presentation stack (Silverlight again or Flash, though Silverlight is the choice since we’re in MS world here).
Ok, I think I understand a bit more, thanks for the explanation. So on the first request, you want something like dynamic allocation of virtual machines that VM ware provides, but in the cloud.
Second one, still doesn’t make sense to me though. There is windows Azure. Which would allow you to run asp/php/whatever to generate what ever content you want over http. I don’t see how it matters weather that content is HTML/JS, silverlight, SOAP or humpback whale song. Its content creation neutral.
Back in the day, when people needed a server to run faster, they just bought a more expensive box. Then google happened, and prooved that the only way to seriously scale is to give up SQL and relational databases, and use a great many lower powered machines.
Since then, the trend is to “Scale Out” rather then “Scale Up” for everyone, except people in the microsoft world. It just makes more economic sense, and if you build for horizontal scaling you are future proofing your application.
Azure is really a game changer for the MS world, because it finally means MS devs can “scale out” and not end up spending obscene amounts of money in license fees.
Could you point me to resources somewhere? I’ve always wondered how they managed to make their search engine be that fast.
I didn’t get how “scaling out” is related to license fees. I thought dev tools license fees were per-developer and not per install/per computing power/etc. Could you explain please?
http://en.wikipedia.org/wiki/Shared_nothing_architecture
Basically, SN means that each db (or whatever) node is completely independent of all other nodes (to see how they did it, click into the sharding link in the wikipedia article) When your nodes aren’t linked, you can add or remove them very easily, which makes scaling to the levels google needs to scale possible. This is impossible with traditional RDBMS systems, and when you try to apply these principals to RDBMSs, you end up giving up ACID properties that are the whole point of using them in the first place.
To actually query their datafarms, they use map-reduce http://labs.google.com/papers/mapreduce.html
Basically, they send two functions out. Applying the map function to a record decides whether or not the query should be returned. The reduce function restructures the data that is collected by map into more meaningful datastructures.
The implecations of that is are that each node can map, and each node can also reduce, completely independant of each other. The final reduce will have to happen on a single node, but the bulk of the work will already be done before that.
Windows Server 2k8 r2 standard is about 1k/server. That isn’t that bad, but Sql Server 2k8 r2 is 7k/cpu core. That gets really expensive really fast. It isn’t even that bad compared to someone like oracle, which 17k/core. Either way, you are going to think long and hard before adding another db server if you are paying that kind of money.
Thank you!