Elastra and data center configuration formats

I heard tonight for the first time of a company called Elastra. It sounds like they are trying to address a variation of the data center automation use cases covered by Opsware (now HP) and Bladelogic (now BMC). Elastra seems to be in an awareness-building phase and as far as I can tell it’s working (since I heard about them). They got to me through John’s blog. They are also using the more conventional PR channel (and in that context they follow all the cheesy conventions: you get to “unlock the value”, with “the leading provider” who gives you “a new product that revolutionizes…” etc, all before the end of the first paragraph). And while I am making fun of the PR-talk I can’t help zeroing on this quote from the CEO, who “wanted to pick up where utility computing left off – to go beyond the VM and toward virtualizing complex applications that span many machines and networks”. Does he feels the need to narrowly redefine “utility computing” (who knew that all that time “utility computing” was just referring to a single hypervisor?) as a way to justify the need for the new “cloud” buzzword (you’ll notice that I haven’t quite given up yet, this post is in the “utility computing” category and I still do not have a “cloud” category)?

The implied difference with Opsware and Bladelogic seems to be that while these incumbent (hey Bladelogic, how does it feel to be an “incumbent”?) automate data center management tasks in old boring data centers, Elastra does it in clouds. More specifically “public and private compute clouds”. I think I know roughly what a public cloud is supposed to be (e.g. EC2), but a private cloud? How is that different from a data center? Is a private cloud a data center that has the Elastra management software deployed? In that case, how is automating private clouds with Elastra different from automating data centers with Elastra? Basically it sounds like they don’t want to be seen as competing with Opsware and Bladelogic so they try to redefine the category. Which makes it easier to claim (see above) to be “the leading provider of software for designing, deploying, and managing applications in public and private compute clouds” without having the discovery or change management capabilities of Opsware (or anywhere near the same number of customers).

John seems impressed by their “public cloud” capabilities (I don’t think he has actually tested them yet though) and I trust him on that. Knowing the complexities of internal data centers, I am a lot more doubtful of the “private cloud” claims (at least if I interpret them correctly).

Anyway, I am getting carried away with some easy nitpicking on the PR-talk, but in truth it uses a pretty standard level of obfuscation/hype for this type of press release. Sad, I know.

The interesting thing (and the reason I started this blog entry in the first place) is that they seem to have created structures to capture system design (ECML) and deployment (EDML) rules. From John’s blog:

“At the core of Elastra’s architecture are the system design specifications called ECML and EDML. ECML is an XML markup language to specify a cloud design (i.e., multiple system design of firewalls, load balancers, app servers, db servers, etc…). The EDML markup provides the provisioning instructions.”

John generously adds “Elastra seems to be the first to have designed their autonomics into a standards language” which seems to assume that anything in XML is a standard. Leaving the “standard” debate aside, an XML format does tend improve interoperability and that’s a good thing.

So where are the specifications for these ECML and EDML formats? I would be very interested in reading them, but they don’t appear to be available anywhere. Maybe that would be a good first step towards making them industry standards.

I would be especially interested in comparing this to what the SML/CML effort is going after. Here are some propositions that need to be validated or disproved. Comparing SML/CML to ECML/EDML could help shade light on them:

  • SML/CML encompasses important and useful datacenter automation use cases.
  • Some level of standardization of cross-domain system design/deployment/management is needed.
  • SML/CML will be too late.
  • SML/CML will try to do too many things at once.

You can perform the same exercise with OVF. Why isn’t OVF based on SML? If you look at the benefits that could be theoretically be derived by that approach (hardware, VM, network and application configuration all in the same metamodel) it tells you about all that is attractive about SML. At the same time, if you look at the fact that OVF is happening while CML doesn’t seem to go anywhere, it tells you that the “from the very top all the way down to the very bottom” approach that SML is going after is very difficult to pull off. Especially with so many cooks in the kitchen.

And BTW, what is the relationship between ECML/EDML and OVF? I’d like to find out where the Elastra specifications land in all this. In the worst case, they are just an XML rendering of the internals of the Elastra application, mixing all domains of the IT stack. The OOXML of data center automation if you want. In the best case, it is a supple connective tissue that links stiffer domain-specific formats.

[UPDATED 2008/3/26: Elastra’s “introduction to elastic programing” white paper has a few words about the relationship between OVF and EDML: “EDML builds on the foundation laid by Open Virtual Machine Format (OVF) and extends that language’s capabilities to specify ways in which applications are deployed onto a Virtual Machine system”. Encouraging, if still vague.]

