Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add service to the glossary #2050

Closed
svrnm opened this issue Oct 21, 2021 · 5 comments
Closed

Add service to the glossary #2050

svrnm opened this issue Oct 21, 2021 · 5 comments
Assignees
Labels
spec:miscellaneous For issues that don't match any other spec label

Comments

@svrnm
Copy link
Member

svrnm commented Oct 21, 2021

What are you trying to achieve?

The term service is an important term used at a lot of places within the spec, but there is no definition in the glossary what a service is (and what it is not). Maybe it's somewhere else in the spec and just needs to be referenced?

Additional context.
For example in k8s a service is defined the following:

In Kubernetes, a Service is an abstraction which defines a logical set of Pods and a policy by which to access them (sometimes this pattern is called a micro-service). ([source](https://kubernetes.io/docs/concepts/services-
networking/service/))

Does this definition also apply for OpenTelemetry, so it could be referenced or are there nuances, since a service could also run outside k8s and outside a container?

It would also be good to include:

  • what the difference is between a service and a service.instance (following that definition form k8s above a service instance is then one pod in that logical set?)
  • what is the difference between a service and an application or are those words synonyms?

(I am happy to come up with a draft for the definition, but I would like to understand first if there is a need or if there is an existing definition that just needs to be linked/moved into the glossary)

@svrnm svrnm added the spec:miscellaneous For issues that don't match any other spec label label Oct 21, 2021
@yurishkuro
Copy link
Member

If we don't have it elsewhere already (we might) then it's a good thing to have in the glossary. However, it's actually pretty difficult to define holistically, as the types of workloads vary greatly. Eg consider an ML training platform that lets users define training jobs - logically each job is a service, but that doesn't map to k8s definition at all since the actual workers executing the jobs may be shared. I think in my company we at one point defined a service as "something that is built with the same make target".

@svrnm
Copy link
Member Author

svrnm commented Oct 22, 2021

There are definitions in the website glossary (maybe it would make sense to have them in sync?):

Application: One or more Services designed for end users or other applications.

Service: A component of an Application. Multiple instances of a Service are typically deployed for high availability and scalability. A Service may be deployed in multiple locations.

These definitions are still recursive but are a starting point.

@ranrib
Copy link

ranrib commented Oct 24, 2021

There are definitions in the website glossary (maybe it would make sense to have them in sync?):

Application: One or more Services designed for end users or other applications.

Service: A component of an Application. Multiple instances of a Service are typically deployed for high availability and scalability. A Service may be deployed in multiple locations.

These definitions are still recursive but are a starting point.

This is a good definition. I think in general the guideline is that an application comprises 1-n services.

@jsuereth
Copy link
Contributor

jsuereth commented Nov 3, 2021

I'd be a fan of including this in the specification if you submit a PR adding it.

@svrnm
Copy link
Member Author

svrnm commented Nov 4, 2021

Sure! Let me do that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec:miscellaneous For issues that don't match any other spec label
Projects
None yet
4 participants