Archive for the 'Technology' Category

Another Example Of Google App Engine’s Strength

Check out http://bigtable.appspot.com/

It’s basically a REST interface to the Google BigTable database service that is included with Google App Engine. This is simple, yet powerful stuff. And, this is just another example - see my earlier post on creating a simple blog engine on top of this infrastructure.

So, yeah. Your Google App Engine application could be an extension of some piece of the Google infrastructure. There are certainly some practical limitations here (like the current 500MB storage restriction).

But, at this stage, the right things are happening. We’re playing with the capabilities that this PaaS provides, and figuring out, along the way, how we can use it as a piece of the utility. Is this stuff hard? Here’s the quote:

Exciting times, to be sure.



code.flickr - Open Source 1-Stop Shop For Yahoo! Flickr

image Taste the rainbow.

The Yahoo! Flickr team has their own Open Source code repository now, known as code.flickr. Here’s the announcement.

The Subversion tree currently only has the source to their Flickr Uploadr tool, written in XULRunner, but that’s a great start. The Flickr API is a beautiful thing. And, I’m happy that quite a few other sites have copied the basic structure of this Web Service API. Makes it easy to mash up solutions from web data. Hmm. Tasty. And simple. Like Skittles.

Flickr is currently processing about 700 API calls per second across 109 public API methods. Nice.

IPython on Mac OS X 10.5 Leopard

Some interesting things have happened recently that have caused me to spend way too much time writing Python code:

  • Google App Engine was release with native support for pure Python web applications. It’s now really easy to write and deploy Python applications that are extremely scalable on top of a solid (and portable)  infrastructure.
  • Apple released Mac OS X 10.5 Leopard, and included support for Python as a first-class citizen in its Xcode development tool (which lets you develop with Xcode/Interface Builder pretty seamlessly), in its ScriptingBridge (which allows you to access AppleScript enabled applications using the goodness of Python, and not the confusingness of AppleScript), and allowing for very easy interaction with Cocoa objects (Apple’s GUI programming framework).

The net result of all this is that I’ve been spending a lot of time in Python. Surprised the hell out of me, but it’s the truth.

I have found the IPython command-shell particularly useful. It’s very well done, and has excellent documentation. Problem is, it doesn’t work so well on Mac OS X 10.5 Leopard. Your screen gets scrogged because of a Readline conflict (see the video). Here’s my cookbook for getting it to work - it’s way easier than all the other documents on the Internet lead you to believe.

  1. Installing IPython on Mac OS X is actually quite easy with the following command:
    sudo easy_install ipython
  2. Execute the command to load the right Readline library:
    sudo easy_install -f http://ipython.scipy.org/dist/ readline

That’s it. Let me know if that didn’t work for you.

Now, if you could only get Apple to include Python support in the iPhone SDK

Cassatt: The Green Data Center As A Step To Utility Computing

image ComputerWorld did a nice video interview with Bill Coleman, CEO of Cassatt Corporation, on the positioning of Cassatt as a "Green Data Center" software company as opposed to a "Utility Computing" software company. You should watch it. Some selected points raised by Bill include:

  • Cassatt is trying to build the company around what people are willing to buy today.
  • Cassatt is still a Utility Computing company. The Policy Management that we have built and is needed to do Active Power Management is the same as that needed to build a Utility Compute environment.
  • Cassatt has 25 Patents Pending (23 utility and 2 method patents - I hold one of the utility patents).
  • Inflection point in Utility Computing, going beyond Active Power Management, is 2009-2011.
  • This is a platform because it is the Policy Management Framework by which end user customers define their success in using IT.
  • The Web 2.0 stuff will be built out and there will be a huge bust - just like every decade there is a bust at the end of it.
  • During the whole next decade, utility computing will be proved, and we will have a huge consolidation of industries providing utility vanilla services.
  • What I want to be is the arms supplier. I want to pay all the utilities to take my software and run their systems, and I want to sell to the end users a policy management framework by which they succeed.

