Call | E-mail


The Art of Technical Documentation

[Projects Portfolio]

When a company introduces something new into their operations, such as Linux servers in an otherwise Windows shop, the procedures that have been served until then are not able to meet the needs of the new environment. People do not typically value documentation except when they suddenly need it, and then its value is inestimable. Documentation that is thorough and understandable is very valuable when implementing new servers as it is with any new product or project. Documentation provides a road map to keep everything on-course and working properly.

Writing documentation is a creative endeavour, even when it comes to technical writing. Even engineers do not benefit from dry, uninteresting material. Using precise yet colourful language and using illustrations where appropriate to make or highlight points can all add to the reader's comprehension of the material presented.

To best document a product or project the writing should start before or shortly after the work begins, then add detail during the work, and be finally reviewed and edited after the work is done. In cases where a product or project is already completed or well underway, simulating a repeat of earlier steps is often the best way to make sure the documentation is thorough.

2010 Automation and Documentation Project

In 2010 one of Canada's large multi-national enterprises in New Brunswick needed a Linux expert to develop plans, procedures, and policies for the addition of the first hundred Linux servers to their network. Having no in-house expertise, they sought a Senior Red Hat Linux Consultant and chose ISP Ltd. and Angelo Babudro.

We provided definition, analysis, research, reporting, and ultimate implementation in the areas of:

  • Automated method for rapid Linux server deployment
  • Server & network infrastructure monitoring
  • Configuration management
  • Software management at both the server and enterprise level (i.e., how to manage software on servers and how to manage an in-house repository to hold all approved software)
  • Server security (e.g., firewall, intrusion detection, etc.)
  • Central authentication integration with existing Active Directory server

In all of the above areas documentation was a primary product of the effort and was about half of each day's work. Hand-in-hand with writing documentation was the testing of procedures, development of various methods to accomplish goals, and researching industry standards and established best practices.

This role focused exclusively on the software side of Linux. The hardware (as well as the Linux distribution) were fixed parameters of the work. The software packages installed, configured, tested, and documented to achieve the client's goals included these:

O/S Installation Automation

  • Kickstart
  • ksgen (a custom Perl application that ISP Ltd developed for them)
  • Cfengine

Configuration Management

  • Cfengine
  • BCFG2
  • LCFG
  • RHN Satellite
  • Puppet
  • Chef
Of the above, Cfengine was determined to be the best choice, and was the only product to be fully installed, configured, and documented.

Software Management

  • Cfengine
  • RHN Satellite
  • Spacewalk
  • Subversion + WebDAV
Both Cfengine and Subversion were implemented.

Server Monitoring

  • Zabbix1
  • Nagios/Icinga
  • OpManager
  • Zenoss
  • SCOM
  • SNMP
  • IPMI
Zabbix was the product chosen.

Software Repository Management

  • Mrepo
  • Reposync
  • RHN Satellite
  • RHN Proxy
  • RHN
A local RHN mirror was established.

Central Authentication

  • OpenLDAP
  • OpenDS
  • 389DS
  • Red Hat DS
  • ApacheDS
  • FreeIPA
OpenLDAP was integrated with Microsoft Active Directory.

Authentication Management

  • Apache Studio
  • OpenDS
  • LAM
  • phpLDAPadmin
  • CLI

Server Virtualisation

  • Xen
  • VMware

1 After comparing all the monitoring options and choosing Zabbix as the superior option, Mr. Babudro travelled to Brasil and attended a certification course in implmenting Zabbix in large enterprises.