Most software has a profoundly inadequate concept of “health.” In order for applications to run, they must:
- have adequate resources (RAM, disk, network, CPU)
- receive cooperation from services exposed by the operating system or by network endpoints
- be adequately and correctly configured
- not be hacked
- acquire delegated privileges from users
… and so forth. And yet, most software that I’ve encountered in my career does little to see whether it’s working properly and has what it needs. Sure, it may log a catastrophic error if the disk fills up, but it makes no effort to see the problem coming or to plan more graceful recovery than a crash.
In my most recent post on cloudifying your software, I explore how cloud computing is magnifying the need to understand and to regularly check your software’s vital signs. Head on over to adaptivecomputing.com/blog and check it out.
Stay tuned for further installments of this series each Friday. As I said in Part 1, I believe that a competence with cloud–cloud-oriented programming, if you will–will be a checkbox on future tech resumes.