Dimensionar o débito do Azure Cosmos DB com Funções do Azure acionador de Temporizador

APLICA-SE A: NoSQL

O desempenho de uma conta do Azure Cosmos DB baseia-se na quantidade de débito aprovisionado expresso em Unidades de Pedido por segundo (RU/s). O aprovisionamento está numa segunda granularidade e é faturado com base nas RU/s mais elevadas por hora. Este modelo de capacidade aprovisionada permite que o serviço forneça um débito previsível e consistente, baixa latência garantida e elevada disponibilidade. A maioria das cargas de trabalho de produção são estas funcionalidades. No entanto, em ambientes de desenvolvimento e teste em que o Azure Cosmos DB só é utilizado durante o horário de trabalho, pode aumentar verticalmente o débito de manhã e reduzir verticalmente à noite após o horário de trabalho.

Pode definir o débito através do Azure Resource Manager Templates, da CLI do Azure e do PowerShell, para a API para contas NoSQL ou através dos SDKs do Azure Cosmos DB específicos da linguagem. A vantagem de utilizar Resource Manager Modelos, a CLI do Azure ou o PowerShell é que suportam todas as APIs de modelo do Azure Cosmos DB.

Projeto de exemplo do agendador de débito

Para simplificar o processo para dimensionar o Azure Cosmos DB com base numa agenda, criámos um projeto de exemplo chamado Agendador de débito do Azure Cosmos DB. Este projeto é uma aplicação Funções do Azure com dois acionadores de temporizador: "ScaleUpTrigger" e "ScaleDownTrigger". Os acionadores executam um script do PowerShell que define o débito em cada recurso, conforme definido no ficheiro em cada acionador resources.json . O ScaleUpTrigger está configurado para ser executado às 8:00 UTC e o ScaleDownTrigger está configurado para ser executado às 18:00 UTC e estas horas podem ser facilmente atualizadas no ficheiro para cada acionador function.json .

Pode clonar este projeto localmente, modificá-lo para especificar os recursos do Azure Cosmos DB para aumentar e reduzir verticalmente e a agenda a executar. Mais tarde, pode implementá-la numa subscrição do Azure e protegê-la com a identidade de serviço gerida com permissões de controlo de acesso baseado em funções do Azure (RBAC do Azure) com a função "operador do Azure Cosmos DB" para definir o débito nas suas contas do Azure Cosmos DB.

Passos Seguintes