Subdomain Names of Applications and APIs¶
- Status: Proposed
- Deciders: brishe,shasca,jonfal,scocla,emmjoh,andmil
- Date: 2024-01-15
Context and Problem Statement¶
To effectively manage our expanding range of web and API applications, we need to implement dedicated subdomains. These subdomains must be distinct from any existing internal or external services, e.g., API. By utilizing these subdomains, we can clearly differentiate between web and API applications, as well as between various environments (e.g., development, testing, production) and user types (internal or external), ensuring streamlined organization and access control across our entire application ecosystem.
The user types are: internal and external The current environments are: test, qa, uat, prod, staging
The app and api names can be changed also.
Considered Options¶
Full User Type¶
| Subdomain | Test | Production |
|---|---|---|
| App Internal | app-internal-test.saif.com | app-internal.saif.com |
| API Internal | api-internal-test.saif.com | api-internal.saif.com |
| App External | app-test.saif.com | app.saif.com |
| API External | api-external-test.saif.com | api-external.saif.com |
Shorter User Type¶
| Subdomain | Test | Production |
|---|---|---|
| App Internal | app-int-test.saif.com | app-int.saif.com |
| API Internal | api-int-test.saif.com | api-int.saif.com |
| App External | app-test.saif.com | app.saif.com |
| API External | api-ext-test.saif.com | api-ext.saif.com |
Really Short¶
| Subdomain | Test | Production |
|---|---|---|
| App Internal | iapp-test.saif.com | iapp.saif.com |
| API Internal | iapi-test.saif.com | iapi.saif.com |
| App External | app-test.saif.com | app.saif.com |
| API External | eapi-test.saif.com | eapi.saif.com |
Two Subdomains¶
This may add some complexity with rewrite rules
| Subdomain | Test | Production |
|---|---|---|
| App Internal | app-int-test.saif.com | app-int.saif.com |
| API Internal | app-int-test.saif.com/api | app-int.saif.com/api |
| App External | app-test.saif.com | app.saif.com |
| API External | app-test.saif.com/api | app.saif.com/api |
Decision Outcome¶
Chosen option: Two Subdomains
Although, The two domains option adds complexity of adding rewrite rules and some configuration in the api management terraform module.
It makes the domain names easier for external customers to understand and also does not expose the architecture of (internal or external) to outside parties. The group decided this was a better long choice, so even though it adds short term complexity, it will make the intuitiveness of the intent of easier to understand long term.