margo / specification

Margo Specification
https://specification.margo.org/
Other
23 stars 5 forks source link

Decision Tracker - Workload Management Interface Rest API #21

Closed ajcraig closed 1 month ago

ajcraig commented 2 months ago

Purpose The goal of this Issue is to establish a Margo member consensus decision on baseline technology utilized by a specification function. Finalizing this decision will enable the focus group to complete specification section, reference implementation, and test/compliance suite.

Proposal Utilize Rest API interface from Edge Device to Workload Orchestration Software(WOS) to enable the following functionality:

Response Options:

@margo/approvers Please respond below and consolidate your company's response to a single reply. If additional information is needed to provide your response, please reach out.

phil-abb commented 2 months ago

@ajcraig Approve Proposal

stormc commented 2 months ago

Remark: We need to have some sort of command & control channel and this commonly is REST for Edge systems, so fully agree.

hsinghcg commented 1 month ago
adamqiu-emerson commented 1 month ago
tomcounihan commented 1 month ago

As someone new in, and for potentially future new people, can someone direct me to the decision criteria applied here? For example, its hard to talk about REST without gRPC being mentioned -I'd like to understand the discussion, if any, had on these choices. Is there a reference that can be shared? What would happen if I wanted to create devices that used gRPC - would that render them inoperable with Margo Management functions?

phil-abb commented 1 month ago

@tomcounihan gRPC was mentioned previously and the request was for someone to put together a proposal for why gRPC would be a better option than REST.

I'm not too familiar with gRPC but I have some specific concerns:

If someone would like to put together a presentation showing the value of gRPC over REST/OpenAPI I would be interested in learning more.

hsinghcg commented 1 month ago

+1 for the reasons/points listed by @phil-abb above. Additionally, there have been discussions around Content Inspection/Data Leakage Prevention proxies being used in some environments. How well gRPC would play with those is also something to be assessed.

adamqiu-emerson commented 1 month ago

Echoing what @phil-abb mentioned, the implementation of gRPC (HTTP/2) on constrained edge device and other network infrastructure may encounter challenges in OT environment. Although for the use case of observability (OTEL) in the other discussion, grpc is supported transport along with http/protobuf.

tomcounihan commented 1 month ago

@phil-abb - the first point I'm not sure how one would put metrics around to make a meaningful measurement. For the second - that is valuable information - can you list the tools? My gut is saying if companies are focused on network security it would be in their fiscal interest to expand the protocol suite to expand market - but a list of typical products would give some insight there. On the 3rd, that statement can lead to a valuable info for the community. Can you point to the existing rest APIs so I can look, along with some info on the 'very small' position. For new-to-industrial, this type of tribal knowledge is invaluable. warm regards, t.

phil-abb commented 1 month ago

@tomcounihan

For the second - that is valuable information - can you list the tools? My gut is saying if companies are focused on network security it would be in their fiscal interest to expand the protocol suite to expand market - but a list of typical products would give some insight there

I don't have any specific tools in mind but from some of the information I've read this seems to be a potential concern, especially when dealing with different types of proxies being used. For example: here, here, and the downside of gRPC mentioned here

If, as part of Margo, we are using a protocol that may require end-users to make changes to their network configuration, or not work at all, it is a risk we need to take into account. This is a point where I'm interested to hear what people's experience have been with using gRPC in OT networks.

On the 3rd, that statement can lead to a valuable info for the community. Can you point to the existing rest APIs so I can look, along with some info on the 'very small' position. For new-to-industrial, this type of tribal knowledge is invaluable. warm regards

We've talked a lot about this in previous meetings and @ajcraig PR is starting to document the Workload Managment API. This is what we've talked about so far for workload management:

srberard commented 1 month ago

Remark: We should also consider what encodings/content-types are required as this will have an impact on implementation and compatibility. RESTful APIs often support the use JSON encoding.

ajcraig commented 1 month ago

Consensus has been reached, closing out this decision tracker as it is part of the pre-draft specification.