Naming conventions for connected data/infrastructure


(Paul Drangeid) #1

I've been creating several infrastructure integrations with my internal project on Neo4J:

For instance: Vmware infrastructure, Active Directory Objects, DNS, Backups data (Veeam, Datto)
And then integrating with my Asset Management, Ticketing, RMM tools, etc.

I'm interested in beginning to share some of these procedures, but I'm curious, has anyone (or organization) adopted or set out to design some naming standards, so it would be easy for individuals to follow some guidelines and submit their own modules to a common platform (like IT infrastructure) without stepping on each-others contributions?

If not I'd love to get something started...


(Karin Wolok) #2

Hi Paul!
This is really interesting!
I'm going to move this over to Projects category. I think it might be best suited there. I'm also going to make sure my colleagues have the opportunity to check this out and see if they have any thoughts. :)


(M. David Allen) #3

I don't think so. There are a number of documents online that detail naming standards for infrastructure like servers, but I think this is slightly different than what you mean. Those are things like, "If you have a server, you should name it foo-123-bar" according to some scheme. That is, naming instances of infrastructure. I think you're after naming the infrastructure components themselves (server, gateway, load balancer, etc)

The closest thing I know of is the AWS architectural standards / reference architectures you can find here:

They tend to use a standardized (but AWS specific) language for describing a large variety of resources.

I think the extreme difficulty in this area is that at the architectural level you can refer to components abstractly by what feature they provide to the architecture (a term like this would be "load balancer" which describes something it does for the wider architecture). Then again, it might matter for you that it's nginx, or F5, or HAProxy. They might conceptually all do the same thing but they're implemented quite differently.

So it depends on what you're doing, how vendor-specific you need to be, and so on. Overall, naming and data standards are a really tough area. There's an old saying: "Data standards are like toothbrushes. Everybody's got one, and nobody wants to use yours". :)


(Alberto De Lazzari) #4

Hi Paul,
I'm working on a customer project about an IT governance tool based on Neo4j.
There are different domains: infrastructure, software, functional items/entities, resource management (external resources working on a specific application or a piece of software), and also application lifecycle management, change requests, issues, etc.

About the infrastructure part, there is a quite simple naming convention that is the "common language" they are used to adopt like the target (VMWare infrastructure) for a deployment, machine (the physical host), the subnet a machine belongs to, and the firewall behind a subnet. It's a quite simple representation but it's enough for impact analysis and to better understand the whole infrastructure and critical parts.