Wednesday, February 27, 2008

Amazon EC2 - What You May Not Have Known

Amazon’s Elastic Compute Cloud (EC2) has the goal of providing flexible computing capacity in the form of a service. This service provides the user with the ability to quickly scale to the demands of an application by booting or shutting down servers in a matter of minutes. Since all these machines run in a virtual environment, you only need to pay for the resources you use. More detailed information can be found on Amazon’s EC2 home page - http://aws.amazon.com/ec2/ Much of the documentation provided by Amazon was straightforward and easy to follow so for a full walk-through see http://docs.amazonwebservices.com/AWSEC2/2007-08-29/GettingStartedGuide/. We will assume that the reader is familiar the basics of EC2.

This article focuses on the problematic aspects of EC2 - issues that can lead to serious problems or technicalities that if ignored, can lead to frustrating hours wasted on troubleshooting and debugging. We've learned that the single most important thing you can do for your EC2 environment is to give it a dynamic DNS solution it can use to overcome the DHCP nature of virtual machines. Now what can you do for yourself, you ask? Take a look at the gotchas we encountered and save yourself from dealing with the same problems.

more....

Tuesday, February 26, 2008

SaaS Architecture Maturity Model

Dharmesh Shah recently wrote about a maturity model of Software as a Service (SaaS) architectures. Drawing on previous thoughts from Gianpaolo Carraro that scalability, multi-tenancy, and customization through configuration are requirements, Dharmesh laid out 5 levels of a SaaS architecture maturity from 'Chaos' to 'Utopia' and provided his thoughts on the economics behind each one.
  • Level 0 (Chaos); Every time you add a new customer, you add a new instance of the software.
  • Level 1 (Managed Chaos): Every customer runs on the same version of the software and any customizations are done via configuration.
  • Level 2 (Multi-Tenant, Highrise): You've got all customers running on a single version of the software, and they're all running essentially on one "instance".
  • Level 3 (Multi-Tenant, Build-Out): This is when you've got multi-tenant, single version of the software model. But, you can scale-out (add buildings at will).
  • Level 4 (Utopia): This is like Level 3, except you've figured out an efficient way to run different versions of the software on different "instances".
Gianpaulo's original maturity model moved from custom version and instance per customer through single versions for all customers but each on their own instances and on to single version with single scalable instance for all customers. Dharmesh added the Utopian level in which you can also effortlessly deploy "sandbox" instances for any given customer.

Dharmesh's main point in discussing the model was:
"One of the big advantages for SaaS start ups is the opportunity to be economically efficient along many dimensions through multi-tenancy. But just because the opportunity is there doesn't necessarily mean that every start up is exploiting it equally."

The key behind the economic advantages is an architecture that uses "customization through configuration" and intelligent data partitioning. Without these two elements, you probably won't be able to move past Level 1 (Managed Chaos) and recognize the efficiencies of multi-tenancy.

Noel Huelsenbeck commented that this maturity model might not fit your organization's business model:
"Also wouldn't your price point and overall market dictate what level you end up at? There's a small chance an app like Quicken for the Web would make a customization and hence be at level 3/4 but if I'm a Fortune 500 company I would bet Salesforce.com will probably go back to Level 0 to get my business."

Commenter 'brk' made the observation that there are some big risks that come along with the big economics of being high on the SaaS maturity model. As you approach the point where all of your customers are sharing code, hardware (virtual or physical), and administration you run the risk of any small problem with a client can impact your entire client base.

original post

Monday, February 04, 2008

Why Microsoft Needs Yahoo: the Real Story

So one day, Scott McNealy, founder and chairman of Sun, read in his morning newspaper how the use of Java was rapidly diminishing, courtesy of something called 'The LAMP Stack'. Furiously, he called his accountant.

Scott: "I knew this Java thing was a bad idea in the first place! I see only one solution. We need to buy this Lamp!"
Accountant: "Euh, LAMP is not a company. It's an acronym. It's Linux , Apache, MySQL and PHP"
Scott: "Then buy me Linux!"
Accountant: "But we still have this Solaris thing.."
Scott: "Then buy me Apache!"
Accountant: "That's a foundation. Nothing to buy there."
Scott: "Then buy me MySQL!"
Accountant: "We don't do databases."
Scott: "It's a database?"
Accountant: "What rock have you been living under?"
Scott: "Sweet. I can own the Lamp AND piss off Oracle at the same time!" (waves fake plastic magic wand) "Make it so!"

And so it happened.

Ten days later, Microsoft CEO Steve Ballmer was reading the CIO Magazine, and read about this interesting thing called PHP, that according to the author you could use to write "WHAT?!". "WHAT?!", obviously a highly advanced and evolved version of "Hello World", caught his attention. So he called Bill Gates.

Steve: "Hey, you heard about this PHP thing?"
Bill: "Pee Age Pee? You're not that old yet, are you?"
Steve: "What? No, wait, it's a programming language, apparently better than ASP.NET."
Bill: "Who cares if it's better. I mean; we made the worst operating systems ever and still rule. (Checked out Leopard yet? It is SO cool.)"
Steve: "I don't know Bill... remember that internet thing that we didn't know about years ago? Kind of nearly missed the boat there."
Bill: "Right. Didn't we solve that in the same way? Worst browser, highest market share, that sort of thing?"
Steve: "Yes we did, but then we also didn't know about this 'mp3' thing until it was too late."
Bill: "We did manage to make Zune the worst player, but somehow we're not market leader. Guess we got sloppy?"
Steve: "Maybe it's just different times. Maybe we should have a different strategy."
Bill: "Ok, so let's just buy PHP then."
Steve: "It's not a company. But Encarta says it's written by a Rasmus Lerdorf."
Bill: "So let's hire him."
Steve: "Tried that. Didn't want to join. Can't blame him, works at Yahoo."
Bill: "Then I guess we'll have to buy Yahoo."

So it happened.

Two of the most controversial announcements of this month, and both appear to be part of devious plots to take over the LAMP stack. What's next? My prediction: Red-Hat buys Zend; Oracle buys Red-Hat; Sun and IBM join forces to buy Oracle, Microsoft buys Sun, kills IBM and peace is restored in the galaxy.

P.S. Can you imagine Microsoft running sites like Flickr? These guys invented MS Paint!