Web 2.0 Authors: Pat Romanski, Yeshim Deniz, Adine Deford, Jim Kaskade, Elizabeth White

Related Topics: SOA & WOA, Java, Web 2.0, Security

SOA & WOA: Article

Determining the Cost of Downtime

Determining the cost of downtime is not only application dependent

Last week's Joyent outage brought us thinking how many IT teams make the effort what is the meaningful downtime that will not have significant impact on their business. In this post I will not discuss this particular outage although it is a yet another good example for improving the IT practices and processes but will concentrate on an important step in the Business Impact Analysis (BIA) that is a prerequisite for Disaster Recovery - namely the Cost of Downtime.

Very often because the lack of understanding of the overall IT application portfolio the cost of downtime is calculated using made up numbers or numbers for the whole company. Each application must be considered separately and the analysis must be done per application - there is no one size fits all. For now though let's take a simple example: company that has a revenue of $5o0M and 1500 employees and experiences outage that impacts 50% of it's employees and 30% of their revenue during the downtime.

The first thing you need to do in order to calculate the cost per hour of downtime is to calculate the labor cost per hour. Let's assume that the annual benefits per employee for our fictitious company are $75k and each employee works on average 1,920h per year (assuming 2 weeks vacation and 10 holidays per year). The hourly labor cost for the company will be:

1500 employees X $75K = $112.5M / 1920h = ~$58,600

Because we previously said that only 50% of the employees will be affected the cost per our of downtime will be:

$58,600 X 50% = $29,300

The next thing that you need to do is to calculate the revenue loss per hour of downtime. Another assumption that we need to make here is that our company generates revenue 5 days a week and it is closed only for the holidays, which means that the company generates revenue 2,000 a year. From here our calculation is:

$500M / 2,000h = $250K/h

and we need to multiply this by 30% assumed loss of revenue:

$250K * 30% = $75,000

The total loss to our company for one hour of downtime is determined by combining both numbers above:

$58,000 labor loss per our + $75,000 revenue loss per hour = $133,000

However we do not stop here! Our ultimate goal is to determine how much downtime can we afford for this application. And for that you need to some more financial calculations, which involve not only the revenue but also the profits unless you want to wipe out all the profits with this one downtime. Let's assume that the company's profits are 10% and management decided that the acceptable loss of profits from availability issues with this particular application is 0.1%:

$1B * 10% profits = $100M * 0.1% = $100,000

Dividing both numbers (acceptable loss and cost of downtime per hour) gives us the maximum tolerable downtime (MTD) for the application:

$100,000 / $133,000 = ~0.75 * 60 mins = ~45 min

If you are curious such application must have uptime of 99.991445% in order to satisfy the above requirements.

The overall lesson here is that determining the cost of downtime is not only application dependent but also requires a solid knowledge of the company financials and therefore good collaboration between IT and business owners.

More Stories By Toddy Mladenov

Toddy Mladenov has more than 15 years experience in software development and technology consulting at companies like Microsoft, SAP and 3Com. Currently he is a CTO of Agitare Technologies, Inc. - a boutique consulting company that specializes in Cloud Computing and Big Data Solutions. Before Agitare Tech Toddy spent few years with PaaS startup Apprenda and more than six years working on Microsft's cloud computing platform Windows Azure, Windows Client and MSN/Windows Live. During his career at Microsoft he managed different aspects of the software development process for Windows Azure and Windows Services. He also evangelized Microsoft cloud services among open source communities like PHP and Java. In the past he developed enterprise software for German's software giant SAP and several startups in Europe, and managed the technical sales for 3Com in the Balkan region.

With his broad industry experience, international background and end-user point of view Toddy has an unique approach towards technology. He believes that technology should be develop to improve people's lives and is eager to share his knowledge in topics like cloud computing, mobile and web development.