Hmm. We did invent our own high level XML system model at National Instruments, so I'm a big believer in the concept. I don't know if I like this one, though, as it doesn't seem to really get down to the app level (it mentions deployables but has no concept of separate apps on one system) - and it's pretty complex. Definitely "from big system vendors."
Here's my main frustration with the modelling that CloudFormation, Juju, etc. all provide. They basically always give up at some level and say "well of course you could put this on top of puppet for provisioning and then on top of capistrano to deploy your apps..." In my admittedly devops-addled mind, the whole Goddamn point is getting your apps out there. My interest wanes in a framework that doesn't address that.
Here's a presentation on how we did PIE -
http://www.slideshare.net/mxyzplk/pie-101 Basically we considered the overall system and wanted the whole thing to be addressable. Under the covers it may use different things for implementation of "installing apps" or whatever but the top level model should NOT punt on it.
We devised an XML schema with elements of system, environment, role, image, service, command, and template. Our definitions were different from TOSCA's - a service was software on board the box, and services can have relationships - so I might define a system of "my SaaS product," an environment of "production," a role of "app tier" that uses an "image" of a specific AMI, and has a "service" that is tomcat and another "service" that is a specific app "contained in" that tomcat, that also "calls" a mySQL service contained in another role.
Therefore in ONE addressing system we could reference clusters, boxes, apps, whatever. Therefore,
pie restart /mySaaS/prodAWSEast/external-services/2/tomcat
Is a request to restart the tomcat on box #2 in the external-services role in our production AWS east environment. (we also used zookeeper to know where that is...) Since the service dependencies are defined, we know what apps are affected by that restart and also that there's a mySQL dependency in the case of a larger orchestrated operation. And when you "pie create /mySaaS/prodAWSWest" all the stuff that comprises a "mySaaS" down to the apps is provisioned in the new DC.
I think the guys at NI are still working on open sourcing PIE, but at a bare minimum I'd like to see people adopting the philosophy that there's not a system model that is ignorant of apps and then separate app manifests - that is lame. "DevOps, did I stutter?!?" Why can't I model my whole system, including where the apps come from (build). Real answer, because some tools are being built out from the "systems vendors/POV" and others from the "dev vendors/POV". Quit it!
The revolution will not be televised.
Ernest