Scale to everywhere

hingo's picture

MySQL being acquired by Sun has of course put a lot of focus on the success of MySQL so far, but it is also interesting to think what success will mean as part of Sun too. In this light a recent interview of MÃ¥rten by Business Review Online about the acquisition was inspiring. (As words from MÃ¥rten usually are!)

"It's a marathon, not a sprint," he said. "If a 15-year-old downloads MySQL now, when do we get our money? In about 15 years' time when he is head of IT at a company and he loves MySQL. But in many cases it will happen sooner than that."

"In open source we say fail fast, scale fast. Many web 2.0 ideas will fail, but when Google or Facebook [two of MySQL's biggest customers] get it right they suddenly need to scale like crazy," Mickos said. "Open source is the only model where they can scale fast on exactly the same code base; it's the same product. All of the [commercial] database players have free versions, but when you need to scale you need a slightly different version [of the database]."

So the magic formula is, your product should be able to scale to all of the following circumstances
- A 15 year old who is learning to program
- A College student who is learning to program
- Both of the previous in their hobby projects
- Startups with no money
- Startups with funding
- Small companies
- Medium companies
- Large corporations
- Really intensive use, like Wikipedia, Google, etc...
- ... you get the picture

The point being, that that 15 year old kid, is one day going to be a CIO or Architect at one of those big companies and then he will be your customer. But you won't get there unless your product is also the best choice for his hobby project.

This is of course where Open Source is beating traditional software production. Lately, Microsoft and Oracle have been starting to give away gratis "Express" or "Light" versions of their software. However, this is often unappealing against Open Source, where you can have "The Real Deal" from the start. (It should be noted however, that Microsoft has traditionally been quite good at scaling towards the low end. Much better than most other old software companies.)

From this I came up with the following graph which illustrates the various life cycles of scaling. On the Y-axis we have small vs big, while on the X-axis we have growing, flat and declining. (In other words, Y is a position and X is a dynamic.):

             Large companies
                   |
                   |
                   |
Declining -----<Flat>------ Growing
                   |
                   |
                   |
             Small / Private

Examples: So on this graph, Google would be top right. OpenLife.cc would be bottom center, well we have grown slightly recently, after I joined Planet MySQL. And I guess US mortgage loans are up left?

So now the question for an Open Source company is, how much of that area are you covering? You must start at the bottom with the 15 year olds. Then you must especially be able to support the bottom right angle, where you have enterprises that are still small but rapidly growing. And eventually (though not necessarily in the beginning) you must be able to quickly grow up to the challenge of growing with them to the top right corner. From there you'd think it should also be quite easy to service the top center and top left categories, but not necessarily so. Surprising with MySQL is, Google and other high tech companies are ok with using the product of a small company like MySQL, yet the companies center and left have a different mindset and culture, they are used to live in a more calm atmosphere. So they often continue to use Oracle, and now Sun(!) even though MySQL most likely technically would had been appropriate a long time ago.

One interesting question of course is, how interested should you be in the customers to the absolute left of that graph? Well, the bottom left corner is uninteresting, because if you are small and declining, then you basically don't exist anymore.1 But the top left corner very much exists, so should you service them or not? The answer IMHO is that you should serve them (aka take their money), but you should not focus or invest on them, because 5 years from now, they might not be your customers anymore. This is good to emphasize, because some of these companies might be big customers to you today.

Now that we are part of Sun, another interesting way to look at this is to compare some other Sun technologies to this. Traditionally you may think of Sun as a provider of very high end hardware, and probably that's correct too. So that would position Sun in the top half of the graph. But today you can also get Intel and AMD servers with Linux from Sun. Maybe not low end, but definitively not as high end as previously. In fact Jonathan Schwarz has been stressing Sun to go explicitly for the markets bottom right, the theory is, growth markets are even better than big markets.

Java is good example of something that is used almost all over this graph. It even satisfies the "College kid" category, because it is used a lot in universities as the language for teaching object oriented programming. Yet it is not that prevalent with the 15 year old kid - at least I didn't understand any of it as a teenager, I needed the university course to get started. Contrast this to Perl, a language I was programming in for many years before really understanding anything of it :-) Also Java is not the best language for rapid development techniques, which you'd want to have at the bottom right were you have little resources but need to get going quickly.

XKCD comic where GOD hacks the universe together with Perl

  1. 1. This reminds me of a book on data mining I once read. It had a story about a telecom operator, who was focusing a lot of marketing activity on one customer segment of elderly people, that the data mining product had pinpointed as high risk for loosing them as customers. Later they found out that the customers in this category were dead, no wonder they had stopped paying their bills!

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Allowed HTML tags: <h1> <h2> <h3> <h4> <p> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br> <sup> <div> <blockquote> <pre> <img>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically. (Better URL filter.)

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.