What is the best practice for domain names (dev, staging, production)?

With increasing number of containers, Kuberenetes, 12 Factor, etc. It has become easier to copy an identical environment for developers, production and production. However, there appears to be no common standard for domain name agreements.

As far as I can see this, there are two ways to do this:

  • Use subdomains:
    • *.dev.foobar.tld
    • *.staging.foobar.tld
    • *.foobar.tld
  • Use separate domains:
    • *.foobar-dev.tld
    • *.foobar-staging.tld
    • *.foobar.tld

I can see up and down with both approaches, but I'm curious about what the general practice is.

As a side note, Cloudflare will not issue you certificates for sub-subdomains (e.g. *.stage.foobar.tld ).

+8
ssl paas kubernetes cloudflare deis
source share
2 answers

There are only two things in Informatics: denial of the cache and naming things.

- Phil Carleton

Depending on the size of the company.

Small businesses are usually divided into dashes and receive a substitution certificate. So they would have dev.example.com, test.example.com

Large enterprises typically create a DNS infrastructure, and service delivery processes do the job. It usually looks like

 aws-eu-central-1.appName.staging.[teamName].example.com 

They would either use their own self-signed certificates with CA on all servers, or they would have money for the SAN.

For more inspiration:

https://blog.serverdensity.com/server-naming-conventions-and-best-practices/

https://mnx.io/blog/a-proper-server-naming-scheme/

https://namingschemes.com/

+7
source share

It also depends on whether you want dev / test / staging to be accessible externally if you cannot set it this way: app_name.example.dev, app_name.example.test, etc.

+2
source share

All Articles