Given our rules about names, we could actually construct cleaner URLs. The core idea would be to concatenate names with ., and use that as a global identifier, as we can fully resolve the entity through it.
<org>.<app>.<component>
netflix.website.api
If we want to allow resolving container groups, we can also allow that:
This approach to naming would introduce a few neat things:
We could expose this over the GraphQL API as a way to fetch data without requiring nesting. For example, given netflix.website.api, we can fully resolve the component, but not require fetching underneath the organization { application { component } }.
We could leverage this in routing to make much cleaner routes. For example /applications/netflix.website/components/api, or even /applications/netflix.website.api.
If we ever wanted to, we could even have a unified API that returned a union of Organization | Application | Component | ContainerGroup, and just took in the dot-separated identifier to accomplish this.
Given our rules about names, we could actually construct cleaner URLs. The core idea would be to concatenate names with
.
, and use that as a global identifier, as we can fully resolve the entity through it.If we want to allow resolving container groups, we can also allow that:
This approach to naming would introduce a few neat things:
netflix.website.api
, we can fully resolve the component, but not require fetching underneath theorganization { application { component } }
./applications/netflix.website/components/api
, or even/applications/netflix.website.api
.Organization | Application | Component | ContainerGroup
, and just took in the dot-separated identifier to accomplish this.