Points of failure in small business software systems
A Business Continuity Plan (BCP) is an oft-forgotten, but critical piece of software planning. Ensuring your business doesn’t go under when disaster strikes is an important part of building resilient software systems.
The amount of work that needs to go into planning for disaster recovery boils down to the criticality of the systems involved.
Databases
Databases storing critical customer or business information need backups, preferably done nightly. Additionally, you should know how to restore these production databases from their backups so that you know exactly what to do when things hit the fan. We call this a “runbook” because it lists everything you need to know to go from “my database is hosed” to “we’re back up and running”.
Personnel
Believe it or not, when planning software you need to consider what happens when personnel changes happen. When Bob leaves the company, what happens to all the systems he has administrative access to? What about his root AWS account; how will we swap the owner of our infrastructure over? Consider anyone critical to your business and consider how their leaving might impact your ability to run the business.
🔑 Key Takeaways
A resilient business needs to be able to recover from disaster.
Databases are a key point of failure that should be accounted for with backups and recovery runbooks.
Personnel changes are points of failure when key people with understanding and access are no longer with a company. Account for this with continuity planning, “How can we lessen the impact of this person not being here?” Documentation goes a long way toward fixing this.