Back in 2003, Bill Coleman, Dave McAllister, and I wrote the Cassatt Business Plan that led to the Series A funding by Warburg Pincus. At that time, we wrote a 10-year business plan, which was pretty much unheard of - especially during the funding doldrums of 2002-2004. Cassatt was always set up as an unusual Silicon Valley startup, in that we knew it would take 10 years for the Utility Computing marketplace to play out. Most VC-funded startups need to get to an exit well before that time, else things get messy for the VC fund (as they start to shut it down). Warburg Pincus brought the long-term perspective to the table. Very unusual, and highly respected.

The next 5 years should be very interesting as Utility Computing slams with Platform As A Service (PaaS) slams with highly scalable/reliable systems. What Cassatt has built is not particularly "sexy", but Bill is right that there is a huge need for a Platform to facilitate all the complexity and heterogeneity. In essence, a Utility OS.

Disclaimer: I am Co-Founder, Founding EVP/CTO, and a shareholder of Cassatt Corporation.

Google App Engine Ported To Amazon EC2

imageAs expected, folks are already starting to move the Google App Engine SDK over to run on top of the Amazon Web Services system. The worry over "Google Lock-In" has been a major concern for folks getting their first look at Google App Engine. I commented on exactly that point in one of the responses to my earlier post. My feeling was that the framework would be largely portable to non-Google environments. And, it looks like I was right - way earlier than I expected to be.

Yeah, it’s not perfect.

Yeah, it’s not as scalable.

Yeah, the user ID’s are not authenticated against Google’s User database.

But, all of these can be fixed in time.

After all, Chris Anderson only spent 4 days putting this first cut together. The port is called AppDrop and is Open Source.

This means that we can all just get going with bringing great applications to Google App Engine and not worry about the portability issues now, eh? I know I won’t be losing any sleep…

Nuova Systems & Cisco: Sealing The Deal

I wrote a detailed look into the economics of the Nuova Systems and Cisco "M&A" deal (way back in October 2006) in the article: Nuova Systems & Cisco: New Corporate VC Model? Many thanks to my friend Tom Lyon for giving me an early look into what the Nuova Systems folks were up to. And congratulations to the team for completing this deal!

Fast-forward to today (April 2008) and we find that Cisco has announced that they will acquire the remaining 20% of Nuova Systems, as per their original deal. I missed it, but apparently the two firms renegotiated the deal in April 2007 in Nuova Systems’ favor "and raised the maximum potential payout of the transaction to $678 million". It was originally set to $578M. The latest announcement included additional information about the milestones of the payout:

The Nuova transaction is success-based with the total value primarily determined by the revenue of Nuova products over three measurement periods. The first measurement period will commence in early fiscal year 2010, the second measurement period will commence in late fiscal year 2010, and the third measurement period will commence in mid fiscal year 2011.

As I mentioned in my original article, I really do like this "Corporate VC"-ish model that they have created with the structure of this deal.

Everybody wins, and risk is dramatically reduced. Hats off to Cisco’s Business Development group.

I look forward to hearing more details about the payouts, as the milestones tick by (and the success of the Cisco Nexus 5000 Series).

Final note from their announcement:

Nuova was founded by Ed Bugnion, Luca Cafiero, Prem Jain, Soni Jiandani, Tom Lyon and Mario Mazzola. Bugnion is a former co-founder of VMware and Lyon formerly founded Ipsilion Networks. Cafiero, Jain, Jiandani and Mazzola are all former Cisco executives. All six founders and the company’s approximately 200 employees in San Jose and in Beaverton, OR are expected to join Cisco to continue working on data center-related projects.

Nuova will operate as an independent business unit led by Cafiero, Jain and Mazzola who will all report into John Chambers, Cisco’s CEO and chairman. In addition, to help ensure alignment with Cisco’s development priorities, Jain has been appointed as the ninth member of the development council in Cisco’s Development Organization, joining Tony Bates, Marthin DeBeer, Kathy Hill, Ned Hooper, Pankaj Patel, Don Proctor, Manny Rivelo and Jayshree Ullal.

