Pages

Monday, 8 April 2013

Where are the IT Ops 'Gang of Four'?


The A-Team were infamous for their problem solving. Most problems involved guns, baddies that were exceptionally bad at using guns and cars that flip over when the wind blows. However this is not the gang that inspired this post...

The ones I'm referring to came to fame around 20 years ago. Some experienced software developers realised that a there were a lot of architectural problems that were common to the software design. If you were building a web based ticket system, you would face issue like how to map objects (tickets, users, groups) to tables in an SQL database. Or how separate the user interface code from the application logic so that UI changes didn't require changes to the application logic and vice versa. They called these challenges 'patterns' and four people wrote a book called "Software Design Patterns - Elements of Reusable Object Oriented Software". The authors names were Erich GammaRichard HelmRalph Johnson and John Vlissides, and in software circles they are known as the 'Gang of Four' (GoF). The book was a massive success in defining strategies to solve common problems and spawned a wave of books and software frameworks to explain and implement the patterns. 

As a result developers could be more productive because they spent less time re-inventing solutions. It became easier to built better quality applications because they already had proven building blocks to get started. 

So I thought that perhaps this is what's missing in the IT Operations scene, a definition of common problems and the best practices in solving them. In my experience, the best practices employed to deploy software services or servers varies from person to person. I still get mad when when I find Linux servers deployed with a single root partition for all the data - AARRGGHH!! I think there's a danger that we'll always be seen as hackers until we can bottle the expertise, distribute it, and build upon it.

But that just what I think. What are your thoughts?