How available is your car?Published on: Author: Joanna Schrap Category: IT development and operations
I imagine that you need your car every day. You get in, strap your seatbelt on, turn the key and the engine starts purring as you drive to your destination.
Every 30 000 km’s, according to your warranty contract, your car needs a service. Sometimes, things really go bad – an accident or something breaks. So you take it to the garage and then… ?
Well, it depends:
1 how long can you get by without that car?
2 is a rental car ok?
3 should your car have 2 engines to ensure it always runs? a bit of imagination is required
4 is a standby car available for you 24×7 to continue without skipping a beat?
So it is with your business accessing data on a database. Periodically (every 30 000 km’s) a planned maintenance window is required to which you’ve agreed to in the Service Level Agreement (warranty contract).
However, when things really go wrong:
1 how long can your business get by without that database?
2 is a temporary workaround (rental car) ok?
3 should there be 2 physical servers (2 engines) for the database so that it always runs?
4 is a hot active standby database (standby car) in a remote location required, to ensure that data is always available in case of a disaster (a total loss of a car in an accident)?
As with all things, the answer lies in your business requirements and the impact that an unplanned outage of that specific system has on your business. Simply put, how much money will you lose if the database is not available? This can be measured in terms of sales orders or loss of productivity. Another impact could be “loss of face” in the case of a public service site. How will such a loss affect your business?
An important factor that needs to be considered is how likely (risk) is it that your system will become unavailable due to unplanned incidents? This depends largely on the chosen architecture, how well it has been implemented and the operational change control process.
My most important lesson in implementing any of the above solutions, is to test it with the application running, before going live. This test should be a delivery item of the project before transitioning to the operational team. If it is neglected, as often projects are “late”, then what guarantee does the customer have of ensuring that his requirements are going to be met?