Se você precisar de informações de um dos seus componentes de blueprint para concluir o provisionamento de outro componente, poderá desenhar uma dependência explícita na tela de criação para escalonar o provisionamento, de modo que o componente dependente não seja provisionado prematuramente. Dependências explícitas controlam a ordem de compilação de uma implantação e sempre desencadeiam atualizações dependentes durante uma operação de dimensionamento vertical ou horizontal.

Ao projetar blueprints com várias máquinas e aplicativos, você pode ter propriedades em uma máquina necessárias para a conclusão da instalação de um aplicativo em outra máquina. Por exemplo, se estiver compilando um servidor Web, talvez você precise do nome de host do servidor de banco de dados antes de poder instalar o aplicativo e instanciar as tabelas do banco de dados. Se você mapear uma dependência explícita, o servidor de banco de dados começará o provisionamento quando o servidor Web terminar o provisionamento.

Para mapear uma dependência na sua tela de criação, você desenha uma linha do componente dependente até o componente do qual você está dependendo. Quando terminar, o componente que você deseja compilar em segundo lugar tem uma seta apontando para o componente que você deseja compilar primeiro. Por exemplo, na imagem Controlando a ordem de compilação pelo mapeamento de dependências, a máquina dependente não é provisionada até a compilação da máquina primária. Como alternativa, você pode configurar ambas as máquinas para provisionamento simultâneo, mas estabelecer uma dependência entre os componentes de software.

Figura 1. Controlando a ordem de compilação pelo mapeamento de dependências


Mapeando dependências com ordem de compilação na tela do blueprint.


Se você estiver projetando blueprints para que eles sejam dimensionáveis, uma prática recomendada é criar blueprints de camada única que não reutilizam outros blueprints. Normalmente, processos de atualização durante operações de dimensionamento são acionados por dependências implícitas, como as dependências que você cria ao associar uma propriedade de software a uma propriedade de máquina. No entanto, as dependências implícitas em um blueprint aninhado nem sempre acionam processos de atualização. Se você precisar usar blueprints aninhados em um blueprint dimensionável, poderá desenhar manualmente as dependências entre os componentes no seu blueprint aninhado para criar dependências explícitas que sempre acionam uma atualização.