Big picture thoughts on software and other topics

July 18, 2007

Ayende Nails SSIS' Faults

by Brian Donahue

A while back I posted that SSIS Tries So Hard To Make You Hate It. I mentioned that I felt pretty alone in my struggles with it, as there didn't seem to be a ton of real-world advice or best practice info.  Around the time I wrote that post, Ayende had begun to post some of his pains with the product.  His recent post nails 15 things to hate about SSIS.  I have to completely agree and it's great to see someone with so much "street cred" griping about it.   Ayende provides some great details on each fault, but I've summarized here and emphasized the ones I hate the most:

  1. BAD ERRORS - More often than not, the error messages are next to useless, and/or require huge amounts of digging to figure out what is really breaking.
  2. Random Errors
  3. Keeps track of what it shouldn't
  4. Sorry excuse for deployment
  5. Security? Who needs that
  6. UI formatting instructions along side with the executable code
  7. NO THOUGHT ABOUT VERSION CONTROL - You might as well forget about sharing SSIS packages and configuration files in source control.  There are just SO many things that get in the way, from horrible file formats, making line by line compares useless (see #6, #8, and #9) to ridiculous and confusing encryption of "secure" areas of the file that your fellow developers will not be able to decrypt on their machine without some strange and confusing configuartion changes.
  8. BAD CONFIGURATION SCHEME - This is one of the most mind-blowing problems for me.  A configuration file for SSIS consists of a well-formed  XML document that is ALL ON ONE LINE with no white space between elements.  And you REALLY need to be able to edit this thing in a text editor, but good luck as it gets to be 1000s of characters long and almost all editors start to freak out trying to edit.  I have eventually started using XML Spy to edit as it can do so without breaking the format, but really, EVERY other .NET related config file can be formatted and edited in notepad.  Get with it.
  9. Random configuration scheme
  10. Bad UI
  11. LACK OF EXTENSIBILITY - Ayende really describes this well, but basically SSIS prides itself on its extensibility, but like everything else in SSIS, I don't think the Marquis De Sade could have made it any more painful.  
  12. Bad interoperability
  13. Busy work
  14. Hard to debug
  15. The missing basics