OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

tosca message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: Differentiating TOSCA from HEAT


 

I definitely think that those 4 concepts are quite different.

 

I have a couple more questions for clarification if you donât mind:

 

-                  Declarative orchestration

This is an intrinsic feature of a language, stating that the language declares âwhatâ should exist (or not exist). The declarative language should not spell out not âhowâ it is made. It is still declarative if the language has a way to include the means to make it exist â artifacts, interfaces.

 

Does âdeclarative orchestrationâ then refer to orchestration systems (or orchestration methodologies) that use declarative languages?

 

If a language provides âthe means to make it existâ, doesnât that language then also make assumptions about âhowâ those âmeansâ are expected to be used, in which case the language is moving into the âimperativeâ realm?

 

-                  Cloud-native orchestration

This is, as I understood Talâs slides, a subset of orchestration problems, where the systems under orchestration satisfy a set of cloud-native constraints, that allows the orchestrator to have no concept of sequencing of actions. If just one of the systems does not satisfy those constraints, then cloud-native orchestration is not sufficient to solve the problem.

Yes, we need a better definition of âcloud native systemsâ or âcloud-native constraintsâ, but the one aspect you highlight here is that cloud-native orchestration has âno concept of the sequencing of actionsâ, which I understand to mean that there are no flows, which then seems to imply that cloud-native orchestration is by definition declarative. If thatâs the case, then I still have my original question: is there more to âcloud-native orchestrationâ than just being âdeclarative orchestrationâ?

 

Tal â please provide a better definition.

 

The assumption is that all systems in the world ought to comply with the cloud-native principles, and those that donât should either be fixed or discarded as outdated technology alongside the Steam Roller and the Edison Phonograph.

 

😊

 

-                  Intent-based orchestration

On this subject we have this: https://github.hpe.com/hpsd/hpsp/files/18603/Tamburri2019_Article_TOSCA_basedIntentModellingGoal.pdf

 

I agree 100% with this definition of intent:

 

Intent modelling Intent modelling entails modelling infrastructure blueprints by specifying a highest-level goal to be satisfied, regardless of how sub-level intents or goals are satisfied.

 

To me expressing intent is to say âI need Firewallingâ instead of âI need a Firewallâ. Or âI need Load-balancingâ not âI need a Load Balancerâ.

Is your expectation that one should be able to express âintentâ in an orchestration language?

 

There are clearly cases where TOSCA can do this if the intent-decomposition is expressible as substitutions, but I also see intents and realizations of intent where TOSCA would force the designer to manually perform the decomposition of intent, and so the resulting TOSCA template would be derived from the original intent, but it would no longer express the original intent as an object in its own right. Notice that a program written in C is similarly derived from some original intent, but the intent itself is no longer explicitly present in-language. Clearly, C is not an intent-based language, and the fact that you can define and implement a function that expresses an intent doesnât make it so. It takes more to be Intent based than âbeing able to implement intentâ.

 

So unless we can prove that TOSCA with substitutions can explicitly express all possible intent, then I am not convinced that TOSCA is intent based.

 

In my opinion, âintentâ is a special case of a âdeclarative policyâ specified at the highest level of abstraction (i.e. the âbusiness viewâ using Strassnerâs policy continuum framework again). Unfortunately, TOSCA currently doesnât support declarative policies (it only supports imperative event/condition/action policies) but assuming we add declarative policies, then I absolutely believe TOSCA is intent-based.

 

Of course a firewalling intent could be implemented as an actual firewall, but I remember when OpenFlow was in fashion, and you can express a simple firewalling or load-balancing intent as a set of OpenFlow rules. Those rules are not âa Nodeâ, they get deployed on a potentially variable number of switches. So where would I put this in my TOSCA template?

I implement firewall rules as TOSCA nodes, so I imagine one could model openflow rules the same way.

 

You could solve this by pushing intent to Policies â so add in your template a âFirewallingâ Policy, and Firewalling happens. But the implementation of that intent would have to be hard-coded in the orchestrator, and so the Policy is just a name for a hard-coded functionality, it is not a language for defining the firewalling intent.

I think this can be done without hardcoding using substitution mapping couple with mapping of declarative policies

 

-                  Desired state orchestration

This is a property of an orchestrator, where the way it knows what to do is expressed in terms of a desired state of the systems under orchestration. In the case of TOSCA service creation, the âdesired stateâ can be expressed as the pair of a TOSCA specification and a set of input values. For TOSCA service destruction, I am not sure how we express the desired state of ânow that service should no longer existâ, because I am still not sure how we identify a previously created service. Basically, without having defined identifiers for deployed services, the concept of âthat serviceâ with TOSCA eludes me.

 

Yes, the concept of âidentifiersâ in TOSCA needs more discussion.

 

In the Intent paper, referenced above, there is the distinction between Goal and Intent, and I think Goal is the same as âDesired Stateâ. A TOSCA template is not a Goal, but a Goal can be created by combining a template with a specific input and an âentry pointâ (deploy, undeploy, update/modify, upgrade, â). An Orchestrator that does that can be said to be doing âdesired state orchestrationâ.

 

In my opinion, a âgoalâ can be expressed using a declarative policy. Intent is a special case of a âgoalâ: it is a declarative policy expressed at the business view layer.

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]