Complexity and Building Enterprise Clouds
By jasoncatsun on Nov 11, 2008
One of my employees is working on some modeling projects -- trying to model the data center "as is" vs deriving the model from a "perfect" state where choices are somewhat removed from the scenario. I mean the data center is architected in specific ways that allow or disallow some functionality -- you see this in very large sites, like Google and Yahoo. They have several major architecture patterns where many or most services confirm to those patterns. You want to deploy? You conform.
This battle is often up hill. The last 20% of a solution is the area that you spend the most time on, convincing others of the design or that "good enough" will trump perfect. But I think we need to get over that -- we can't afford not to.
Graffiti is a good example. Hand writing recognition was very hard, companies failed trying to figure this out. Did they constrain the problem (thus the solution) enough to progress to something that works without a whole bunch of "change?" Jeff got it right -- fix the few letters that cause the problem (i vs L) and constrain the problem. He found a solution. We've gotten a bit more flexible today but its still the core thinking in the industry.
What problems can we solve today if we limit the choices, give a way a little control, and are able to take technology to the next level?
UPDATE: Forgot the Jason Corollary: "Impossible" exists only because we haven't stated or re-factored the problem so it is "possible."