oam-dev / spec

Open Application Model (OAM).
https://oam.dev
Other
3.03k stars 246 forks source link

Add "Standard" WorkloadType #303

Open abchow opened 4 years ago

abchow commented 4 years ago

As per discussion of the "OAM Resource Composition Proposal" on 2020-01-28 community meeting, since workload such as Serverless Function and VM are supported via Extended WorkloadType, by not enforcing schema on Extended WorkloadType, there will not be a standard for these workload types across OAM Runtime providers and will lead to support issues in the future.

The proposed solution is to add a new category of WorkloadType - Standard WorkloadType.

Some of the suggested Standard WorkloadType are Serverless Function and VM.

ryanzhang-oss commented 4 years ago

Thanks Abelard. I think we will incorporate this into our new spec. However, I wouldn't say it's a new workloadType but more like a new group/category of workloadType.

abchow commented 4 years ago

Thanks Ryan. Let me update the description.

mnbf9rca commented 4 years ago

Did this get anywhere? does anyone have any example schemas for standard or extended workload types like serverless functions (azure functions), Azure Data FActory Pipelines, Azure Webapp etc.?

resouer commented 4 years ago

@mnbf9rca Can't speak for MFST, though we have AlibabaCloud FaaS workload (extended) as below:

apiVersion: core.oam.dev/v1alpha2
kind: Component
metadata:
  name: function-frontend
spec:
  workload:
    # this is a real FaaS workload in Alibaba
    apiVersion: faas.alibaba.com/v1
    kind: Function
    spec:
      runtime: java8
      timeoutMilliseconds: 3000
      blobCodeUrl: http://xxx/f36286e6-f070-498f-a520-6dd3a589bd90
      env:
        - name: debug
          value: "true"
      resources:
        cpu:
          required: 1
        memory:
          required: 2048M
      triggers:
        - type: http
        - type: metaq

The controller to make it runnable is still under process of open source.

We don't have many standard workload today, but we are very open to know any workloads candidate the community is interested in and define them.

mnbf9rca commented 4 years ago

that's really useful, @resouer Do you know if MSFT is still contributing to OAM? I havent seen any commits from MS since March.

resouer commented 4 years ago

@mnbf9rca Actually both Alibaba and MSFT are now more focus on the OAM k8s implementation rather than spec, we intended to keep spec stable and less frequent change. For example, this is the issue Azure folks recently tackling on: https://github.com/crossplane/crossplane/issues/1480

Btw, hope to see you in upcoming OAM community meeting Tuesday 10:30AM PST (May 19th) on https://zoom.us/j/271516061. Amazing ppl from MSFT, Alibaba, Upbound.io, Huawei and more are debating application model/definition every two weeks 😄 .

mnbf9rca commented 4 years ago

Thanks - I wasn’t aware of crossplane, which looks like exactly what we’re looking for.

resouer commented 4 years ago

@mnbf9rca Yeah, with OAM v1alpha2 released, we now collaborated on oam-k8s-runtime in Crossplane as default k8s implementation. We dicuss k8s related detail in its community meeting as well.