Australian cloud for business software — built and run in Sydney since 2003

NetLeverage
NetLeverage

Internal DNS names as a production dependency between hosted applications

Technical article
Hosting

About this article: AI-assisted writing, reviewed against the cited sources. This is source research, not lab validation. Check the stated versions and your own requirements before making changes.

Direct answer: Hosted applications need each client context to resolve required names to intended, usable targets. Intentional split DNS, multiple addresses and load balancing can produce different valid answers; identical answers everywhere are not a requirement. Connection strings, WCF endpoints, licence checks, SMB paths and API base URLs often embed FQDNs. A routine DNS change—new record, renamed integration host, shorter TTL, or scavenging removing a “stale” name—can break production apps that were never on the change ticket.

This is steady-state coupling, not migration cutover or “users still hit the old server” alone.

Why it matters

DNS is designed as an indirection layer so operators can move IPs without recompiling software. In practice, LOB and ISV stacks hard-code internal zones (corp.local, apps.internal, private cloud zones) in config files, Windows services and containers. When team A edits DNS for a network project and team B owns the app, outage symptoms look like application failure: timeouts, Kerberos SPN mismatches, or TLS name mismatches when the selected endpoint does not present a certificate for the hostname the client expects.

Shorter TTLs can reduce the lifetime of newly cached answers, but lowering a TTL does not shorten answers already cached with the old value. Resolver caches and application connection pools mean clients need not adopt a change together.

How it works

The domain name system, described in RFC 1034 and RFC 1035, maps names to resource records (typically A/AAAA, CNAME, SRV). Resolvers cache answers for the TTL returned with the record. Application tiers may reuse both cached answers and established connections. A stable FQDN can acquire a new address without an application configuration change. For a concrete implementation, Microsoft documents that .NET HttpClient resolves DNS when it creates a connection and does not track DNS TTL on that existing connection. Its connection lifetime policy affects when a replacement connection performs another lookup; other runtimes need their own documented checks.

Coupling patterns in hosted Windows and Linux estates:

Pattern Risk when DNS changes
Stable FQDN in connection string New address adopted according to resolver caching and connection renewal; no configuration redeploy inherently required
CNAME alias for integration Broken chain if intermediate record deleted
SRV for LDAP/Kerberos adjacency Auth failures if SRV target wrong
Split-horizon (different answer inside vs outside) “Works on VPN, fails from app subnet”

Microsoft DNS distinguishes dynamic records with nonzero timestamps from static records with timestamp zero. Static timestamp-zero records are excluded from aging and scavenging unless explicitly made eligible, for example by assigning a nonzero timestamp. Audit the actual timestamp and zone/server aging settings before blaming scavenging for a missing integration name.

Hard-coded vs discoverable: Service discovery (environment variables, service mesh, API gateways) reduces but does not eliminate DNS dependency; the gateway itself is still a name.

What to choose and why

Name stability contract: Treat integration FQDNs as interface names. Change the record target (IP or CNAME chain), not the name applications use, unless a coordinated release updates every consumer.

Dependency register: For each hosted application, export configured hostnames (from config DB, IIS bindings, app settings) and compare to authoritative zone contents. Gaps belong on the change board before any scavenging or zone migration.

TTL policy: If a planned move needs a shorter TTL, lower it far enough ahead for previously cached answers to exhaust their old TTL before the switch. Define the transition using measured resolver behaviour and application connection lifetimes, not TTL alone. Restore the chosen steady-state TTL after stabilisation; globally short TTLs add resolver work without controlling existing pooled connections.

Test resolution from app context: A nslookup from an admin laptop is insufficient. Check from the actual application host and runtime context, including its resolver and connection reuse behaviour. Confirm each intentional DNS view reaches a permitted, usable service with the expected identity (editorial recommendation; not lab validated).

Risks and limits

This article does not replace migration cutover DNS articles or Active Directory scavenging troubleshooting guides. Reverse DNS expectations for mail and security tools are out of scope.

This is source research only. No DNS configuration or application connection policy was changed or lab validated.

Sources

Primary sources checked 14 November 2026. Procedures remain source-researched, not lab validated.

Related future topics

Sequencing identity, DNS and application changes; clock skew on identity hosts. Service context: VPC networking (related link only).

Learning notes

  1. Applications depend on names in config, not only on “DNS working” globally.
  2. Scavenging and TTL policy are production dependency levers, not housekeeping.
  3. Split-horizon DNS makes “it resolves for me” tests misleading.
  4. Stable FQDN with movable targets is the usual integration pattern.
  5. Steady-state DNS coupling differs from one-off migration cutover planning.