[UPDATED 2008/3/31: A week ago I hadn’t heard of Elastra and now I learn that I had been tracking the blog of its lead-architect-to-be all along! Maybe Stu will one day explain what a “private cloud” is. His description of his new company seems to confirm my impression that they are really focused (for now at least) on “public clouds” and not the Opsware-like “private clouds” automation capabilities. Maybe the “private clouds” are just in the business plan (and marketing literature) to be able to show a huge potential markets to VCs so they pony up the funds. Or maybe they really plan to go after this too. Being able to seamlessly integrate both (for mixed deployments) is the holly grail, I am just dubious that focusing on this rather than doing one or the other “right” is the best starting point for a new company. My guess is that despite the “private cloud” talk, they are really focusing on “public clouds” for now. That’s what I would do anyway.]

[UPDATED on 2008/6/25: Stephen O’Grady has an interesting post about the role of standards in Cloud computing. But he only looks at it from the perspective of possible standardization of the interfaces used by today’s Cloud providers. A full analysis also needs to include the role, in Cloud Computing, of standards (app runtime standards, IT management standards, system modeling standards, etc…) that started before Cloud computing was big. Not everything in Cloud computing is new. And even less is new about how it will be used. Especially if, as I expect, utility computing and on-premise computing are going to become more and more intertwined, resulting in the need to manage them as a whole. If my app is deployed at Amazon, why doesn’t it (and its hosts) show up in my CMDB and in my monitoring panel? As Coté recently wrote, “as the use of cloud computing for an extension of data centers evolves, you could see a stronger linking between Hyperic’s main product, HQ and something like Cloud Status”.]

9 Comments

Filed under Automation, CML, Everything, IT Systems Mgmt, OVF, SML, Tech, Utility computing, Virtualization

