
Estou tentando construir um aplicativo simples onde os usuários criam suas próprias instâncias (vms) e eu cobro pelo tempo de faturamento (semelhante ao DO). Meu aplicativo usa OpenStack como back-end para fazer todo o trabalho pesado.
A questão é sobre a melhor abordagem para associar usuários do meu aplicativo à minha implantação do OpenStack.
Devo mapear cada usuário em meu aplicativo para um usuário/projeto no OpenStack? devo mapear todos os usuários do meu aplicativo para um único projeto no OpenStack? qual a melhor forma de fazer isso considerando a necessidade de obter informações de uso para as instâncias cobrarem do usuário?
Responder1
Duas considerações:
Faça a si mesmo a pergunta:
seus usuários só precisam de acesso à VM e ao seu aplicativo?
E seu aplicativo fará as chamadas de API relevantes para seus usuários (como
power off
, por exemplopower on
,reboot
VM).
Então, seu aplicativo poderá ser muito mais simples, pois você só precisará manter funções e controles de acesso lá.Ou você permitirá que seus próprios usuários acessem diretamente o painel da API OpenStack/Horizonte?
Porque então um maior isolamento entre seus usuários no nível OpenStack será essencial e fornecer a cada usuário final seu próprio projeto seria a única coisa que faria sentido.
Nem toda implantação do OpenStack oferece/habilita os mesmos recursos, então primeiro explore o que é possível para você. Você pode instalar recursos? O ceilometer está disponível para você ou você precisará fazer seu próprio rastreamento de uso de recursos para ativar o faturamento?