Naming conventions
An important aspect of the SLS organization is a sensible naming structure. As we have seen, when components are named generically, it is less likely that they will need to be renamed at a later point. However, when a component is named explicitly, it is more likely that a user who is unfamiliar with the SLS tree will understand what it is trying to accomplish.
A good naming convention strives to strike a balance between the oil and water of generic versus explicit. To borrow from the food and chemistry worlds, a good naming convention is the emulsifier that binds everything in a recipe or formula together.
Generic names
Before starting out with an SLS tree, let's try to plan out as many of the primal components as possible. As an example, a modern infrastructure may reasonably include the following components:
A load balancer
A database server
A web server
A firewall
An application code base
An e-mail server
We will start with names that reflect these primal components before moving...