Tuesday 20 May 2008

sizing, accuracy and money

I went to see a new prospect today who was able to openly describe the difficulties they had in getting sizing right for new architectures. One of the biggest difficulties was in being able to communicate with their customer on workload projections; another was in being able to communicate to the service support teams the impact that these workloads would make to their environment. Net result? Systems which are over-specced in some tiers; and suffering from performance problems in others. Admittedly, some of those performance problems were non-predictable; but even focusing on the over-sized capacity could save them money.

How much?
Typical TCO for a typical small server can be around €10k EUR or £8k GBP - per annum; if you pay for this yourself you might see this broken down into categories:
12% hardware + 8% software + 9% installation + 60% operations support + 11% service/maintenance

For accounting purposes; assets like compute capacity are often written down over a 3 year lifespan; so that typical small server would have a total cost of €30k EUR or £24k GBP

All of a sudden; eliminating a few servers can start to result in big savings! Taking 10 small servers out of your datacentre this year will save you €300k EUR or £240k GBP.

mailto:robert@limbrey.net for more on TCO calculation.

Wednesday 14 May 2008

Non-predictable performance problems

Some aspects of performance are predictable. Study a horse-racing form guide and it will give you historical information that gives you some clue about how fast a race the horse is likely to ride. However, it's no guaruntee that your chosen bet will win the race - there are many other non-predictable aspects to performance that have some influence. Here, I'll list a few; and leave this topic to more scrutiny in further posts:

1) there's nothing as unpredictable as a person. Whether they're customers; staff; suppliers or jockeys; a person can behave completely erratically without a moment's warning. When assessing performance of systems where people are involved; statistical analysis of interaction patterns is very important.

2) bugs; gremlins or glitches. These quality deficiencies of imperfect systems will certainly affect performance, and since they are a consequence of design and creation - but thereafter hidden - then they will only become apparent when they choose to manifest themselves. Secure yourself with solid engineering processes; and test your systems before deploying!

3) acts of the Almighty. Often referred to in insurance contracts, 'Acts of God' can strike you when you're least expecting it - and blow performance completely out of the water. A flooding, lightening strike or simple UPS failure can all knock all or part of your system down; and cause service performance to degrade.

However; remember that many other aspects of performance are absolutely predictable. You may expect that performance for a system may degrade if you start adding more and more users. Consider the time spent queuing at the Post Office - you spend more time in the queue when more and more people arrive; this aspect of performance is predictable - provided you profile performance well enough. Consider these aspects as predictable:

1) performance degrades when load increases. Add more workload to your system, what happens? System will start to slow down. This degradation happens because throughput is nearing a capacity limit - and can be predicted.

2) performance improves when you upgrade your system. Add more or faster capacity to your system, you'll find it can take more workload - and often perform faster too. This can be predicted.

3) performance changes when you change your system. Whether you change your business processes; add new services; change to a new service provider or re-organise your underlying resources - performance can change, and can be predicted.

So predicting performance does have a place in a well-organised business; though due to non-predictable performance problems; predictions by themselves still don't give you all the answers you need.

Wednesday 7 May 2008

Do you 'model early, model often' ?

I was speaking with a services partner today, who coined the phrase 'model early, model often'. We were discussing performance assurance from early in the lifecycle, working with loosely defined designs, and incomplete data.

We already know that modelling is a great way of predicting an outcome, but we can't take the results of a model seriously unless we're always updating them with the most current information. Calibration, and recalibration will ensure that your models retain their value throughout any extent of time - and as designs and business processes become developed, capturing their changing profile within your model-universe will keep your future vision accurate and always useful