Friday, October 16, 2009

Rubbin's Racin - Infrastructure and Apps Need To Work Together to Win

Did you ever see that (terribly) awesome movie, "Days of Thunder"? If not, watch it, it's probably on TBS right now, or just read this. . .

From my experience, Infrastructure in IT is about building a car , and Apps is about driving that car. One can't succeed without the other. Success is determined by the fans of the car and the driver. If the car wins, awesome. If the car loses, who's fault is it, the car or the driver? The fans don't care.

I like to build race cars (I am a young Harry Hogge). I admittedly grew up as a Cole Trickle, but now when it comes to building scalable computer systems I think about the infrastructure first: The network, the memory, the CPUs, the storage and the car's internal computer (you know, the middleware, the stuff that makes sure that the driver can 'safely' use all of that metal to it's fullest potential).

So who are the cars' customers? Application developers. They are the drivers. Cars are built based on the developers' requirements. But often the developers are constrained by the car provided to them. They can only turn the corner (or process transactions) as fast as the middleware (computer) will let them. They can only drive as long as there is gas (storage) in the gas tank. When they launch the car they find their racing lines in the context of what the car can handle. But whatever path they choose, it's the car's responsibility to ensure the path scales, that it's consistently available for every loop around the track.

The unfortunate reality is that most organizations put a wall up between the car (infrastructure) guys and the drivers. They point fingers at each other when something goes wrong, performs poorly or doesn't scale. You hear things like "Cole Trickle doesn't know how to drive the car the way it was meant to be driven" or "Harry Hogge's car is a piece of garbage". Or in IT terms. . . "Cole's code is waaaay too memory intensive and needs to be optimized" or "Harry's RAM allocation for our application is ridiculously low and needs to be increased."

The reality is. . .the fans don't care. They don't care if you're a mechanic or a driver, if you're on the infrastructure team or the apps team. The only thing the fans care about is if you're winning or losing. And you can't win with a bad car and a good driver or a good car and a bad driver. You need them both. One can't win without the other. And the better they work together, the happier the fans will be.

-J

0 comments: