Blog Post

A API de gerenciamento do Windows Azure

Sign in to queue

Description

Diferentemente de aplicações locais, onde o provisionamento requer hardware e infraestrutura de rede, a implantação de um serviço na nuvem requer apenas o provisionamento do software. Em ambientes escaláveis onde empresas podem vir a provisionar vários serviços entre milhares de instâncias, você precisa de um controle maior programático no processo de provisionamento do que aquele disponível no portal de gerenciamento do Windows Azure ou Visual Studio.

Manualmente realizar o upload de pacotes de serviço e depois iniciar e parar os serviços pela interface do portal funciona bem para uma ou duas instâncias. Para serviços de larga escalabilidade, essa tarefa se torna dispendiosa e propensa a erro. A API de gerenciamento de serviço do Windows Azure, permite você programaticamente realizar a maiorias das funções de provisionamento via chamadas REST.

Utilizando a API de gerenciamento, você pode escrever scripts para o processo de provisionamento ou desprovisionamento de maneira automática.

A estrutura da API de gerenciamento de serviço

A API de gerenciamento de serviço (Service Management API) fornece a maioria das funções que você pode realizar no portal de gerenciamento com os serviços de armazenamento e serviços de hospedagem. A API do serviço de gerenciamento categoriza as operações em três seções primárias:

Contas de armazenamento (Storage accouts)

Operações nas contas de armazenamento cobrem principalmente listagem das contas e a geração da chave de acesso.

Serviços de hospedagem (Hosted services)

Operações no serviços de hospedagem cobre listar os serviços, implantar os serviços, remover os serviços, trocar (swapping) entre produção e preparo e melhoramento dos serviços.

Grupos de afinidades (Affinity groups)

As operações nos grupos de afinidades são limitadas em listar e recuperar as propriedades de um grupo de afinidade em sua assinatura.

O serviço de gerenciamento utiliza certificados cliente do tipo X.509 para autenticar as chamadas entre o servidor e o cliente.

Programando com a API de gerenciamento

Para iniciar a programar utilizando a API serviço de gerenciamento, você precisa primeiro criar um certificado válido do tipo X.509 (ou utilizar um certificado X.509 existente). Para criar um certificado você pode utilizar o utilitário makecert.exe para criar um certificado auto assinado (self-signed).

makecert.exe -r -pe -a sha1 -n "CN=Certificado de autenticação do Windows Azure" -ss My -len 2048 -sp "Microsoft Enhanced RSA and AES Cryptographic Provider" -sy 24 azureservicemanagementapi.cer

O makecert.exe está disponível no SDK do Windows, em minha máquina o local do SDK é C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin, se ao abrir o console do Windows o arquivo não estiver disponível você tem que alterar os variáveis do sistema do Windows e acrescentar o diretório.

Após gerar o certificado, você tem que adicionar o certificado para o serviço de hospedagem que você desejar. Selecione um dos serviços de hospedagem que você possui, selecione a pasta "Certificado" e clique no menu superior em "Adicionar Certificado".

 Generic Episode Image

Em seguida, selecione o arquivo de certificado criado e faça o upload.

 Generic Episode Image

 Uma vez que o certificado foi carregado, você pode realizar chamadas a API Rest do serviço de gerenciamento informando o certificado na propriedade ClientCertificate do objeto System.Net.HttpWebRequest, utilizando o exemplo csmanage.exe fornecido nos exemplos da API de gerenciamento de serviços, ou desenvolvendo a sua própria aplicação.

O projeto de exemplo para a API de gerenciamento do Windows Azure, está disponível na url: https://code.msdn.microsoft.com/windowsazure/Windows-Azure-CSManage-e3f1882c

Você pode encontrar a referência para a API de gerenciamento na biblioteca do MSDN, na seguinte URL: https://msdn.microsoft.com/pt-br/library/ee460799.aspx

Obrigado,

Vinícius.

The Discussion

Add Your 2 Cents