> So, many times a week we would wake up, see an instance dead (all critical processes locked in D-state), call Softlayer, and spend hours (literally) to bring it back up.
Wouldn't keepalived or heartbeat help with failover? If I see an instance died, I would delete it and start a new instance with a latest backed up image. I assume it would take ~15 minutes compared to relying on the support.