Naming standard for infrastructure
Having a good naming scheme makes it easier to decide on names for new infrastructure and communication. The current naming scheme has a few drawbacks:
- Almost all servers are called *-dev1
- Only communicates 'location', not a purpose
- Not always applicable
Although the main topic is the naming scheme, it's closely related to our DMVPN network setup as well.
As we are currently redeploying quite some infra at the moment, now is a good moment to decide on a new / modified naming scheme.
Current naming scheme
The general naming scheme is: <site>-<function><n>
. where <site>
is the iso-3166 alpha-3 code of the location followed by a sequential number.
In practice, the function would always be dev
for 'device'.
This comes from a time where almost all infrastructure servers were running lxc with containers. These lxc servers are then connected to each other with DMVPN. An important concept in DMVPN is the site. A site would have a router which would tie the LAN to the WAN. Each site would then get a subnet that the router would use.
As the server that we have are not connected to each other via a LAN (they are geographically different), each server is a dedicated site (with a /24 vpn subnet).
Considerations for new naming scheme
- Support both basic infra servers (builders, application servers, etc) as dedicated servers (gitlab, DMVPN)
- Although for DMVPN purposes we will need to assign sites to certain hosts, should they be part of the naming standard?
- Should we use descriptive names or some naming scheme (pets versus cattle?).
- If we want to include the function in the name, what abbreviations should we use.
- Do we want / need to connect everything to the DMVPN?
CC: @clandmeter @psykose