Know your infrastructure
When you support an application it helps to be able to recall the infrastructure behind it in your head. A fair amount of effort is needed to build this mental map. Start with the design and requirements documents but be aware that the infrastructure may have evolved since its inception. Indeed, designs can change during implementation and these documents may be out of date from the outset.
Draw your own infrastructure diagrams on paper. Boxes and lines are good enough to start with. I like to use arrows: where two components are communicating with one another in a request/response relationship (e.g. a proxy server passing a request onto an application server and expecting a response) the arrow should come from the requester; where a file is being moved from one place to another the arrow should show direction of travel.
Next, validate your diagram by checking configuration. Look in actual files on the live system for connections to other servers. Check for running processes with utilities like ps
and lsof
on *nix systems or Task Manager on Windows.
If you can get access to a QA system, switch on debug and try a few transactions and see what gets written to the logs.
Work out where software is installed, where its dependencies are, and which directories the logs are written to.
Make a note about any connections to third parties and learn as much about the service they provide as you can.
Have a curious mindset!
Study your diagrams and commit them to memory. You'll find support to be much easier and it will help you make better informed decisions in a crisis. You'll also become a valuable resource when it comes to making improvements. It is also essential for career progression and if you can clearly describe an infrastructure you have supported at an interview you will be heads and shoulders above many other candidates. So don't delay - start today!
- Previous: Service acceptance criteria
- Next: Teach to learn
