Automação de nuvem híbrida usando o Ubuntu JUJU

2

Sou administrador que ajuda a implantar serviços de nuvem em uma organização. É possível usar o Juju para implantar serviços com base em solicitações do usuário.

Por favor, responda minhas dúvidas a seguir.

  1. Os usuários usam uma interface da Web para solicitar um serviço. É possível implantar os serviços automaticamente usando o JUJU?

  2. Com base nas solicitações do usuário, podemos implantar serviços usando o JUJU. Após a implantação, queremos alocar a máquina virtual e o serviço para o usuário solicitado. Como criar um nome de usuário e senha para a máquina / serviço virtual implantado?

  3. Qual é a melhor linguagem de programação que suporta a API JUJU?

  4. Estamos planejando criar uma implantação de serviço híbrido usando o JUJU. O uso de usuários da interface da Web pode selecionar qual nuvem pública eles desejam usar para implantar os serviços. Como implantar um determinado serviço de nuvem para um provedor de serviços de nuvem pública específico?

Por favor, ajude a resolver minhas dúvidas.

    
por Nithin K Anil 22.02.2014 / 05:49

1 resposta

3

GUI Juju (fonte: lp: juju-gui ; ao vivo demonstração ) permite que você implante serviços em um ambiente Juju através de uma web navegador. É um software gratuito com licença AGPL v3 , para que você possa provavelmente bifurcá-lo e modificá-lo conforme necessário, se não atender às suas necessidades. Para usá-lo, você precisará implantá-lo em seu ambiente e expô-lo. Veja as instruções de implantação .

Se isso não for adequado ao seu propósito, você pode usar o websocket Juju e a API baseada em HTTPS diretamente (isso é o que a GUI faz do JavaScript). A documentação sobre isso não é muito polida e é mais autogerada das fontes Go. Há alguma documentação concisa para desenvolvedores em fonte juju-core .

Ainda outra opção para implantações automatizadas / com script (não baseadas na Web) com o Juju é o Juju Deployer baseado em Python.

O conceito de permissões baseadas em funções e várias contas de usuários ainda não é suportado pelo Juju, mas está planejado. Assim, o Juju não pode ajudar diretamente com o gerenciamento de contas de usuários para seus clientes, exceto, talvez, se você escrever os encantos personalizados que fornecem isso.

A Juju API funciona em um websocket com solicitações / respostas codificadas em JSON. Ele foi projetado para ser independente de idioma. Atualmente existem clientes para ele em Go, JavaScript e Python, mas não como bibliotecas independentes, mas como partes de outros produtos (juju-core, GUI e Deployer, respectivamente).

Por último, cada ambiente Juju é específico para um único provedor de nuvem. Portanto, para escolher onde implantar um serviço, você precisará gerar a configuração para a nuvem pública escolhida em environments.yaml, depois inicializá-la (por cliente) e, finalmente, implantar o (s) serviço (s). Uma ideia interessante é o provisionamento manual , que permite adicionar qualquer máquina existente a um ambiente, desde que como você pode se conectar a ele usando SSH e a máquina pode se conectar de volta ao nó do servidor de estado (e também às outras máquinas, se você estiver adicionando relações a ele).

Então, mesmo que Juju possa ajudá-lo com as implantações e a orquestração, uma boa quantidade de "cola" deve ser construída de forma personalizada para permitir esse tipo de solução hospedada que você pretende fornecer para finalizar. usuários.

    
por dimitern 23.02.2014 / 13:55