Skip to content
LinkState
Go back

How much cloud belongs in your network SoT

Cloud Constructs in NetBox/Nautobot: First‑Class Objects vs. External References

Introduction

NetBox and its community fork Nautobot provide a single source of truth for IPAM and DCIM. Core models include Device, Interface, IPAddress, Prefix, VRF, Circuit, and Service. Both platforms expose REST APIs, GraphQL (Nautobot), webhooks, and an RQ job queue. Customization is achieved via custom fields, custom links, export templates, and plugins/apps that can introduce new models or extend existing ones.

In hybrid and multi‑cloud environments, the following logical networking objects are commonly encountered:

Treating a construct as a first‑class object means defining an explicit model (or reusing an existing one) with dedicated UI pages, API endpoints, change‑logging, and relationships. The alternative is to keep it as a linked external reference—storing only an identifier (ARN, URL) and relying on the cloud provider’s API for the source of truth.

The decision hinges on operational goals: visibility, change control, blast‑radius analysis, and automation integration versus the overhead of synchronizing mutable cloud state.


VPCs

Benefits of Modeling VPCs as First‑Class Objects

Drawbacks

Recommendation

Model VPCs as first‑class objects when you need strong IPAM governance, change‑control, and topology visibility. Use the existing VRF model (or a thin CloudVPC proxy) and enforce synchronization via webhooks or scheduled reconciliation jobs.


Subnets

Advantages of Modeling Subnets as First‑Class Objects

Disadvantages

Recommendation

Model subnets as first‑class objects for environments where IPAM accuracy and hierarchical visibility are critical (e.g., static or semi‑static subnet allocations). For highly volatile, short‑lived subnets, consider storing only an external reference and using a reconciliation job to prune stale records.


Load Balancer Frontends

Pros of Modeling Frontends as First‑Class Objects

Cons

Recommendation

Treat load‑balancer frontends as linked external references for most cloud‑native environments. Store the LB ARN (or equivalent) and a link to the VIP IP address (as an IPAddress object). Use webhooks or reconciliation jobs to keep the VIP IP in sync, and rely on the cloud provider’s API for detailed LB configuration.


Transit Edges

Benefits of Modeling Transit Edges as First‑Class Objects

Limitations

Recommendation

Model transit edges as first‑class objects when you need capacity planning, failure‑domain analysis, and tight integration with physical DCIM. Use the Circuit model (or a lightweight TransitEdge proxy) and synchronize attachment state via webhooks or periodic reconciliation.


Ephemeral Interfaces

Why Ephemeral Interfaces Are Usually External References

Recommendation

Keep ephemeral interfaces as linked external references. Store only the identifier (e.g., ENI ID) and a reference to the parent resource (instance, container, or subnet) if needed for troubleshooting. Use cloud‑provider APIs or streaming events (e.g., AWS EventBridge, Azure Activity Log) for real‑time visibility, and avoid persisting these objects in NetBox/Nautobot.


Summary Decision Matrix

ConstructFirst‑Class Object?Rationale
VPC✅ YesCentral to IPAM, change control, and topology; benefits outweigh sync overhead.
Subnet✅ Yes (with caveats)Granular IPAM and hierarchical visibility are valuable; mitigate churn via reconciliation.
Load Balancer Frontend❌ No (external)Feature‑rich, high churn; better to store ARN/VIP and rely on cloud API.
Transit Edge✅ YesEnables capacity planning, failure analysis, and DCIM integration.
Ephemeral Interface❌ No (external)Short‑lived, high volume; external reference avoids unnecessary overhead.

Final Note

Adopting a hybrid approach—first‑class objects for stable, governance‑critical constructs (VPCs, subnets, transit edges) and external references for volatile, feature‑dense or short‑lived items (load‑balancer frontends, ephemeral interfaces)—provides the best balance of operational insight, automation friendliness, and system performance in NetBox/Nautobot. Implement synchronization via webhooks, scheduled reconciliation jobs, and custom validation plugins to maintain consistency between the cloud sources of truth and your NetBox/Nautobot instance.


Share this post on:

Previous Post
From host_vars sprawl to an object graph
Next Post
The namespace was deleted but the traffic survived