I recently interviewed many people for an advanced iSeries systems programmer position at my company. One qualification for the position was the ability to understand capacity planning. As I proceeded through the numerous interviews, I became increasingly surprised by the lack of knowledge that many technical professionals have in this area--despite the fact that they clearly have the skills to manage the everyday OS/400 operating tasks. One really sharp applicant informed me that he had just proposed a new iSeries purchase for his company. He confidently said, "Yes, sir, our CIO just OKed the purchase of a new $2 million system." When I asked him for the process he used during the capacity planning exercise, he boldly informed me that he used one of the well-known industry capacity planning tools. I said, "Great." And then I asked him the following questions:
- What workload did you use for your model?
- By what percentage did you grow your workload for 2004?
- Did your applications groups sign off on the proposal?
- How much will the business grow next year?
He looked at me like I was from Mars. For those of you who also don't understand the relevance of these questions, welcome to Mars. It is my goal to bring you down to earth and teach you what's involved in a successful capacity planning exercise.
The iSeries platform has a slick process that allows us to automatically tune our systems. This process is IBM's performance adjuster (QPFRADJ). It works for many shops, as it simply tunes existing memory pools and activity levels. It doesn't, however, predict what capacity your system will have in six months. It doesn't allow us to grow our workload by 50% and predict the impact to our systems. This kind of functionality is done via products like MPG's Performance Navigator or BMC's PATROL Predict. While I have my personal tool of choice, it is not my intention to talk about the individual tools in this article. The reason is simple: With capacity planning, the tool is not the most important component. It's the methodology involved in the process. Let me explain.
I'm a passionate golfer. I play every weekend and look forward to the challenge of trying to improve my game each week. During each round, I apply years of learning and experience to every golf shot. Let me be clear; I wasn't born with this knowledge. I've spent countless hours taking lessons, watching peers, and watching pros, and I've hit about a million practice balls. The point is that I've worked hard to get to the level I'm at in my golf game. Whether I'm practicing or playing in a tournament, I have a structured routine that I follow on every shot. Before I swing the club, I look at each shot and evaluate the environment:
- What is the distance to the hole?
- Do I have a good lie or a bad one?
- Do I have water, sand traps, or "out of bounds" that I need to be aware of?
- Is the wind at me or behind me, or is it a crosswind?
- If I'm playing a tournament, I consider my competitor. Should I play it safe or be aggressive?
This process is called a "pre-shot" routine. While this routine is repetitious, it accomplishes an important goal. It not only creates an environment in which I'm confident in every shot, but also employs a methodology that allows me to hit good golf shots time after time. Even though I have expensive golf clubs (my tools), my score would suffer if I didn't apply the structured methodology.
The same structured approach is applied to my capacity planning processes as well. So where do you start?
The first step in your methodology is simply understanding what capacity planning is. I've seen it defined as "the ability to predict future system growth and performance after analyzing current trends and projected workload." That is a great definition, but I would expound on it: "Capacity planning is not an exact science. It is a cross between a structured methodology and intuition that's based on experience and knowledge of the business and your systems."
When I'm trying to make a difficult shot on the course, as I do my pre-shot routine, I often recall past experiences on the golf course. In those moments, it is not uncommon for me to "just know" how to hit the shot. It takes years of experience to gain this ability. When I'm doing capacity planning, I do the same thing. I rely on past experience. I gained my knowledge by analyzing trends year after year and maintaining an understanding of the business side of the house from year to year. I had to always be in sync with what our applications teams were doing. I had to understand what management was doing. Were we acquiring new businesses? Were we downsizing?
What Are the Components of Successful Capacity Planning?
To perform capacity planning successfully, you'll require certain tools and information:
- Historical Data-- Gather your peak data. You can't predict where you're going if you don't know where you've been. This can be accomplished by using IBM's Collection Services, the OS/400 mechanism used for gathering performance data from V4R4 onward. To be safe, you must use a worst-case scenario mind set. That is, when analyzing your data, pick a time frame in which your systems are the busiest. If you fail to take a worst-case scenario philosophy, you risk underestimating future systems.
- The Right Tools--I prefer MPG's Performance Navigator, as I've had outstanding results with the product. However, you may choose a different tool. The key is to pick a tool that you fully understand and have confidence in.
- Input from Applications Development--Gathering applications development data allows you to understand the impact that future IT projects will have on your system. This process is critical. Often, the systems team is asked to provide capacity and performance tuning studies for various projects being done by the applications team. These studies can be key input into predictions. I interview key managers and supervisors so that I fully understand what application projects are expected in the upcoming year. Do we have new applications in 2004? Are we adding functionality to our existing code? These are the types of questions you need to ask. This team effort gives the application teams accountability to the process (i.e., their skin is in the game too!).
- Input from Senior Management--Understanding future business growth expectations is critical. You must know what the business side is planning. It is not uncommon to obtain future workload from acquisitions and the like. Additionally, you need to understand what the projected business growth is for the following year. Are sales flat, or are you expecting record sales?
- Analysis of Current Trends--Analyze your historical data. Is your CPU growing? Is it flat? Some trends are seasonal in nature. For example, if you work at an office products company, you'll see an increase in orders when school starts each fall. This type of knowledge is critical as you plan for future growth.
At this point, you have a sound foundation on which to run your capacity planning model. Regardless of your tool of choice, you can at least have peace of mind that you did your homework. In a sense, you've done a capacity planning pre-shot routine. Now, you can confidently take your shot at predicting future systems.
As you grow in your capacity planning expertise, it's important to remember one of the golden rules: Capacity planning is not an exact science. Despite careful planning, your predictions sometimes don't come to fruition. Even though I follow a methodical approach in golf, the ball sometimes ends up in a sand trap. I had to learn not to take it personally. If you do your homework and follow a methodical approach, you will be successful 9 out of 10 times. Usually, during the misses, a predicted factor was worse than expected. There is not much you can do about that. Think of a weatherman who has studied weather patterns for years. As knowledgeable as he is, at the end of the day, he has to make a forecast based on the facts he's acquired. The same thing is true with capacity planning predictions.
Finally, like becoming a good golfer, becoming a good capacity planner takes time. But if you follow the above methodology and have a tool that you fully understand, you can become a capacity planning pro.
Doug Mewmaw is an 18-year "jack of all trades" IT veteran. He currently works at Boise Office Solutions, a business-to-business catalog order company in Itasca, Illinois, that deals in office products. Doug has been in IT since '83 and lives with his beautiful wife (Cathy) and five children (Stephanie, Abbey, Faith, Matthew, and Andrew). While his kids think he's obsessed with golf, Doug contends that he is merely a passionate golfer. His wish is to someday watch the Masters in person. He can be reached by email at firstname.lastname@example.org.