An Example Of Why Google App Engine Will Win

So, we’ve all heard about Google App Engine by now, right?

Well, here’s a great example of how easy it is to make an interesting app, in a very small amount of code, on Google App Engine. And, have it be automatically scalable.

Surf on over to Bret Taylor’s blog. Bret is one of the FriendFeed founders.

You’ll notice that the blog is, in fact, hosted on Google App Engine. In under 100 lines of Python, there’s a start at a perfectly functional blog engine (leveraging Disqus comments, which makes complete sense). There was no rocket science involved in what Bret put together. This is just the beginning.

Of course, this specific example lets you know how easy it would be for somebody to take on http://wordpress.com with a Google App Engine hosted solution.

And, this is just one, simple example. Forum software? OpenSocial apps? Software Project Management? Wiki?

I predict a sharp increase in Python and Django book sales. Enjoy the ride O’Reilly!

Google App Engine Body-Slams Amazon Web Services

I love it.image

Google makes a strong move into the scalable web services arena with the introduction of Google App Engine. Features include:

  • Dynamic webserving, with full support of common web technologies
  • Persistent storage (powered by Bigtable and GFS with queries, sorting, and transactions)
  • Automatic scaling and load balancing
  • Google APIs for authenticating users and sending email
  • Fully featured local development environment

I had the chance to run through the Google App Engine documentation last night. It’s very well done (especially since it is just a Preview Release).

Yeah, it’s all Python, but there’s nothing wrong with that - Python Rocks.

Yeah, they want you to use Django, but there’s nothing wrong with that. Django Rocks. And, if you don’t think so, just upload any Pure Python framework and roll your own. It’s easy.

But, how does it compare to Amazon EC2 + S3 + SimpleDB?

It’s completely different.

Google App Engine is a much, much higher level toolkit and abstraction layer. Here’s how I think about it:

Amazon Web Services gives you the logs and asks you to build yourself a cabin. Amazon Web Services lets you change that cabin into a chateaux or a lodge, but you’ve got to wield the hammer.

Google App Engine gives you a log cabin and asks you to move in, invite your friends, and start to party. When the party gets too big, Google App Engine builds you a bigger cabin, chateaux, or lodge. You keep partying.

I believe the simplest approach wins.

I love the Amazon Web Services guys (and have written many articles about what they are up to). I’m a big fan. The fact is that Google App Engine is severely limited in what it can and cannot do. They sky’s the limit with Amazon Web Services, however. AWS pretty much does whatever you want. Just write some code.

Google App Engine will be wildly successful because it makes building and serving a scalable web site super simple (if you know Python).

There is a place for both tools, but Google App Engine will see so much more variety of services.

I added my name to the invite list… Pick me. Pick me. Pick me.

IDC Virtualization Forum West - Simon Crosby

image Simon Crosby, formerly the Founder & CTO of XenSource and, since the acquisition, now the CTO of the Virtualization & Management Division at Citrix, did a very nice job with the morning’s kick-off sponsor presentation at the IDC Virtualization Forum West conference.