9 Responses to Elastra and data center configuration formats

  1. The issue with standards, is if they’re started before a working example of the resulting system is built, they tend to become political or mere marketing hype.

    Having lived through this decusion process, I can tell you that at 3tera, where our ADL (application description language) has been in use for almost two years, we decided not to use other standards because they weren’t up to the task. They specified a great deal of detail but without creating the necesary boudary around an application that enable you to manipulate the end product.

    Bert

  2. Thanks for the comment Bert. You are correct about the dangers of trying to innovate in a standard rather than in an implementation. I, for one, have some sins to atone for in that domain.

    In this blog entry, I am not saying that ECML/EDML should necessarily be made available as standards. I am just pointing out that they are not, and as such should not be called “standards”. You can’t have it both ways.

    I am very interested in learning more about ADL. I find a bunch of links to an ADL specification on your Wiki, but clicking on that link only returns this error: “The page you requested is not available. It has either been removed or it is available only to 3Tera partners”. Which is it? Is there an updated public link or is the spec only available to partners?

    I would also be very interested to know what existing specs you considered at the time and what were your key requirements. Assuming you can and care to share more on this.

  3. Sorry for the bad link, we moved our site onto one of our grids a couple weeks ago from a hosting platform one of our partners had provided to us and in the process we evidently broke something. I’ll have someone look into it. If you shoot me an email at bert at 3tera dot com I send you a working link.

    We didn’t publish ADL initially for user consumption because to our knowledge no one had ever attempted the type of application level portability that we wanted to accomplish. Rather than manage existing gear, we were looking to package distributed systems into first order entities. Therefore we were concerned that we might have to revamp ADL periodically, causing users to have to rewrite code. ADL was a means to an end rather than a product in itself. After a year plus into production, though, it’s been very stable and we’ve found that users do want to see it and be able to edit it directly so we’ll be making it more visible in the production system.

  4. Stu

    Hi William,

    I’ll try to answer a few questions. (Standard disclaimer that I speak for myself here).

    > Does he feels the need to narrowly redefine “utility computing” (who knew that all that time “utility computing” was
    > just referring to a single hypervisor?)

    There’s a difference between “term in concept” vs. “term in practice” — different people have certain connotations associated with an image. I think the Wikipedia entry for cloud computing shows why the new term has emerged, though I agree it remains to be seen if it sticks or if the traditional “utility computing” label is more appropriate.

    >Basically it sounds like they don’t want to be seen as competing with Opsware and Bladelogic so they try to redefine > the category.

    Of course, that never happens :-) Hello, Workflow -> BPM, EAI -> ESB, Portals -> Blogging Frameworks, Metadata Repositories -> CMDBs, Directories -> Identity Management….

    I guess the point is that technology evolves in weird ways that synthesizes prior approaches while it blazes new trails. So, there’s bound to be overlap with that’s come before, but the question is whether the new angle is sustaining the traditional approach or disrupting it? Naturally, cloud computing providers believe there’s a level of disruption at play here, beyond “just another way” to do provisioning & runbook automation. Part of this disruption is economic and has to do with the level of abstraction being offered — holistic services instead of tangled underpinnings. Another part of the disruption is the change in architecture — “everything goes, we’ll discover it for you” vs. one that assumes the Web’s architecture as central. Time will tell how this plays out.

    > So where are the specifications for these ECML and EDML formats? I would be very interested in reading them, but
    > they don’t appear to be available anywhere. Maybe that would be a good first step towards making them industry
    > standards.

    I think I’ll echo Bert’s comments that a) other standards aren’t up to the task, and b) one doesn’t want to drive a standard too soon, especially in an evolving space.

    Generally building “one modeling language to rule them all” to be a fools errand, especially when many such attempts have largely gone nowhere, and that even in the modestly successful areas, interoperability is minimal. My vote is that “SML/CML” will try to do too much at once, but I’m prepared to be pleasantly surprised.

    The current direction of EDML, for example, is as a hypermedia markup language, not necessarily a modeling language. I think that’s a different approach vs. other emerging standards in this space.

    In cases where a language is targeted at a similar set of bounded goals, I could see great benefits. I could see a future where we compare notes between 3Tera’s work and Elastra’s work, pick the best union, and together evolve a standard out of that, for example. But it will be some time before that makes sense.

    > Maybe Stu will one day explain what a “private cloud” is. His description of his new company seems to confirm my
    > impression that they are really focused (for now at least) on “public clouds” and not the Opsware-like “private
    > clouds” automation capabilities.

    Well, I think to be a “cloud computing provider” you do need to have a firm direction on the “future way of doing things”, which we bet are public clouds, with one’s feet on the ground on “how things are”, which is what private clouds are about.

    > Maybe the “private clouds” are just in the business plan (and marketing literature) to be able to show a huge
    > potential markets to VCs so they pony up the funds. Or maybe they really plan to go after this too.

    We really plan to go after this too, this year, in fact. The work to date has been on an architecture to bridge both public and private clouds, which enables realistic transition strategies.

    For example, if you can reduce your basic data centre costs to Amazon EC2 levels, it would be good to exploit these technologies with your own assets. If you require locality of data for security or latency reasons, same deal. As you suggest, one of our major goals is to be able to provision storage and some processing in the private cloud while linking to other services in the public cloud.

  5. Thanks for the long reply Stu. I like the vision you paint. I am intrigued by EDML moving towards a “hypermedia markup language”. If by “hypermedia” you mean something that provides integration (at the semantic level as well as the location/format level) between domain-specific models, then I am clapping with hands and feet. That’s what I meant when I wrote that in the best case it’s a “supple connective tissue that links stiffer domain-specific formats” (yes, that’s a weird choice of words and I too cringe when I re-read it).
    I have a backburner project to compare and contrast the different models that touch on app deployment/configuration. Including 3tera’s ADL (thanks Bert), SML/CML (or rather SML combined with what CML could turn out to be), maybe DCML, OASIS SDD (they have a public review draft out), etc. And, when you guys are comfortable sharing them, the application-centric aspects of ECML/EDML.

  6. fermin

    Maybe a stupid question, but… :)

    I understand you mean Service Modeling Language by SML and Choreography Modeling Language by CML. Right?

    Thanks!

    ——
    Fermín

    PD. Sorry for the previous wrong post (maybe a “Preview” function should be convenient).

  7. fermin

    Maybe a stupid question, but… :)

    I understand you mean Service Modeling Language by SML and Choreography Modeling Language by CML. Right?

    Thanks!

    ——
    Fermín

    PD. Sorry for the previous wrong post (maybe a “Preview” function should be convenient).

  8. Hi Fermin. By SML I meant indeed the Service Modeling Language specification now in W3C. On the other hand, for CML I wasn’t refering to the Choreography Modeling Language but to the Common Model Library: http://www.cml-project.org/2.html

  9. Pingback: tecosystems » Hey You, Standarize My Cloud