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.
I think Google's lack of commercial terms are also going to hinder adoption for the foreseeable future. What happens if your application grows to the point where it exceeds their capacity? They don't say, which effectively means you're stuck if your application gets big.
Posted by: windpocken | October 01, 2009 at 04:47 AM
Patty,
The Google service is not "cheap" because it requires that your developers use their technology stack and their (one and only) programming language of choice. Since Python coders are not yet a commodity, and developer time is the most expensive part of any engineering endeavor, this may wind up being the most expensive possible way for a business to develop a web application.
Google's lack of commercial terms are also going to hinder adoption for the foreseeable future. What happens if your application grows to the point where it exceeds their capacity? They don't say, which effectively means you're stuck if your application gets big.
Google App Appliance will never happen -- they learned their lesson with the search appliance (which is a terrible business for them). This would remove most of the benefits of cloud computing and saddle Google with a bigger support burden which they most definitely do not want.
Posted by: Jeffrey McManus | April 29, 2008 at 01:08 PM