Considerations for Servers for the Software Development Environment


A side effect of an automated software development environment is that you become completely dependent on the reliability of the computing environment. If a server containing all your requirements, change requests, or configuration managed files fails, you lose access to all the artifacts stored there. This means an entire team becomes less productive, or possibly completely unproductive.

Requirements for Servers

Many tools supporting the software development process use databases. For most installations, database performance is not a bottleneck, because the demands placed on the database server tend to be intermittent. The key feature for the database server is to use disks in a Redundant Array of Inexpensive Disks (RAID) configuration. If a disk drive crashes, you want to avoid any downtime if possible. The ideal configuration is a RAID configuration in which online spares are maintained. With this technique, if a disk drive fails, the server storage controller detects it and automatically begins using the online spare disk. An alert or alarm is set so that system administrators can replace the faulty disk. On most servers with this configuration, the users never even know a disk failure occurred. In general, memory and I/O performance are more important than raw CPU speed, so if funds are scarce, focus on memory and fast disks. If possible, redundant power supplies are recommended. If possible, an uninterruptible power supply (battery backup) is useful to allow a graceful shutdown of the servers in the event of an extended power failure. They can also prevent shutdowns in the event of a short power spike or brownout. Even a very short power glitch (enough to cause the servers to reboot) can result in an hour of lost time across the entire team.

Other Considerations

Don't forget to include the cost of backup software and media when setting up a server. This is more critical than it may seem at first. For example, many databases must be locked, or quiesced, before a backup can be made. The files may be open for writing while being quiesced, so the backup tool must be able to copy files open for writing. Don't forget to store a copy of the media off-site so that it will be available in the event of a major mishap, such as a fire. The backup strategy should be tested to ensure that the development environment servers could be successfully restored when needed. Don't wait until a disaster occurs to find out your backup strategy has problems!

Another important consideration is security. If you create a project Web site or deploy software development tools that can be accessed over the Internet, be sure to use best practices for security. It would be a serious embarrassment if the project Web site became the victim of a hacker. In addition to embarrassment, important information could be corrupted or destroyed. Not only is this a setback for the project, but it could compromise your customer's business secrets, as well as those of your company.




Project Management with the IBM Rational Unified Process(c) Lessons from the Trenches
Project Management with the IBM Rational Unified Process: Lessons From The Trenches
ISBN: 0321336399
EAN: 2147483647
Year: 2007
Pages: 166

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