Thursday, August 27, 2009

Distributed Applications (DAs) and how to export/import them

There are many questions about how to export DA’s and carry them over to another Management Group. Also people are confused about what is carried over when exporting those DAs. So this posting will try to clear things up a little bit.

This posting won’t be about HOW to create a DA. It assumes that one already knows how to do that. If not, read some guides and then come back.

  1. Creating a DA
    For this I have chosen a blank template and added manually three components: IIS Based Website, Windows Server Computer and SQL DBs. For each component I have also added a related object: the OpsMgr Web Console website for IIS Based Website, the DC01 server for Windows Server Computer and the OperationsManager database for SQL DBs. Also I have added relationships: The Website depends on the server hosting the IIS service and the SQL database. In the DA designer it looks like this:
    image
    This DA is contained within it’s own MP, named ‘_ShowCase MP(Again I am proud about how much fantasy I use in my naming schemes...)

    Now many people might say: “Duh! Importing a DA in another Management Group (MG) is easily done. Just export the MP containing the DA and import it into the other MG!” But think about it. The objects contained within those components of the DA are unique to the MG where the DA comes from. Every object has it’s own unique GUID which really doesn’t match with the other MG. When it does, please buy a lottery ticket and become a millionaire, since that change is way much bigger! So when that MP is imported into another MG all kinds of errors will pop up. And you don’t want that… (There are multiple other reasons as well why not to do that but it would take a whole blog to explain them all so I refrain from that).

  2. Exporting a DA as a ‘Distributed Application Definition’
    That is a whole lot of words. But what does it do exactly? It exports the current DA Definition to a MP. It removes all instances so it can be imported in to another MG. Still mumbo jumbo? Well, let’s run an export of this DA as a ‘DA Definition’ and import it. In the DA Designer window go to File > Save Distributed Application Definition. When saved this message will pop-up:
    image 
    Pages 143 and 144 of the Operations Manager 2007 R2 Operations User’s Guide tell you exactly how to prepare such a file for import. Before I import that file I remove the MP containing the whole DA, ‘_ShowCase MP’. After that I prepare the export file for import as stated in the earlier mentioned guide, import it and open the DA in the Console. This is shown:
    image
    Do you see the difference? The components of the DA are shown, but the objects which were present in the DA in step 1 aren’t present. So in the other MG the correct objects can be selected and added to the related components.

  3. Exporting a DA as a ‘Template’
    It exports the current DA Definition to a Template. It will appear in the DA Designer as a available template. Let’s run an export of this DA as a ‘Template’ and import it. In the DA Designer window go to File > Save as Template. When saved the same message as in Step 2 will pop-up:
    image
    Again, the earlier mentioned pages in the earlier mentioned guide tell you how to go about it in order to import this MP into OpsMgr. Before I import that file I remove the MP containing the whole DA, ‘_ShowCase MP’. After that I prepare the export file for import, import it and open the DA Designer. This is shown:
    image

    Let’s select the highlighted template and open it in DA Designer:
    image
    Haven’t we seen this before in Step 2? :)

Rounding up:
So when a DA is designed which needs to carried over to another MG there are two ways to go about it: to export it as a Definition or as a Template. The latter is used when the DA is going to be used multiple times. Then a Template comes in handy. However, when the DA is going to be used only one time, it is better to export it as a Definition. Always make the correct choice or you end up like the driver of this truck:
image

No comments: