

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Suporte para modularidade e reutilização de código
<a name="reuse"></a>

Você pode montar um produto a partir de vários AWS recursos diferentes ou até mesmo de outros produtos. De preferência, você define os recursos de forma modular para poder reutilizá-los em vários produtos. A reutilização em nível de recurso permite que você faça quaisquer alterações futuras em um só lugar, e não em todos os produtos que usam esse tipo de recurso.

O Service Catalog fornece um recurso chamado *encadeamento* para oferecer suporte à reutilização no nível do produto. Você pode encadear um produto a um ou mais outros produtos. Por exemplo, você pode querer encadear um produto de bucket de registro em log do S3 a um produto de monitoramento de nível superior. Embora o encadeamento ofereça suporte à modularidade, ele impõe algumas complexidades operacionais porque você precisa gerenciar dependências. O Service Catalog não mantém automaticamente o versionamento entre produtos encadeados, portanto, não pode garantir que as alterações em um produto não prejudiquem outros produtos que dependem dele. Use o encadeamento com cuidado e desenvolva seus próprios mecanismos para garantir o versionamento e a manutenção de dependências.

O Service Catalog usa CloudFormation nativamente para implantar um modelo de provisionamento de produto como uma pilha. CloudFormation No entanto, o Service Catalog impõe algumas limitações na CloudFormation implantação da pilha de produtos. Em particular, o provisionamento do Service Catalog não oferece suporte à CloudFormation `include` macro para inserir segmentos de script reutilizáveis ou referenciar CloudFormation scripts aninhados (ou pilhas) em mais de um nível. Essas restrições do Service Catalog limitam a capacidade de definir produtos a partir de CloudFormation modelos ou componentes reutilizáveis, o que é uma prática recomendada padrão quando você define pilhas nativamente em. CloudFormation 

**nota**  
O Service Catalog permite que você defina com êxito produtos com modelos de provisionamento que usam essas CloudFormation construções. No entanto, você encontrará erros de tempo de provisionamento se usar a `include` macro ou agrupar vários níveis de scripts em um modelo do Service Catalog CloudFormation . 

Essas restrições podem dificultar a implementação de produtos modulares e reutilizáveis no Service Catalog. Se a modularidade for um requisito, você pode explorar o [uso do AWS CDK](options.md#cdk) para implementar seus produtos e seus modelos de provisionamento, ou pode usar os fluxos de trabalho e o mecanismo de provisionamento no [projeto AWS Labs do Service Catalog Tools](service-catalog-tools.md). As duas alternativas são descritas mais adiante neste guia.