There are various standards for hostnames from complex to simple. This standard tries to achieve the following,
- Easy to use.
- Have consideration of "tying" machines together (for example, web to apps).
- Provide meaningful grouping when sorted in a list.
Samples
We start by providing some example models and see how the naming works as the system evolves.
Web Application Model
Here is a fictional registration system that would be Internet facing. As such, it will require a web server and an application server. The budget is small so the database will also reside with the application.
Phase 1
The system starts small and begins with a registration system.
Hostname | Description | Naming Convention |
---|---|---|
S1 | Host system for Registration System. | As the purpose of the host can easily change we use a generic name, S1 for system 1. |
PRD-RG-WEB1 | Runs Apache Web Server. | PRD or UAT = Production or UAT |
PRD-RG-APP1 | Runs Tomcat Application Server and HypSQL Database Server. | This has both an application and database. Because the database is portable and more easier to move, we make the judgment call to name the system APP after the more primary long term function of the server. The convention follows but notice the 1 in MGH1V1APP1. The zero visually places this server with the correspond Web Server. |
Phase 2
At this point the hostnames are not too bad. Their real value comes when the system needs to grow.
The system grows and requires a second application server to manage the load. Usually new applications are added first as they generate the most load. Here is how it will look in a sorted list,
Hostname | Description | Naming Convention |
---|---|---|
S1 | Host system for Registration System. | Existing. |
PRD-RG-WEB1 | Runs Apache Web Server. | Existing. |
PRD-RG-APP1 | Runs Tomcat Application Server and HypSQL Database Server. | Existing. |
PRD-RG-APP2 | Runs Tomcat Application Server. | The first 01 in PRD-RG-APP2 shows that the server is related to the Web Server PRD-RG-WEB1. The last number, indicates this is the next application server in the series. |
The convention naturally sorts well. If you are reading this article off of the Confluence system, click the Hostname title on the table to see the list sorted. Now let's add something new to the mix.
Phase 3
There is need for a new system for migrating users to tokens which we'll call MG for migration. Notice that we use a generic name rather than TM as the system could evolve to do other types of migrations. The system is low budget and considered temporary. As such, the customer wants to reuse the web server PRDRGH1X01WEB1.
Hostname | Description | Naming Convention |
---|---|---|
S1 | Host system for Registration System. | Existing. |
PRD-RG-WEB1 | Runs Apache Web Server. | Existing. |
PRD-RG-APP1 | Runs Tomcat Application Server and HypSQL Database Server. | Existing. |
PRD-MG-APP1 | Runs Tomcat Application Server and HypSQL Database Server. | Again the 1 in PRD-MG-APP1 indicates that it is connected to PRD-RG-WEB1. Yes, we know that web servers may connect to more than one aplication server, but most enterprise class systems (at least in banks) do not work that way (elaborate more when time). The MG indicates the systems primary function is for migrations. |
Next phase is where the naming convention really shines.
Phase 4
Over time the system becomes more critical and has grown in number of users. The client agrees to buy new hardware, introduce a load balancer and a second web and application server. Also, as with many systems the MG temporary system becomes permanent.
Hostname | Description | Naming Convention |
---|---|---|
S1 | Host system for Registration System. | Existing. |
PRD-RG-WEB1 | Runs Apache Web Server. | Existing |
PRD-RG-APP1 | Runs Tomcat Application Server and HypSQL Database Server. | Existing |
PRD-MG-APP1 | Runs Tomcat Application Server and HypSQL Database Server. | Existing |
PRD-RG-WEB2 | Runs Apache Web Server. | WEB2 is paired with APP2 |
PRD-RG-APP2 | Runs Tomcat Application Server |
If you are reading this article off of the Confluence system, click the Hostname title on the table to see the list sorted. Notice that sorted, it is very clear how the systems relate to each other.