A low-level resource is an infrastructure resource whose attributes or references are required by higher-level resources. Networks, subnets, and routing tables sit beneath dependent servers, clusters, applications, and firewall rules. section 4.1 section 9.2.1
Use low-level resources to make infrastructure dependencies explicit and changes safer:
- Expose selected identifiers or attributes through outputs rather than embedding direct references in higher-level modules. section 4.2.1
- Create or update the low-level resource first, test it, then update and test the resources that depend on it. section 9.2.1
- During monolith refactoring, extract resources in dependency order and use dependency injection to retrieve required low-level values. section 10.2.3 section 10.2.2
Moving servers to a green network
A blue-green change creates a green network with a new IP range, then deploys a cluster and servers configured for that network. The live environment remains isolated while dependent resources are tested. Changing a network attribute in place could otherwise affect the existing cluster and servers. section 9.2.1 section 9.2.2
Figure 9.6 After creating the network, a low-level infrastructure resource, you also need to create new high-level resources like the server and container cluster that depend on it.
Shows the dependency stack from a low-level network to higher-level servers and a container cluster. section 9.2.2
