Synchronizing Your Life in Microsoft's Cloud
Another theme at Web 2.0 Expo this week is that the Internet IS the
computer. The “computers” that you THINK are computers, e.g., the
various devices we use to interact and do our jobs, are simply
that—devices—that are connected (on and off) to the REAL computer in
the sky—the CLOUD. The concept of cloud computing isn’t new, but it’s
been getting a lot of attention recently as Google announced its App
Engine and Amazon dramatically increased the storage and utility of its
Elastic Cloud. I listened in anticipation as Microsoft’s Amit Mittal
unveiled Microsoft Mesh at Web 2.0 Expo.
This first instantiation of Microsoft Mesh is a fairly simple concept. It’s a utility that lets you synchronize all your contacts, calendar entries, music libraries, and file folders across all of your devices. Right now, these are Windows devices, and soon they’ll be Mac devices. Next, add your set-top box, mobile phone, PDA, and your car’s music library.
It’s not too surprising that Ray Ozzie, who brought us the best offline/online synchronization services as instantiated in Lotus Notes, would out-Lotus IBM with this “replication/synchronization in the Microsoft cloud” utility.
It’s also interesting to note that Microsoft’s first mesh application is about “my stuff”—synchronizing my stuff and sharing my stuff with trusted colleagues. Eric Schonfeld’s post at Tech Crunch offers the best current description of the Microsoft offering and strategy:
“A hundred of Ozzie’s engineers have been working on Mesh for the past two years. At launch, it may not seem like much more than a combination of Windows Live SkyDrive and FolderShare, but under the hood it is an ambitious platform play. Mesh is really aimed at developers. Not only does it provide a framework for syncing files between devices, it can also sync applications. The way it does this is by using a two-way RSS or Atom feed developed by Ozzie called FeedSync, formerly called Simple Sharing Extensions.”
“The basic foundation of Mesh is this feed-centric programming model. A Web developer can build an app using any programming language or tools he likes (Python, Ruby on Rails, Flex) and then sync it across devices and other applications using two-way feeds as the basic data and communication channel. The promise for developers, says product unit manager Abhay Parasnis: “If you Mesh-enable your application, we will let you extend it to other devices.”
“Microsoft is offering a set of Mesh APIs that include storage services, membership, sync, peer-to-peer communication, and a Newsfeed feature that tells users the status of different folders and who’s accessed them. The same programming model works whether a developer is building an app for an offline device or for the Web.”
“In many ways this effort is a counterweight to what we are seeing with Adobe Air or Google Gears, which are efforts to take browser-based apps offline. With Mesh, Microsoft is in effect reasserting the primacy of client-based applications. They need not be Windows-based, but I’m sure that won’t hurt. Developers can customize their apps for whatever device they originally reside on—whether it is a PC, a smartphone, or a set-top box—and then Webify them by syncing them to other applications across the Web. These apps could be more powerful than apps confined to a browser-like sandbox without giving up the connectivity of the Web.”
Schonfeld goes on to compare the LiveMesh replication feature to Geni—a non-Microsoft synchronization service. He also quotes from Ray Ozzie’s internal positioning of LiveMesh to Microsoft’s employees and describes Microsoft’s developer strategy. Take a look at his analysis and description as well as the flood of comments that are already pouring in.
Cloud Computing: Clouds Gathering Rapidly—Are You Taking Advantage of the New Computing Utility in the Sky??
Who will win the hearts and minds of software developers, SaaS hosters, corporate application developers, and enterprise CIOs? Will it be the recently announced Google App Engine, Amazon’s recently expanded Elastic Cloud, or Microsoft’s offer of “we’ll keep track of all your information, applications, and devices for you, as long as you register them all with us?”
According to one of my Pioneers, Scott Jordan, a nano-optics inventor from Physik Instrumente, “I’ve been surprised about how much Google is entering the conversation for enterprise applications.....
“Here are some takeaways from a few conversations:
- Corporate customers are interested in using Google apps in their architecture;
- But there’s a hang-up—they’re wary of hosting things in Google’s cloud;
- However, these IT managers are very interested in cloud computing even though it seems a bit academic right now;
- I’ve heard at least four IT types say Google isn’t ready for the enterprise, but a Google App Appliance would get them off the fence. I’m convinced that an App Appliance would be the ingredient that could put Google on the enterprise map.”
Another Pioneer, Pat Kerpan, offers a great run down on what Cloud Computing means for developers (independent and enterprise developers) in his “Cloudy Weather Ahead” blog post. He compares the Amazon and Google approaches:
“Amazon - Its cloud is based on virtualization with Xen base containers. Anonymous servers, anonymous services, simple web API, nominal SLAs. But it is simply awesome if your use-case fits. By the way, CHEAP!
Google App Engine - Python version 2.5.2, "the datastore," Google Accounts APIs, URL fetch, email services, Django support, and a simple web framework "webapp." And did I mention CHEAP! Free for use by the first 10,000 developers to sign up. As best I could tell, the 10,000 accounts were gone in about 20 seconds.
Look at the descriptions of these two real world services. They are not the stuff traditional data center solutions are made of. I can just see various IT types listing their objections to Google's new offering:
- Python mathematical routines are nowhere nearly as "performant" as Perl
- Django is nowhere as easy as Rails
- "The datastore" doesn't implement ANSI SQL - in fact, what the hell is this GQL?
- Email API only let's me send messages - I MUST be able to read them
- Webapp is not sophisticated enough for me
- I need to compile a C library for use on the piece of hardware where it will run
- I am concerned about SLA's. I need guarantees! I won't agree to the Terms of Service!”
But, as Pat Kerpan points out, if you want to “get with” the new Cloud Computing paradigm, you need to simplify.
“Clouds don’t care... Your complexity is not their problem. It’s your problem....
Each of these two clouds provide a lot if you are willing to be cheap, flexible, and creative. While complex types sit back and complain - those who take advantage are going to prevail. Look at evolution; big, fat energy inefficient organisms usually don't evolve to become nimble, energy efficient creatures. They go extinct and make way for the next wave of situationally optimal lifeforms.”
So, bottom line: start using cloud computing. If the computer is in the sky, that’s where your computing services should reside.