-
Notifications
You must be signed in to change notification settings - Fork 43
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
Integrate OAM as a 4th layer action that also covers delivery #154
Comments
I don't think OAM, as it currently stands, is something that can be trivially implemented in an agnostic way. Unlike what the authors (presumably, Alibaba) propose, the model is not completely independent:
The first point is key: throughout the specification, the "OAM runtime" is referenced as the entity which is responsible for realizing the OAM configuration. In the case of the authors, this (currently) exclusively refers to Kubernetes. The second point is particularly alarming, considering new tools are being introduced almost daily to address the madness that is colloquially referred to as "YAML hell." It appears this project isn't immune, see here for an example of trying to reference values across definitions. That being said, I still think there's a lot that can be learned from the model to further our own understanding. As a short review:
Relating this to the current model being used by A component also seems to bring in layer 4 as well. The output of a component (the schema) is directly consumed by the OAM runtime and used in conjunction with the workload type to deploy the component to an environment. For example, in a Kubernetes runtime, a component may use a deployment workload and output a deployment object which is then consumed and executed by the Kubernetes runtime. There appears to be no direct correlation between traits/scopes to anything described in All this is to say that the OAM specification seems to be incompatible with the current paradigms being used by |
First thanks for your deep insights, are really valuable for me. I'm very agree with you there is a k8s smell all around the project. I also have detected some designs you analyzed have changed a lot in KubeVela side. For instance workloads and scopes were de-facto deprecated. Now all implementation lays into ComponentDefinitions. Also policy and workflow were introduced. AFAIK the main places to find last improvements or good samples are:
About |
Thanks for your response. I knew there were some deprecations, but I didn't realize how much had been deprecated. The terraform example still uses The divergence between the OAM specification and Kubevella is also slightly worrying. It seems one is iterating at an order of magnitude faster than the other. I think I would prefer to wait for greater maturity before adopting this model as a maintenance point for For the |
I understand:
EDIT: Note that this comment hint stuff is functionally equivalent to the Standard Registry under
|
I'm still trying to piece together exactly what runtime is in the context of OAM. I think it might be synonymous with "scheduler", in which case we'd have to pick a scheduler to start with and potentially have multiple runtimes to support other schedulers. Unless you're suggesting we create our own scheduler :) |
Sure, official kubevela doc shows workload attribute is only used to model certain platform capabilities but can be omitted: https://kubevela.io/docs/platform-engineers/oam/x-definition |
I'm still trying to understand OAM/KubeVela well, I'll summarize some key points I've discovered:
About
Edit: Something similar in Porter roadmap: https://github.com/getporter/porter/projects/4#card-52677173 Disclosure: I'm not hardly positionated favor OAM, but I'm developing a Devops suite using |
We cae leave this out for now ad even remove from the backlog so that we can focus on more near-term features / todos |
https://oam.dev/
Based on this hint, I realized that this is a super useful abstraction to very effectively quell the vendor-specificity of the 4th layer.
/cc @disassembler @manveru @nrdxp
The text was updated successfully, but these errors were encountered: