Advice for Putting Your Directory Service into Production

   

You should consider a few more things before you execute your production plan. In this section we present some advice to help you avoid mistakes others have made.

Don't Jump the Gun

The most important advice we can give is this: Don't try to put your directory service into production until you're ready . The biggest mistake people make is to skip one or more essential design steps. Usually the result is a deficient , hard-to-maintain service. If you do skip a design step, you might need to go back and perform the step you left out and then redeploy your entire service. In the long run, the time you save up front by skipping some of the directory design work will be greatly outweighed by the aggravation you cause yourself and the users of your service.

The other major preproduction task that many are tempted to omit is the directory service pilot (described in Chapter 14, Piloting Your Directory Service). A pilot is the best way to prove your directory design and learn what it's like to run a production service. By creating a pilot service and heeding the lessons learned, you greatly increase the chances of success for the production service.

Maintain Focus

Another common mistake is to lose focus and forget what you're trying to accomplish. Always keep your production success criteria in mind as you proceed with your deployment. Remind yourself who your most important users are and think about what you need to do to meet their needs. Work diligently to ensure that your most important directory-enabled applications succeed. The success of your service is linked closely to the success of those applications.

Adopt an Incremental Approach

One of the running themes throughout this book is that an incremental approach is more likely to succeed than an all-or-nothing approach. This is especially true when you're rolling out a production directory service. Don't try to add too many dependent applications the first day your service is up and running. Don't tell all of your users at the same time to start using the service or the directory-enabled applications. Don't create unrealistic expectations by overhyping your service. Don't try to roll out all the replicas your design includes in the first few days of service. Adopt a phased approach and make sure that each new part of the service is working before increasing the complexity of the system.

Prepare Yourself Well

There is an old story about a passenger train engineer who was faced with a crisis. While traveling with a full complement of passengers at high speed, his train came upon a single empty freight car that someone had mistakenly left on the main track instead of on a nearby siding (see Figure 16.1). Without missing a beat, the engineer immediately increased his engine speed to full throttle . His passenger train struck the empty freight car at nearly full speed, knocking it off the track and out of the way and avoiding derailing his own train.

Figure 16.1. A Dangerous Situation

After the incident, when the engineer was asked how he knew to increase his speed rather than try to stop, he had a ready answer: "I knew how far I was from the empty car because many times in the past, as I passed by that same stretch of track, I imagined that same exact situation and thought about what I would do. I knew that if I was too close to stop in time, I should increase my speed because the impulse created by striking the empty car would most likely drive it off the track and safely out of the path of my own train. I didn't have to think about any of this at the time of the crisis because I already knew exactly what to do."

The moral of the story is, of course, be prepared for whatever might come your way. This is good advice, and you should apply it to the rollout of your production directory service. Think ahead and prepare yourself as much as possible for anything that might go wrong. Play "what if" games and consider how you will react to any situation that arises, and change your strategy if necessary. If you take time to prepare yourself, you will be able to act as quickly and decisively as the passenger train engineer did.

Potential problem areas to consider include the following:

  • Bugs in hardware or software . If these occur, you may need to adjust your design to work around the problem, or you may just need to wait for a bug fix from a vendor.

  • Flaws in your design, in software, or in hardware that lead to inadequate capacity for your service . If you can afford it, pad your resource estimates so that you have extra capacity. If necessary, be prepared to slow your rollout to reduce the load on the system until you can install additional servers.

  • Confusion of end users or directory service administrators . Be prepared to develop additional documentation and provide additional training to alleviate any confusion concerning how to use or maintain the service.

  • Unexpected hardware failures . Unexpected hardware failures lead to inadequate capacity or complete disruption of your service. If you can arrange it, have extra hardware lined up that you can borrow in the case of an unexpected failure.

  • Changes in the requirements for your service . Any major change in requirements will demand that you take a step back and consider whether you need to adjust your plan. For example, if you find out that your service must support a new directory-enabled application, you may need to reconfigure servers to add new schemas, configure additional indexes, add additional replicas, or make other changes to accommodate it.

  • Staff shortages . Shortages in staff might occur because of illness , family emergency, or people being called away to address problems in other production systems for which they are also responsible. You can reduce the pain caused by a staffing shortage by ensuring that each person involved in your directory service rollout has trained another person who can handle his tasks in an emergency.

Be realistic about the risks involved in your production plan, and think about how you will detect problems and what you will do if they occur. Make sure that you inform your management and the owners of directory-dependent applications of the risks so that they are not surprised by the problems or your actions.

For example, suppose that your design calls for you to roll out five replica servers to provide service to a busy directory-enabled mail delivery service. Consider what you would do during your production rollout if you found a critical bug in your directory service software that prevented you from creating more than three replicas. Clearly, such a bug would reduce the capacity of your service. You must decide whether three replicas would be able to handle the application load long enough to get a patch from your directory server software vendor. If not, you may need to scale back the mail service ”or possibly delay your directory service rollout entirely. Depending on the situation, any of these options might be the best choice. Thinking about the options in advance enables you to act quickly and decisively if problems occur during your rollout.

   


Understanding and Deploying LDAP Directory Services
Understanding and Deploying LDAP Directory Services (2nd Edition)
ISBN: 0672323168
EAN: 2147483647
Year: 2002
Pages: 242

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net