Guess What: iCloud Uses Windows Azure Services For Hosting Data
redmondpie.com
redmondpie.com
This article from GigaOm explains it better - Apple is likely using Azure / AWS as a CDN, because their data centers are centrally located (however this is not fact - we still don't know the extent to which they leverage azure / aws)
I think its a win-win for everyone involved - Azure makes money, and bags a high profile customer which validates their platform. Apple can leverage Azure's distributed datacenters to deliver a great experience for their users.
If this is true, I wouldn't say that it was embarrassing for Microsoft - much like how Google Maps on the iPhone is valuable asset for Google , not an embarrassment.
At the same time Apple wins because they can focus on their core competency, UX, not cloud plumbing.
Is Apple or Samsung embarrassed because the chips, flash, and display are sourced from Samsung? Of course not. Samsung is proud that their parts are the ones Apple choose, and Apple sells the experience, not a collection of parts.
Similarly, Samsung seemed a trifle embarrassed when announcing that their Galaxy S II phone would ship in some territories with Tegra 2 chips rather than their own Exynos chips.
In the current release, contacts are automatically synced, I'm not sure about calendars, and photos, video and I think office can be set to automatically sync.
From my understanding there is deeper integration in the next release (Mango).
So Microsoft is there and doing it, but they aren't competing in the same marketing space as Apple, and it seems few people know Windows Phone even exists.
Microsoft has attempted to make a successful cloud platform - their commercials all proclaim, "To the Cloud!" - and yet, they fail, while someone else takes their technology and (potentially) succeeds.
I don't really think that MS has targeted Windows Azure towards the general consumer market, though. It's basically the same as Amazon Web Services. Apple using that tech gives them an incredibly strong marketing tool, especially for companies that are trying to decide between using Amazon or something else for cloud-based services.
http://explore.live.com/windows-live-mesh?os=other
Am not sure how much traction it finally got
If Apple succeeds with iCloud, and that's a big if given their own track record in the internet space, it'd ought to be pretty awkward for Microsoft.
From a strictly logical sense, it's meaningless. But symbolically, it says a lot. The fact that Microsoft failed at something and then got bested by someone using their technology is symbolic of how far Microsoft has fallen.
Services like Azure are what Microsoft should be about.
To put it another way, I frequently tell people "Businesses choose Java because if it fails, it isn't because they choose Java." This means that if the Director of IT says to build with the industry standard of Java (or .Net), it is not the Directors fault if/when the project fails. The project manager, the developers, QA, middle management, etc failed to do it correctly. It is a safe choice since it is industry standard and thus well proven. If it takes longer and costs more, it means it was a much more difficult problem then they expected, but since they used Java they got it working.
If on the other hand, they went with Rails/Django/Node.js/Erlang/NoSQL/etc, and it fails, the Director chose to use "new and untested" technologies, he/she is the root cause. Regardless of the fact that it could just be that realistic goals/management were never used.
I am not trying to say Azure is industry standard or the safe choice, but the way to shift blame is the same.
An honest risk analysis of the enterprise project would raise a huge red flag for using a technology that continues to change substantially in every version such that it is not backwards compatible.
Is this a real problem? If you encounter a bug in an older version of Rails, why not just fix it and carry on as usual? Fixing bugs is part of the job of being a developer. If you are afraid to fix bugs, your application isn't going to last long no matter what language, framework, or platform you choose.
I think skidooer was as well.
> I think very few people would like to be having to maintain an outdated framework. And for the ones that actually do decide to maintain a framework that they did not develop themselves [...]
How is maintaining an open-source framework that somebody else made different from maintaining a framework built in-house? At the end of the day, bugs will still be found and need to be fixed. Yes, your devs might be more familiar with your framework than with a third-party one, but I think that is only the case if you can keep your team small and prevent churn and specialization. Regardless of which direction you go, devs need to understand what is happening inside the framework - it can't be a magical black box.
> [...] it will cost them a lot of money.
More than writing something from scratch?
Rails is a fast moving target because they are always looking for new ways to save you time. As I mentioned in a previous post, the Rails 1.0 API is painful compared to the current generation. You are saving massive amounts of time during development because the project has evolved so far.
Spending a few minutes patching a framework bug once every five years pales in comparison to the gains you are seeing in development time.
To each their own, but I'd rather have a framework that is better than have a framework that knows it could be better, but won't make the changes because it might break some several year old app.
The thing to remember is that each major release of Rails is fairly well tested. The number of actual bugs you are going to encounter are low. The investment in fixing them is therefore going to be low, should you actually encounter any to begin with.
The Rails codebase is simply an extension of your own codebase. While it is not fun to fix bugs in any capacity, there is no reason to fear fixing bugs in third party code. It is no worse than fixing your own, which also costs a lot of money.
I've been using Rails since around the 0.8 release timeframe. I have seen many major changes along the way. They have all been positive improvements to my workflow and the theoretical issues you describe have never been real issues. I still have one app chugging away on Rails 1.1 and it works just fine. The only problem it has is that it is not nearly as fun to maintain because it doesn't have all the newer major improvements. It would be a sad day if we had to go back to, or were still using, the 1.0 API. The Rails people are doing the right thing.
Even Android, which is many times younger, never does this. Everything is always backwards compatible. Android developers would be up in arms if they just decided to break all apps in a new version of Android. Granted, it could still happen because nobody is perfect. Although it has never happened in any of my apps and I don't know if it has ever happened at all except for the early Beta period. When something is no longer supported they deprecate the functionality but do not remove it.
Installing a new Java version on your desktop to run some app is different than rolling out a new major version of JVM/language for an enterprise application. There is a lot that went into ensuring everything still worked, including all dependencies, and that performance was acceptable. Maybe heap options needed to be changed because of how GC changed.
According to wikipedia: Java = 1995, Ruby on Rails = 2004
Sun was right on the money when they claimed that "the network is the computer". They were just a decade too early.
My guess is Apple just doesn't want the hassle of dealing with it and/or this is temporary while they get their hardware set up
Apple are most likely wanting to concentrate on their core competency (making the iCloud product) and not have to worry about (more) data centers/storage/etc to support the product.
As others mentioned it sounds like a good win for both parties; Apple get to concentrate on the product directly, Microsoft get to concentrate on their code competency (providing the hosting).
No, not at all. They also have support for Java, Ruby, and PHP.
For this next bit, see my disclaimer below. The blog post mentions windows.net. That is the domain for the Windows Azure storage services (blobs, tables, queues, etc). In specific, the headers mentioned seem consistent with a storage request made to the blob service.
Disclaimer: I used to work on Windows Azure until a few weeks ago on strategic adoption among other things so I have to put this here. This is no comment on whether the OP's blog post is accurate or not, on any Apple-Microsoft relationship, etc.
Actually, you should hire experts before building the datacenter
[1] http://arstechnica.com/apple/news/2011/02/apples-nc-data-cen...
Also it might not be a good idea to start testing your inhouse cloud infrastructure with a high profile product like iCloud that is likely to attract quite a few users in coming months.
I think it absolutely makes sense to do the development and initial launch with outside services and then later on maybe migrate to your own data centers and own cloud stack.
Microsoft is, in many ways, lots of little companies that all live together. If the Azure business unit makes money from Apple, it doesn't really matter if the Windows Live teams are failing in their products.
The oft-mentioned great thing about cloud services is not having to worry about managing hardware. Leave that to the people that are really good at it, and build your business on top.
[1] http://news.netcraft.com/archives/2003/08/17/wwwmicrosoftcom...
Face it, this would be a big deal for any other large company. When a tech giant builds his latest project on out-of-house infrastructure, how can this be good? At best, it is a waste of development resources (when it is temporary), At worst, it is a business risk/reliability nightmare waiting to happen (when this is their final infrastructure).
Every enterprise builds on infrastructure owned by others. That is what contracts are for. What matters is the degree of lock-in and who controls the roadmap. And the whole point of modern "cloud" infrastructure is that you don't own the hardware, you don't have the capital costs of the datacenters, you have a nice temporary lease that you can nonrenew or perhaps even break if needed, and your internal architecture is probably generic enough to be ported to another cloud if needed.
it boasts of some freakishly fast ability to shuffle 2.7Tb between 75 servers in 27 seconds...
Anyway, what other big cloud providers are out there -- ones that aren't direct competitors to Apple? Amazon's AWS is out of the question, as Amazon competes directly on those hot multimedia and e-book markets with Apple. Google's stuff, too, as Google is a major competitor on mobile and multimedia markets. Microsoft doesn't seem to directly compete with Apple in the hot markets -- at least not until they squeeze some Windows Phones from Nokia.