Some takeaways that I found interesting:

  • Virtualization is not an end-goal in and of itself. Virtualization is a feature set and simply serves a role in IT Application Delivery.
  • Simon took a few jabs at VMware and, why not? Citrix/XenSource is now squarely positioned as the #2 contender. When you have the chance, you take a shot at the big boy. And, VMware is a big boy, to be sure. Simon said, “This is the year the world strikes back” (against VMware, I presume).
  • Simon also said, of one of the sleeping dogs in the Virtualization space, “Microsoft is going to radically change the environment for virtualization”. Presumably with their Hyper-V solution and their partner muscle.
  • About the movement of the hypervisor into the firmware of server (and at some point), client computers: “Where this feature ends up is still in play — in the OS, or in the hardware”. Personally, I think the answer is clear. Hypervisors are becoming commoditized and will become a component of the hardware/firmware/BIOS. It can’t be stopped.
  • Citrix will create a set of Open Extension API’s for Value Added Dynamic Infrastructure Services. Basically a way for third-parties to interact with the lower layers as part of building a truly dynamic data center (which, EVERYONE is talking about getting to at the conference) - Something that we predicted while building the business plan for Cassatt in 2003. The industry/market is absolutely catching up.
  • I think I heard that XenDesktop will be released in Q2 of this year (i.e., soon).
  • On the issue of scaling the virtual desktop infrastructure: “When I talk about scale, the Desktop scales way worse than any Data Center”. He cited a customer example where the customer has 250,000 desktop PC’s. They absolutely DO NOT want to have 250,000 Virtual Machines! The Citrix approach to scale here is intriguing (and quite likely correct): Break the OS from the Configuration from the Applications. Assemble them in real time for the desktop virtual machine. Result is 1 (or a handful) of OS images that you have to deal with and patch in order to update thousands of desktop machines. Much better scale solution.

I liked what Simon had to say about the virtualization landscape. It is very clear that the choice of Citrix as their acquirer was a good one. Lots of good synergies between the companies.

I had lunch with Simon as well, and we continued the discussion. I was impressed with his understanding of the customer requirements and political challenges to the rollout of a virtualized infrastructure.

IDC Virtualization Forum West - Part 2

At the IDC Virtualization Forum West Conference, John Humphreys, Program Vice President of the Enterprise Platform Group at IDC shared some more detailed thoughts on the virtualization markets (great presentation, BTW).

Further takeaways include:

  • Of the customers that are doing virtualization in their data centers today, IDC says that 22% of servers have already been virtualized, with an expected rise to 45% in 12 months. Note that Gartner claims that the overall virtualized server market share is 5%. Which means, to me, that there is a whole lot of headroom for virtualized server growth.
  • Power & Cooling account for $0.50 for every $1 spent on servers, or about $29 Billion annually.
  • Roughly $8 in maintenance spent for every $1 in new infrastructure.
  • “Server consolidation” is already appearing to be “old news”. Now “Desktop Consolidation” is hot - the ability to serve up the desktop client image from a central location, and all the centralized admin goodness that comes from that. IDC notes a number of challenges, like the fact that moving the desktop client images into the data center results in 20-30% cost of storage increase (I would think it would be much more, personally), due to the additional network storage requirements; There are still challenges with running the virtualized OS legally (if you are not already a Software Assurance volume pricing customer, that is; who wants to buy another retail copy of Windows just to serve it up from the central data center?); And, performance of the remote desktop protocols can be poor for some client workloads. IDC specifically mentioned Qumranet and their SPICE remote connection protocol as potentially addressing some of these performance issue.
  • Virtualization appears to be solving the complexity problems that surround the deployment of “clusters” in the data center. And, I completely agree. I’ve set up many, and they are way too complicated. And virtualizing is way too easy. Death to clusters!

My thought on the Virtual Desktop Infrastructure topic: Today’s desktop computers are extremely powerful and should not be used as dumb terminals that just do “Remote Desktop” access. You need to find a hybrid approach that allows you to use the power of the desktop client (and all that lovely disk drive space on the client). Once clients start being delivered with a built-in hypervisor (which is not too far away), you could argue that you might be able to treat the client as a server. Then, there is just the matter of managing the Virtual Hard Disk images. Using a CacheFS would be one very easy way to do so (transparent local storage that can be taken offline with automatic server-based backing I/O).

The Citrix folks have an interesting approach to this, including both the ability to “stream” an application load to a diskful and stateful Windows client, OR to deliver a server-hosted virtual machine through a remote protocol connection. Choice. Choice is good, as one size will not fit all customer environments for client desktop management. Check out the Citrix Delivery Center.