As soon as the directory service is in production, there are costs associated with maintaining the directory server hardware and software and the directory data. Costs also are associated with supporting end users and scaling the service to meet the needs of a growing company that is developing and deploying new directory-enabled applications. Software Upgrade CostsWhen your directory service is in production, you may need to invest in software upgrades from time to time. Upgrades may be needed for the following software packages:
Reducing Software Upgrade CostsTo reduce software upgrade costs, you can use two techniques: negotiating the best price for the upgrade, and deploying the upgrade efficiently . When negotiating a price for the software upgrades, the same principles apply as when you make your initial software purchase. Volume discounts may be offered , so it is wise to purchase all your upgrades at once or negotiate an arrangement in which you commit to a certain number of upgrades over a set period of time. In some cases, your company may already have site licenses or support contracts in place that either cover the software you need or can be modified to include it at a nominal cost. The second way to reduce costs is to deploy your upgrade in the most efficient manner. For example, if you need to deploy a new directory-enabled client application to all your users, certain approaches allow you to minimize the amount of staff time required. You might produce a self-extracting archive that users can install themselves (many software vendors distribute their applications in this manner anyway), or you can use one of the enterprise management packages (Tivoli, for example) to automate the distribution and installation of software packages on end-user computers. Of course, for certain types of software, such as server software or Web-based applications, the number of places you need to install the upgrades is small, perhaps only a few servers. In that case, streamlining the installation process does not improve efficiency by much. In the case of server software, however, you can reduce overall costs to the organization by performing the upgrade in a way that provides the least disruption to end users and business processes. For example, you might schedule the upgrade during off-hours, when users will not be inconvenienced by unavailability of the directory. Be aware of any automated data maintenance processes that might also be scheduled during off-hours, and make sure that these processes either can tolerate a temporary directory outage or can be rescheduled to occur after the upgrade is complete. Hardware Upgrade and Replacement CostsAs the demands on your directory increase, you may find it necessary to add additional capacity to existing servers or replace them entirely. The types of upgrade or replacement costs you may incur include the following:
Reducing Hardware Upgrade and Replacement CostsJust like negotiating a good initial price for your server hardware, you should try to negotiate the best price for upgrades and replacements , purchasing in larger quantities where possible. If you've purchased server hardware that can be upgraded, it may be significantly cheaper to add CPUs to an existing server than to add and manage a second server. Of course, this approach makes sense only if your directory service has become CPU-bound. If your server is I/O-bound, adding another CPU won't be much help. Costs for hardware can be amortized over the lifetime of the equipment so that the entire cost of new hardware or upgrades need not be paid in a single fiscal year. The same principle can also be applied to software purchases and upgrades. Finally, you may be able to recover some of the costs of your old equipment by selling it. Monitoring CostsProper monitoring of your directory service requires upkeep of your monitoring tools as well as ongoing staff costs for responding to directory problems. The following are some of the monitoring costs you may incur:
Reducing Monitoring CostsTo reduce monitoring costs, leverage any existing network management infrastructure that might be present in your organization. For example, instead of designing your own directory monitoring system that runs in parallel with an existing monitoring system, integrate your monitoring with the existing NMS. Doing this not only allows you to avoid reinventing the wheel, but it also provides a central focus point where your users and maintenance staff can go to learn about all system failures. Data Maintenance CostsMaintaining the data in your directory, which is discussed in Chapter 18, Maintaining Data, is one of the most important ongoing activities you will perform. Good maintenance of your directory ensures the quality of the data, which in turn improves the usefulness of your service. Here are some of the data maintenance costs you may incur:
Reducing Data Maintenance CostsTo the greatest extent possible, automate your data management systems. The way you accomplish this automation will vary depending on how your data is managed. This section presents a few ideas. If your directory is routinely updated from a central source, such as a human resources database, automate the update process as much as you can. By using automatically scheduled processes to perform the updates, you free up staff to concentrate on tasks that are more useful. Make sure, however, that the update process provides useful diagnostics when problems are encountered and that someone periodically reviews the diagnostic output. For more information on updating directory data from external sources, see Chapter 7, Data Design. It's likely that your external data sources are themselves undergoing development and modernization; you should be prepared to deal with such changes. Whenever possible, make data transformation tools flexible. For example, suppose that you need to develop a tool that transforms a table of ASCII data into an LDAP Data Interchange Format (LDIF) file for import into the directory. If you can make the mapping from column locations to attribute types table-driven, you can accommodate changes in the width of the columns by simply updating a table instead of changing the program code. Whenever possible and desirable, delegate responsibilities for updating data to departmental administrators or even end users. Of course, such delegation is possible and desirable for only certain attributes, but it may make sense to make those groups responsible for some data updates. Delegation distributes responsibility for data management across the organization and reduces administrative burden . It also improves the quality of the information in the directory by improving its timeliness. If you do allow departmental administrators or end users to modify certain attributes, make sure that you deploy easy-to-use tools for this task. An application should validate the values that the users enter and reject invalid data with a helpful message that describes the appropriate format for the data. Backup and Restore CostsKeeping your data backed up, as discussed in Chapter 17, Backups and Disaster Recovery, is important. Safeguarding your mission-critical data involves the following costs:
Reducing Backup and Restore CostsOne obvious way to reduce backup and restore costs is to use an existing backup system if one is already in place. If all your servers are backed up across the network to a central tape drive, backing up the directory servers to this system will be cheaper than deploying a new backup system. However, you might decide to purchase and deploy a backup system instead of using an existing system. In that case, when comparing expenses for various backup solutions, consider the cost of the hardware and the cost per byte of the media. In some cases a backup device that costs more may actually be less expensive to operate over the long term because it is able to store more data on each individual piece of backup media. Tape libraries, although more expensive, can manage multiple tape cartridges automatically and reduce the amount of operator intervention required. Backups protect you against catastrophic data loss. They can also be used to allow end users to recover from incorrect changes made to their own directory entries. However, performing restore operations for end users can be time-consuming and expensive; most backup software does not even provide access to individual entries in a backed-up directory. Usually the entire directory must be restored to a different location and the required entries extracted. In general, avoid setting expectations that backups are to be used for anything other than recovery from catastrophic data loss. Whatever backup approach you decide on, consider keeping several days worth of daily backups on disk so that if it's necessary to restore data, you don't need to retrieve a backup tape. Disaster Recovery Plan CostsA well-designed and well- tested disaster recovery plan can protect your critical business processes from certain types of disasters, including floods, earthquakes, and fires. Development and execution of a disaster recovery plan are expensive; but compared to the potential catastrophic business losses that could accompany a disaster, the development costs seem much more reasonable. For more information on disaster recovery, see Chapter 17, Backups and Disaster Recovery. Here are some of the costs you may incur for your disaster recovery plan:
Reducing Disaster Recovery Plan CostsIt's certainly possible to design a comprehensive disaster recovery plan that will protect you against most types of disasters and have your business processes back in service quickly. However, the costs of such a plan may be prohibitive. A cost-effective DR plan takes into account the likelihood of each type of disaster. For example, you might be deciding where to locate a cold standby location for your data center. If you are situated in an area prone to earthquakes, it probably makes sense to locate the backup site far enough away that it's unlikely that both the primary and the backup sites would be affected by a single earthquake. On the other hand, if your location is not subject to earthquakes (or other large-scale disasters such as hurricanes), you can save money by locating your backup site relatively close to your primary site. In the event that a disaster does render the primary site unusable, it will be less costly to transport your staff to the backup site if it is nearby. Also consider the acceptable time for putting a backup site into service. Maintaining a hot site certainly offers the quickest turnaround , but a hot site is also significantly more costly than a cold site to maintain and test. If it's acceptable to incur 48 hours of downtime with a cold site versus 4 hours with a hot site, you can save money by using the cold backup site. Beyond the disaster plan itself, another way to save money is to weigh the relative costs of contracting with a DR solutions provider versus providing the backup sites yourself. If your organization has only a single location capable of supporting a backup site, it may make more sense to contract with a DR solutions provider. On the other hand, if your organization has several locations with high-speed network connectivity, sufficient power and backup generator capacity, and enough physical space, you may be able to design and deploy your own backup site at a lower cost. For more information on DR, see Chapter 17, Backups and Disaster Recovery. Support and Training CostsSupport and training enable your end users and directory administrators to use and maintain the directory more effectively. Here is a wide range of options for providing training and support, with associated costs:
Reducing Support and Training CostsWhether your organization provides an in-house help desk or contracts with an external provider of support servers, providing your end users with better information can significantly reduce the number of support calls. Here are some suggestions for doing this:
Support and Maintenance Contract CostsKeeping your directory system running smoothly is much easier if all your hardware is functioning correctly and your software is up-to-date. The types of support and maintenance contracts you might purchase include the following:
Reducing Support and Maintenance Contract CostsHardware maintenance contracts vary widely in terms of turnaround time. If you have sufficient extra capacity in your directory service (perhaps you've deployed some replicas and have spare capacity), you may be able to tolerate a longer turnaround time for repair or even use a depot service arrangement. If your organization is large, it may make sense to provide your own in-house service as just described. If you have sufficient knowledge in-house to consider this option, you may find that it is significantly less expensive than purchasing a service agreement. Finally, as with the other major purchases you make to deploy your directory service, purchasing support and maintenance agreements in larger quantities may offer some benefits when you're negotiating prices. Costs of Adding New Directory-Enabled ApplicationsPlanning to accommodate new directory-enabled applications and additional load is vital to your directory's continued success. Understanding the costs of these enhancements, which are described in the following list, is therefore also necessary:
More information on directory-enabled applications is available in Chapters 21, Developing New Applications, and 22, Directory-Enabling Existing Applications. Reducing Costs of Adding New Directory-Enabled ApplicationsWhen adding capacity to your directory service, use the same techniques you used to obtain the best price for your original hardware. Also be sure to purchase appropriate hardware for continued growth. For example, if you know that in the future you will need 100Mbps networking to your servers to handle your directory traffic, don't make a large investment in 10Mbps technology that will have to be replaced . You can reduce ongoing costs of application development by using sound software engineering techniques. Try to develop reusable components that can be shared by your developers. For example, you might be able to avoid reinventing the wheel by developing or purchasing a utility library that contains code common to all directory-enabled applications. This library can be distributed in binary form and linked with new applications. If bugs are found in the library, they can be fixed by the library maintainer, and a new library can be distributed to the application developers. |